🎮 Projeto 2 – Esteira de Aprendizado de Máquina
🏆 League of Legends Diamond Ranked Games (10 min)
Projeto acadêmico em Python que constrói uma esteira completa de Machine Learning usando dados reais de partidas ranqueadas de League of Legends (elo Diamond).
O modelo analisa as estatísticas dos 10 primeiros minutos de jogo e prevê se o time azul (blue team) vai ganhar (blueWins).
✅ Descrição do Projeto
Objetivo:
Construir individualmente um notebook em Python que:
- Carregue e explore um conjunto de dados real;
- Aplique transformações em colunas e em linhas;
- Separe os dados em treino, validação e teste;
- Treine e avalie um modelo supervisionado (classificação);
- Apresente matriz de confusão e acurácia;
- Mostre o resultado de uma predição do modelo.
📦 **Base de dados: **
- Kaggle – League of Legends Diamond Ranked Games (10 min)
- Link: https://www.kaggle.com/datasets/bobbyscience/league-of-legends-diamond-ranked-games-10-min
🧠 Como o Projeto Atende às Exigências
-
Transformações em linhas:
- Remoção de partidas duplicadas usando gameId.
-
Transformações em colunas:
- Criação de métricas agregadas de objetivos:
blueObjectives = blueDragons + blueHeralds + blueTowersDestroyed
redObjectives = redDragons + redHeralds + redTowersDestroyed -
Divisão dos dados:
- 60% treino
- 20% validação
- 20% teste
- Usando train_test_split com stratify=blueWins.
-
Modelo utilizado:
- RandomForestClassifier da biblioteca Scikit-Learn.
-
Métricas apresentadas:
-
Acurácia (validação e teste)
-
Matriz de confusão
-
classification_report
-
-
Predição de exemplo:
- Exibe as features originais e a previsão final (0 = azul perde, 1 = azul ganha).
🎥 Vídeo (YouTube)
🧭 Funcionalidades do Notebook
-
📊 Exploração dos dados (head, describe, missing values).
-
🧹 Transformações em colunas e linhas.
-
✂️ Divisão em treino/validação/teste
-
🤖 Treinamento do modelo de classificação
-
📈 Avaliação completa com métricas
-
🔮 Predição final em uma partida real.
🛠️ Como Reproduzir
No GitHub, clique em Code → Download ZIP e extraia a pasta ou clone o repositório:
git clone https://github.com/AriRaine/MachineLearning_LoL.git
cd MachineLearning_LoLPython 3.10+
Pip
Jupyter Notebook
Windows (PowerShell):
python -m venv venv
.\venv\Scripts\Activate.ps1macOS / Linux:
python -m venv venv
source venv/bin/activatepip install -r requirements.txtAcesse o dataset no Kaggle: https://www.kaggle.com/datasets/bobbyscience/league-of-legends-diamond-ranked-games-10-min
Clique em Download dataset.
Extraia o ZIP e copie o arquivo .csv (high_diamond_ranked_10min.csv) para a pasta:
data/high_diamond_ranked_10min.csv
jupyter notebookNo navegador, abra o arquivo Projeto2.ipynb e execute as células na ordem.
📊 Resultados
-
Acurácia em validação: 0,7186%
-
Acurácia em teste: 0,7186%
O modelo consegue prever com consistência se o time azul vencerá, usando apenas os 10 primeiros minutos da partida.
🧰 Tecnologias Utilizadas
- Python 3
- Jupyter Notebook
- Pandas
- NumPy
- Scikit-learn
- Matplotlib
- Seaborn
