Screen.Recording.2024-07-19.124944.mp4
his repository contains the source code and data for predicting the probability of the winner of an IPL match using machine learning models.
The IPL Win Predictor is designed to analyze historical match data and predict the outcome of future IPL matches. The project involves data preprocessing, feature engineering, model training, and evaluation. A Streamlit app is used for the front-end to interact with the model.
IPl winner Predictor Notebook.ipynb
: Jupyter Notebook containing the data analysis, preprocessing, model training, and evaluation steps.app.py
: Streamlit app for the user interface to input match details and get predictions.deliveries.csv
: Dataset containing ball-by-ball details of IPL matches.matches.csv
: Dataset containing details of IPL matches.model_new.zip
: Saved trained model for prediction.
- Imported data from
deliveries.csv
andmatches.csv
. - Merged and cleaned the datasets.
- Handled missing values.
- Encoded categorical variables.
- Extracted useful features for prediction.
- Created new features like total runs, wickets, overs, etc.
- Normalized and scaled the features for better model performance.
- Split the data into training and testing sets.
- Trained various machine learning models (e.g., Logistic Regression, Random Forest, etc.).
- Evaluated models using metrics like accuracy, precision, recall, and F1-score.
- Selected the best model based on performance metrics.
- Tuned hyperparameters for the best model.
- Created a Streamlit app (
app.py
) for easy interaction. - Loaded the trained model in the app to predict match outcomes based on user inputs.
- Clone the repository:
git clone https://github.com/shubh123a3/IPL-Win-Predictor-2024.git
- Install dependencies:
pip install -r requirements.txt
- Run the Streamlit app:
streamlit run app.py
- Integrate live data for real-time predictions.
- Improve model accuracy by including more features.
- Deploy the app on a cloud platform for wider accessibility.
Contributions are welcome! Feel free to open issues or submit pull requests.