Apply machine learning to predict English Premier League soccer match.
python3 model.py
Warning: Few python packages required to run the script. Install them all, or use a 3rd party IDE (such as spyder) that pre-installs these packages by default. Few of the packages required are:
- brew cask install chromedriver
- brew install libomp
- pip3 install xgboost
- pip3 install selenium
- Includes necessary helper functions to process raw data
- Collects and adds more details to the processed raw data
- current/past standings, goals for/against/differences, etc.
- Collects the latest match results
- Calculate league points and generate standings
- Scrape overall team stat from FIFA
- With using processed data, train a ML model to predict future results
- I/O file where the functions from the above files are actually executed
- scraped overall team stat data
- historical standing results calculated in rankings.py
- manually collected historical data of match outcomes
- latest match outcomes of the current season
- data extracted from data/raw/results
- data processed from data/cleaned/results
- data/statistics/round_rankings (directory)
- standings calculated based on the predicted match outcomes
- each file in the directory has a date included in its name. It provides predicted standing outcomes at the denoted date
- data/statistics/prediction_ranking.csv
- predicted standing at the end of the season
- data/statistics/prediction_result.csv
- individual predicted match outcomes
- data/statistics/round_rankings_summary.csv
- predicted standing summary over the course of the season
- disk cache of classifier that gives the best accuracy of prediction
- sql database that stores previous match outcomes, predicted match results and predicted standings
- csv file used for training a model and making predictions
- list of grid searched classifiers and its confidence score