Applying Machine Learning Techniques to Predict the Outcome of Football Matches
-Flask -pandas -numpy -selenium -IPython -sklearn -xgboost -scipy -requests -gunicorn
python3 model.py
- Includes necessary helper functions to process raw data
- This collects and adds more data to the raw data.
- current standings and goals for and against etc.
- This collects the current fixtures and match results.
- This calculates the league points and generates standings
- Scrapes the overall team data 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
- data processed from data/raw_cleaned
- 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