- 📍 Introduction
- ✨ Key Features
- 🤖 Algorithms & Models
- 🛠️ Tech Stack
- 🚀 Getting Started
- 🏃♂️ Usage
- 📄 License
Predicting Athlete Performance is an intelligent system designed to create optimal training plans for athletes. By leveraging AI search algorithms and machine learning models, this project analyzes historical performance data to generate personalized training schedules that maximize performance while minimizing fatigue and injury risk.
The core of the project is a web application that provides a user-friendly interface for athletes and coaches to input parameters and receive a tailored training plan. The system models the training process as a state-space search problem, where each state represents the athlete's condition (fatigue, injury risk, performance) and actions represent daily training activities (intensity and duration).
- Personalized Training Plans: Generates multi-day training schedules based on individual athlete data.
- Performance Optimization: Aims to maximize athlete performance over a given period.
- Injury and Fatigue Management: Adheres to configurable constraints for maximum fatigue and injury risk.
- Multiple AI Algorithms: Implements a variety of search algorithms for comparison and optimal plan generation, including:
- Uninformed Search: BFS, DFS, UCS
- Informed Search: A*, Greedy Search
- Advanced Methods: Constraint Satisfaction (CSP), Genetic Algorithms
- Web-Based Interface: An intuitive Flask-based web application for easy interaction and visualization of results.
- Data-Driven Models: Uses machine learning models trained on soccer data to predict fatigue, injury risk, and performance.
This project explores and implements several AI techniques to solve the training optimization problem:
| Algorithm/Model | File(s) |
|---|---|
| Uninformed Search | BFS_search.py, DFS_search.py, UCS_Search.py |
| Informed Search | A_star.py, greedy_search_implementation.py |
| Constraint Satisfaction | csp.py |
| Genetic Algorithm | Genetic.py, Genetic_akram.py |
| Prediction Models | predictingModels/, genetic_model/ |
- Backend: Python, Flask
- Frontend: HTML, CSS, JavaScript
- Core Libraries: Pandas, Scikit-learn, NumPy
- Visualization: Chart.jsm, Matplotlib
Follow these instructions to set up and run the project on your local machine.
Make sure you have Python and pip installed.
- Python (version 3.8 or higher recommended)
- pip (Python package installer)
-
Clone the repository:
git clone https://github.com/akrambel2115/Predicting-Athlete-Performance.git cd Predicting-Athlete-Performance -
Create and activate a virtual environment (recommended):
# For Windows python -m venv venv .\venv\Scripts\activate # For macOS/Linux python3 -m venv venv source venv/bin/activate
-
Install the required packages:
pip install -r requirements.txt
-
Navigate to the website directory:
cd Predicting-Athlete-Performance-Website -
Run the Flask application:
python app.py
-
Open your web browser and go to
http://127.0.0.1:5000to access the application.
From the web interface, you can:
- Set initial athlete parameters (fatigue, risk, performance).
- Define the training period and constraints.
- Select an AI algorithm to generate a training plan.
- View the optimized training schedule and performance projections.
This project is licensed under the MIT License. See the LICENSE file for more details.
Project Link: https://github.com/akrambel2115/Predicting-Athlete-Performance