The goal of this project is to predict match outcomes of European football matches more accurately than bookkeepers, thereby beating the odds and to, in the end, generate a positive return on investment. Based on the dataset provided on kaggle.com that includes basic match data, FIFA player statistics and bookkeeper data, I built a model to predict the probability of each match outcome – win, draw, or defeat.
In attempting to solve this problem, I apply feature transformation and dimensionality reduction techniques so as to increase the quality of the feature space. I compare multiple classification algorithms and choose the one that performs best on a separate test dataset. Also, I apply probability calibration methods based on isotonic regression to increase the quality of class probability estimates of my classifier. Lastly, I simulate making bets using my prediction model on the test set and observe the resulting return on investment. The optimal solution would be a classification algorithm with better performance than bookkeeper predictions and a betting strategy powered by said prediction algorithm that achieves positive returns on investment when betting on football matches.