Machine learning — Marwadi University

IPL Match Outcome Prediction

PythonPandasScikit-learnRandom ForestGoogle Colab
Project description

A Machine Learning coursework project (Subject 01CT1509) that predicts IPL match outcomes, built in Google Colab and backed by two datasets — 756 historical matches and over 179,000 ball-by-ball deliveries. Before modeling, a fair amount of the project went into exploratory analysis: visualizing which teams won most often and at which stadiums, how toss decisions played out, "man of the match" frequency, and win rates when batting first versus chasing.

For the prediction itself, team names and other text fields were encoded numerically with LabelEncoder, and two candidate models — Random Forest and Decision Tree — were compared using scikit-learn. Random Forest was chosen as the final classifier since it reaches strong accuracy without needing to be split across multiple models the way a single Decision Tree setup would. The trained model was then run against a held-out set of fixtures to predict winners for the IPL 2020 season.

As part of the same coursework, I also reviewed a related published paper, "Dynamic cricket match outcome prediction" (Goel et al., Journal of Sports Analytics, 2021), which predicts ball-by-ball outcomes using a much wider model comparison — Logistic Regression, SVM, boosting methods, and deep learning approaches like LSTM and GRU across different phases of an innings. Comparing that paper's approach to this project highlighted how much prediction accuracy depends on which overs of the match you're modeling, and how deep learning sequence models can edge out traditional classifiers once enough of the innings has been played.

Project resources
View project summary View research paper review View course certificate View code & datasets
Back to projects