35 lines
2.5 KiB
Markdown
35 lines
2.5 KiB
Markdown
|
|
# Прогноз смертности персонажей «Песни льда и огня»
|
|||
|
|
|
|||
|
|
Учебный проект по бинарной классификации: модель оценивает вероятность смерти персонажа на основе его возраста, пола, популярности, принадлежности к дому, культуры и других характеристик.
|
|||
|
|
|
|||
|
|
## Структура проекта
|
|||
|
|
|
|||
|
|
- `data/character-predictions.csv` — исходные данные о персонажах;
|
|||
|
|
- `notebooks/asoiaf_mortality.ipynb` — анализ данных, подготовка признаков, обучение и сравнение моделей.
|
|||
|
|
|
|||
|
|
## Основные этапы
|
|||
|
|
|
|||
|
|
1. Загрузка данных и анализ пропусков.
|
|||
|
|
2. Создание целевой переменной `death`.
|
|||
|
|
3. Отбор признаков и исключение утечек данных.
|
|||
|
|
4. Исследование связи смертности с домом, популярностью и числом погибших родственников.
|
|||
|
|
5. Предобработка числовых и категориальных признаков.
|
|||
|
|
6. Сравнение Dummy Classifier, логистической регрессии и случайного леса.
|
|||
|
|
7. Анализ ошибок, вероятностей и важности признаков.
|
|||
|
|
|
|||
|
|
## Результаты
|
|||
|
|
|
|||
|
|
Лучший ROC AUC показал Random Forest — около **0.74**. Он также получил F1 около **0.49**. Самым важным признаком оказалась популярность персонажа, заметно меньший вклад внесли возраст, пол и количество погибших родственников.
|
|||
|
|
|
|||
|
|
Dummy-модель имеет высокую accuracy из-за преобладания живых персонажей, но не обнаруживает ни одной смерти. Это показывает, почему при несбалансированных классах важно учитывать не только accuracy, но также precision, recall, F1 и ROC AUC.
|
|||
|
|
|
|||
|
|
## Запуск
|
|||
|
|
|
|||
|
|
Для работы потребуются Python и библиотеки `pandas`, `matplotlib`, `scikit-learn`, а также Jupyter Notebook.
|
|||
|
|
|
|||
|
|
Из корня проекта запустите:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
jupyter notebook notebooks/asoiaf_mortality.ipynb
|
|||
|
|
```
|