/R-League-of-Legends-Match-Outcome-Prediction

How to use gradient boosted trees with logistic regression to predict the match outcomes of the popular online multiplayer game, League of Legends. Features are extracted from the data that Riot Games API.

Primary LanguageR

R-League-of-Legends-Match-Outcome-Prediction

How to use gradient boosted trees with logistic regression to predict the match outcomes of the popular online multiplayer game, League of Legends. Features are extracted from the data that Riot Games API.

Introduction

League of Legends is a multiplayer online battle arena (MOBA) game developed by Riot Games where players participate with four teammates in head-tohead matches and the goal is to destroy the opposing teams nexus. Each player in a match–usually lasting between twenty minutes and an hour–controls a unique champion chosen from a pool of more than a hundred with differing characteristics and abilities. The game boasts 100 million monthly players and a flourishing competitive scene with millions in tournament prize pools as well as online viewers. With such a large community behind League of Legends, predicting match outcomes for casual players and tournament games alike would be interesting and valuable to players and fans. Such a system would also provide insight into particular features that are influential in swaying win probability.

A. Game Overview

In a standard League of Legends match, two teams of five players each face off on a map called the Summoner’s Rift. Each player has a choice of playing one of 133 champions for the duration of a single match as well as customizing their initial stats and abilities by choosing two summoner spells (out of ten) and selecting sets of ”masteries” and runes which effectively cause various increases to stats like more health regeneration or bonus characteristics such as moving faster when attacking an enemy. A typical game also sees the division of players on single team into distinct roles that they play throughout the game.

B. Related Work

As League of Legends is a popular game, there are already a couple of applications that exist in the data analysis sphere. Websites like League of Graphs and MetaSrc collect basic stats and information from the League of Legends API and use it to construct simple analyses like what the most popular champion and what the win rate of two champions when played together are. What these existing applications do not currently do is prediction of a currently ongoing game with all of the features of that game in mind, and that is the hole that this project is attempting to fill.

You will find all the details of this project in the final report that I've uploaded in the repository.