commit cf7d1c1421692caaa102725390a1f6c226dd66fb Author: Masha Date: Tue Sep 1 08:55:25 2026 +0300 first commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..92d984a --- /dev/null +++ b/README.md @@ -0,0 +1,34 @@ +# Прогноз смертности персонажей «Песни льда и огня» + +Учебный проект по бинарной классификации: модель оценивает вероятность смерти персонажа на основе его возраста, пола, популярности, принадлежности к дому, культуры и других характеристик. + +## Структура проекта + +- `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 +```