Inspiration
I am a long time player of League of Legends and follower of it's esports scene.
The combination of micro decision and skill expression through fast, reactive game play and cool combos but and also big picture, strategic thinking and organized team work is what makes League of Legends a fascinating game to play and analyze.
This way the League of Legends community provides a fun and interesting environment for me to expand my knowledge of statistic and data analytics.
I chose to make an elo system since they are successfully used across many competitive sports, but also because I was aware of their general shortcomings as a predictive model and wanted to see if I could improve on this. A classification model seemed like a straightforward way to potentially improve the predictions made by an elo system.
What it does
The project ranks League of Legends teams based on a Elo system. The expected outcomes based on elo difference are weighted with the predictions of a classification model, trained on past data with the Gaussian Naive Bayes technique to increase the predictive power of the elo system as a whole.
How we built it
Developed locally with python and deployed on AWS with Chalice. Data was explored and exported using Athena. I first build a standard elo system and tuned it's k_factor parameter for maximum predictive performance. Afterwards I trained a classification model, whose predictions were ultimately implemented in the elo systems formula.
Challenges we ran into
- Large dataset with some missing data took a while to explore
- Low sample size for matches between teams of different regions
- Lots of moving parts made iterative tuning difficult ## Accomplishments that we're proud of
- Predictive model surprisingly good for relatively simple features
- Successfully combined two different types of models for common goal
- Gained confidence in my ability to wrangle and analyze data ## What we learned
- How to iteratively tune an the parameters of an elo system for predictive performance
- Predictive models are still useful in highly random environments like league
- A lot of sql and pandas
Built With
- amazon-web-services
- athena
- chalice
- lambda
- pandas
- python
- s3
- scikit-learn
Log in or sign up for Devpost to join the conversation.