Build a classifier to predict the outcome of Dota 2 games with the Naive Bayes algorithm and the results of 102,944 sample games.

Installs: 180

Dependents: 0

Suggesters: 0

Security: 0

Stars: 14

Watchers: 5

Forks: 2

Open Issues: 0


v5 2022-04-17 03:07 UTC

This package is auto-updated.

Last update: 2024-06-29 05:04:49 UTC


Rubix ML - Dota 2 Game Outcome Predictor

Dota 2 is a popular multiplayer online battle arena (MOBA) game that puts 10 players divided into 2 teams against each other. Each player controls a unique hero with abilities and its own set of strengths and weaknesses. Our objective is to build a classifier to predict the winning team based on hero matchup given a dataset of 102,944 individual matchups and their labeled outcomes. We'll employ the Naive Bayes algorithm as our base estimator and learn how to save the trained model for use in another process. We'll also test the model to see how well it can generalize what it has learned to new data.

  • Difficulty: Easy
  • Training time: Minutes


Clone the project locally using Composer:

$ composer create-project rubix/dota2


  • PHP 7.2 or above


  • 2G of system memory or more


On the map ...

Original Dataset

stephen.tridgell '@'


  • Dua, D. and Graff, C. (2019). UCI Machine Learning Repository []. Irvine, CA: University of California, School of Information and Computer Science.


The code is licensed MIT and the tutorial is licensed CC BY-NC 4.0.