This is a little project I decided to work on while watching the 2023 League of Legends Worlds Championship. It includes a data pipeline to train a simple predictive model for a numbers-heavy game, apply explainability methods to get insights, and finally build a web app for easy consultation of the trained model. Despite being specific to the game League of Legends (LoL), I believe this is a good example of a simple, but realistic use-case for predictive machine learning, that can also work for a variety of applications, such as other games and sports. The core tech used for this project includes Python (NumPy, scikit-learn, seaborn, SHAP and Flask), JavaScript (React) and Docker.
Right now, I've posted a work-in-progress article explaining the project on Medium. Head on over there for more details:
https://medium.com/@chiniczrebeca/practical-machine-learning-with-lol-a-simple-predictive-use-case-with-data-collection-learning-c2b6e621df66
- DataCollection: every script that was used in the process of collecting and preparing the data.
- WinModel: the python code used to train, test and analyse the model for win prediction.
- FrontWebInterface: the front-end React app for using the model to predict given a player.
- BackWebInterface: the back-end Flask API for using the model.