โ† Back to Projects

Project ยท Nov 2025

League of Legends Match Outcome Prediction

This project studies how predictable a League of Legends match becomes as the game evolves. I built a machine learning pipeline around Riot API timeline data, converted raw match events into temporal player/team features, and compared sequential deep learning models against traditional ML baselines.

PythonPyTorchRiot APITime SeriesLSTMXGBoost
View GitHub โ†—

Highlights

Problem

League of Legends is a dynamic, partially observable game where early leads may or may not convert into wins. The goal was to predict match outcomes from evolving game-state data and understand how prediction confidence changes across time checkpoints.

Data and Features

I collected Riot API timeline data and converted raw event frames into a structured modeling dataset. Features capture player statistics, team-level differences, gold and XP dynamics, combat signals, vision control, map position, and objective progress.

Modeling Approach

I compared sequential models that can learn temporal game dynamics with tree-based baselines that perform well on structured tabular features. The comparison highlights where sequence modeling helps and where strong engineered features allow simpler models to remain competitive.

Results and Takeaways

Late-game models reached roughly 85% test accuracy, while earlier checkpoints were naturally harder because the game state contains less decisive information. The project showed how temporal information, leakage prevention, and careful split design are just as important as model choice.