Ruchita Thombare, Ayan Basu, Mitali Warty, Kumar Shivam
12/08/2021
Football is one of the most popular sports on the planet, it has been followed very closely by a large number of people. In recent years, emergence of new types of data collected from games such as play-by-play data including information on each shot or pass made in a match drove Data Science on the forefront of football.
In the race for footballing supremacy, teams are using an increasing amount of data and information to help give them an edge over the competition.
Look at the play-by-play statistics involved in a game, which helped us evaluate a team’s performance, instead of just leveraging the actual number of “goals scored” metric from prior matches.
Combine key metrics of a team like their half time scores, team’s overall offensive and defensive ratings which are updated after each game to build model predicting the outcome of future matches.
Leverage in-game statistics to provide interesting and deeper perspective rather than the goals metrics, creating an opportunity to look beyond the match result itself.
Comments received from our peer teams suggested us to explore on many aspects of the game such as -
Ideas incorporated
The primary source data from Competetion and Matches:
Dropping NA values from Team performance data to enhance our dataset.
Final dataset to be worked upon:
Data wrangling for Machine Learning
Summarizing the AutoML Results
The deep learning modeling (model m2, with some tuning) gave good results in terms of a good RMSE score. Hyper-parameter tuning gave slightly better results as compared to m2 model.
However, the results from the Auto ML were superior. The classifier is able to perfectly distinguish between the positive and negative class points perfectly.
From the Auto ML confusion matrix, the total error across each class is 0.36. The RMSE is also very good. DeepLearning_grid_2_AutoML_4_20211208_140830_model_1 has the least error per class of 0.38.
The predictors that made the impact were: hTAway, hTHome, Odds.homeWin, Odds.draw and Odds.awayWin.