Advanced AFL Prediction Model - Python ML expert

Job ID: 38180511

Budget: $750 – $1,500 AUD

(formatted document attached)

We are looking to develop a machine learning model capable of predicting the outcomes and margins of Australian Football League (AFL) games. The model will utilise historical data of AFL games, team statistics, player statistics, and other relevant factors obtained from REST APIs to forecast the results of upcoming matches.

Objectives:
1. Data Integration: Integrate various datasets related to AFL games from REST APIs, including team statistics, player statistics, game events, weather conditions. Continuous integration to refresh and store outcomes periodically.
2. Data Preprocessing: Clean, preprocess, and normalize the data to make it suitable for training the machine learning model.
3. Model Development: Develop a multi-output machine learning model using TensorFlow/Keras that predicts:
a. Game Outcomes
i. the outcome (win/loss)
ii. margin of victory.
iii. Total game points.
b. Team Outcomes
i. First team to score (goal or behind)
c. Player outcomes
i. Goal Scorer Anytime: player likelihood to score at least one goal at any point during the game.
ii. Goal Scorer First: player likelihood to score the first goal of the game.
iii. Goal Scorer Last: player likelihood to score the last goal of the game.
iv. Total Goals: total goals for the player during the game.
v. Total Marks: total marks for the player during the game.
vi. Total Tackles: total tackles for the player during the game.
vii. Total Disposals: total disposals for the player during the game.
4. Performance Optimization: Ensure the model leverages GPU capabilities for efficient training and execution.
5. Deployment: Prepare the model for deployment using docker on runpod, ensuring it can handle real-time data inputs and provide predictions.
API Endpoints:
• Game: Endpoint to get details of past and upcoming AFL games.
• Game Events: Endpoint to fetch events (goals and behinds) occurring within games.
• Game Player Statistics: Endpoint to fetch player statistics for a particular game.
• Game Quarter: Endpoint to fetch scores for each quarter for a particular game.
• Game Team Statistics: Endpoint to fetch team statistics for a particular game
• Game Tips: Endpoint to fetch tips provided by other AI models.
• Game Weather: Endpoint to fetch weather conditions for a particular game.
• Team Statistics: Endpoint to fetch historical team statistics.
• Player Statistics: Endpoint to fetch historical player statistics.
• Game Betting Odds: Endpoint to fetch betting odds for games.
• Player Betting Odds: Endpoint to fetch betting odds for players.

Tasks:
1. API Integration:
• Develop scripts to call various REST APIs and fetch the necessary data.
• Implement error handling and retries for API calls.
• Post model outcomes back to REST API for storage.
2. Data Preprocessing:
• Merge relevant data from different API responses based on game IDs and team IDs.
• Encode categorical variables.
• Normalize numerical features.
3. Model Development:
• Define a multi-output model with TensorFlow/Keras.
• Configure the model to predict game outcomes (binary classification) and margins (regression).
4. Model Training:
• Split the data into training and validation sets.
• Train the model using GPU for efficient computation.
• Save the trained model.
5. Model Evaluation and Prediction:
• Evaluate the model's performance on validation data.
• Make predictions on new data and compare with actual outcomes.
6. Deployment Preparation:
• Package the model and relevant scripts in a Docker container.
• Prepare the container for deployment on a cloud platform like RunPod.
Required Skills:
• Proficiency in Python and machine learning libraries (TensorFlow/Keras, scikit-learn).
• Experience with REST API integration and handling JSON responses.
• Knowledge of Docker for containerization.
• Familiarity with cloud platforms and deploying machine learning models.
Deliverables:
1. Python scripts for API integration, data preprocessing, and model training.
2. Trained machine learning model capable of predicting AFL game outcomes and margins.
3. Dockerfile and instructions for containerizing the model and deploying it on a cloud platform.
4. Documentation detailing the data processing pipeline, model architecture, and deployment steps.
Related categories: Python CUDA Machine Learning (ML) Docker Tensorflow