Inspiration

All the talk about Draft Kingdom during Worlds.

What it does

It takes two teams and based on just the champions alone, it will output a general percentage of how likely Team 1 will win against Team 2.

How I built it

Frontend:

Utilizing Nextjs as the main framework, I built using Material-UI for ready-made components with a lot of nice animations.

Backend:

We used python flask for the backend api framework and Keras for the machine learning model

Machine Learning:

The data used to train this model was the past 100 games from all Challenger players. Using the Riot API, we scrapped the game data for 100 games * 300 players = ~30000 games after filtering duplicates and non-SummenersRift games. Matches were then cleaned to represent team comp 1 vs. team comp 2 = win/loss. All matches were then passed to the model for training.

The actual model was 3 layers deep (86 input * 64 node layer * 32 node layer * 1 output)

Challenges I ran into

  1. Finding accurate and consistent data across different sites (Riot API, league wiki)
  2. Creating a way to quantify what a team comp is
  3. Wtf is a neural network????

Accomplishments that I'm proud of

This was our first machine learning project so we are proud of the progress we've made from knowing nothing and thinking that league games are always 50/50, to having something that can predict games.

What I learned

  1. How to scrape and process data from the Riot API
  2. Build and use a basic neural network for binary predictions
  3. Build a UI in less than a day

What's next for OutDrafted

Probably some polish. I (Jonathan) will probably host it on my personal website. The model can also be used to predict teams of players rather than champions. Also showing a general team playstyle like "Front to Back", "Poke", "Split Push" would be helpful in understanding why certain probabilities are generated.

Built With

Share this project:

Updates