Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Анализ экосистемы покемонов

Роль: Аналитик данных (GameDev)
Задача: Проверить баланс экосистемы покемонов для предстоящего игрового обновления
Датасет: Pokemon with stats (721 покемон, поколения 1–6)

Open in nbviewer

Содержание


Описание проекта

Исследование направлено на анализ баланса игровой экосистемы покемонов. Проверены 4 ключевых гипотезы геймдизайна:

  1. Дисбаланс типов: Какие типы доминируют по общей силе?
  2. Легендарные vs обычные: Статистически значимо ли легендарные сильнее?
  3. Эволюция по поколениям: Есть ли «инфляция силы» (power creep)?
  4. Предсказание легендарности: Можно ли по характеристикам предсказать легендарность?

Ключевые находки

Находка Значение P-value
Дисбаланс типов: Dragon сильнее Bug на 45%
Легендарные сильнее обычных на 53% < 0.001
Двойной тип даёт преимущество +44 пункта < 0.001
Точность модели Random Forest 94% ROC-AUC = 0.970
  • Главный предиктор легендарности: атакующий потенциал (offense = attack + sp_atk)
  • Инфляции силы между поколениями нет, но 4-е поколение требует проверки (+8% к средней)

Структура репозитория

pokemon-analysis/
├── README.md                 # Описание проекта
├── requirements.txt          # Зависимости
├── .gitignore               # Исключения Git
├── data/
│   ├── pokemon_cleaned.csv  # Чистый исходный датасет
│   └── Pokemon.csv          # Исходный датасет
├── notebooks/
│   └── pokemon_analysis.ipynb   # Основной ноутбук с анализом
└── visuals/                 # Сохранённые визуализации
    ├── type_strength_boxplot.png
    ├── type_strength_barplot.png
    ├── legendary_violin.png
    ├── generation_trend.png
    ├── learning_curve_rf.png
    ├── gen_legendary_split.png
    ├── legendary_by_gen.png
    └── roc_curves.png


Установка и запуск

1. Клонирование репозитория

git clone https://github.com/ВАШ_НИК/pokemon-analysis.git
cd pokemon-analysis

2. Создание виртуального окружения

python -m venv venv

# Windows
venv\Scripts\activate

# macOS / Linux
source venv/bin/activate

3. Установка зависимостей

pip install -r requirements.txt

4. Запуск ноутбука

jupyter notebook notebooks/pokemon_analysis.ipynb

Методология

Используемые библиотеки

  • pandas, numpy — обработка данных
  • matplotlib, seaborn — визуализация
  • scipy — статистические тесты (t-test, Mann-Whitney, χ²)
  • scikit-learn — машинное обучение (Logistic Regression, Random Forest)

Статистические тесты

Тест Гипотеза Результат
Независимый T-test Легендарные > Обычные Подтверждено (p = 9.36e-47)
Независимый T-test Двойной тип > Одинарный Подтверждено (p < 0.001)
χ²-test Распределение типов по поколениям равномерно Подтверждено (p = 0.89)

Моделирование

Признаки для моделей:

  • Базовые характеристики: hp, attack, defense, sp_atk, sp_def, speed
  • Агрегаты: offense, defense_total, bulk
  • Категориальные: type_1 (One-Hot Encoding), has_second_type

Разделение: 80% train / 20% test (stratified)


Результаты моделирования

Сравнение моделей

Модель Accuracy ROC-AUC Precision (лег.) Recall (лег.)
Logistic Regression 92% 0.953 0.50 0.92
Random Forest 94% 0.970 0.64 0.69

Важность признаков (Random Forest)

Признак Важность Интерпретация
offense (attack + sp_atk) 0.187 Главный фактор — атакующий потенциал
sp_atk 0.147 Специальная атака
speed 0.128 Скорость
sp_def 0.119 Специальная защита
hp 0.092 Живучесть

Бизнес-инсайт: offense > 200 — маркер высокого риска при создании нового покемона.


Рекомендации для бизнеса

Для геймдизайнера

  1. Усилить слабые типы (Bug, Normal, Poison) — добавить уникальные способности или пересмотреть базовые характеристики
  2. Следить за offense — значение > 200 резко повышает вероятность легендарности
  3. Второй тип можно давать свободно — он практически не влияет на баланс легендарности

Для продюсера

  1. Контролировать долю легендарных — не превышать 10–12% в новых поколениях
  2. Сохранять среднюю силу — ориентир 420–440 для обычных покемонов
  3. Использовать модель RF как инструмент пре-модерации новых покемонов (порог 0.5–0.6)

Автор

Аналитик данныхЛеонид
Проект выполнен в рамках портфолио по анализу данных.


Дата: Август 2026

About

Анализ экосистемы покемонов: баланс типов, легендарность, ML-модели

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages