Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sshh12/OverwatchML

Overwatch + AI
https://github.com/sshh12/OverwatchML

ai keras machine-learning overwatch

Last synced: 6 days ago
JSON representation

Overwatch + AI

Awesome Lists containing this project

README

        

# OverwatchML

### Predicting SR

The goal of this project is to use player statistics ingame to predict their SR (Skill rating).

## App

Applying the Model

#### Tools
* [Flask](http://flask.pocoo.org/)
* [Requests](http://docs.python-requests.org/en/master/)
* [Keras](https://keras.io/)
* [Numpy](http://www.numpy.org/)
* [Sklearn](http://scikit-learn.org/stable/)

#### Install
1. Install Tools
2. ```git clone https://github.com/sshh12/OverwatchML.git```
3. Run ```python app/app.py```

## Lab

Creating/Training Models

##### Gathering Data

A simple web scraper was used to extract battletags from reddit and [overwatchtracker](https://overwatchtracker.com/leaderboards/pc/global). The battletags
were then sent through [OWAPI](https://github.com/SunDwarf/OWAPI/blob/master/api.md) to retrieve the stats
in an easy to work with json.

[View](https://github.com/sshh12/OverwatchML/blob/master/lab/OverwatchGatherData.ipynb)

##### Processing

The pretrain data processing is pretty straightforward. Various methods extract their own combination
of values from the player json to test the effect of different features.

[View](https://github.com/sshh12/OverwatchML/blob/master/lab/OverwatchProcessData.ipynb)

##### Training and Predicting

A variety of mlp models are created using [Keras](https://keras.io/) and each are trained on their own dataset created from the processing step after being scaled to the same mean and deviation.

[View](https://github.com/sshh12/OverwatchML/blob/master/lab/OverwatchPredictSR.ipynb)

After seeing this [reddit post](https://www.reddit.com/r/Overwatch/comments/6vcoex/i_used_deep_learning_to_guess_your_sr_estimate/) I tried the one-trick idea with a model trained for each hero.

[View](https://github.com/sshh12/OverwatchML/blob/master/lab/OverwatchPredictHeroSR.ipynb)