Этот проект разработан для решения задачи классификации с использованием клиентских данных юридических лиц. Основной задачей является прогнозирование оттока клиентов из банка на основе предоставленных данных.
В проекте используются следующие библиотеки:
- pandas: для работы с данными и их анализа.
- matplotlib и seaborn: для визуализации данных.
- lightgbm: для построения модели машинного обучения.
- sklearn: для разделения данных на обучающую и валидационную выборки, а также для вычисления метрики
ROC-AUC
.
- Исходные данные загружаются из файлов
train.parquet
иtest.parquet
с использованием библиотеки pandas. Здесьtrain.parquet
содержит обучающие данные, аtest.parquet
- тестовые данные для проверки модели.
- Из обучающих данных удалены отдельные таргеты
target_1
иtarget_2
, оставив толькоtotal_target
, который представляет интерес для задачи классификации оттока. - Категориальные признаки переведены в соответствующий тип данных "категория" с использованием метода
astype
. - Также создан новый признак
max_min_end_fact_fin_deals
, представляющий собой суммуmax_end_fact_fin_deals
иmin_end_fact_fin_deals
.
Исходные данные разделены на обучающую и валидационную выборки с использованием функции train_test_split
из библиотеки sklearn. Доля валидационной выборки составляет 20%
, а для воспроизводимости результата установлен сид (seed
) в значение 42
.
Для решения задачи классификации используется модель LGBMClassifier
с оптимальными гиперпараметрами. Эта модель базируется на алгоритме градиентного бустинга и обладает высокой скоростью обучения и хорошей точностью предсказаний.
После обучения модели выполняется прогнозирование на валидационной выборке, и вычисляется метрика ROC-AUC
для оценки качества модели. ROC-AUC
(Receiver Operating Characteristic Area Under the Curve) измеряет способность модели различать между классами, где высокое значение ROC-AUC
указывает на хорошую разделяющую способность модели.
Наконец, модель используется для прогнозирования на тестовых данных, и полученные результаты записываются в файл my_submission.csv
в формате, который соответствует требованиям для соревнования или бизнес-задачи.
Этот проект обеспечивает полный цикл решения задачи классификации от предобработки данных до выгрузки результатов, и может быть легко адаптирован для различных задач и данных.
Для запуска необходимо установить Python 3. Кроме того нужно установить зависимости через команду pip install pandas matplotlib seaborn lightgbm scikit-learn
Также необходимо сохранить по пути ./datasets тренировочный и тестовые датасеты: https://disk.yandex.ru/d/NjFW1XpN_zuVgg и https://disk.yandex.ru/d/xBCzH5obmfR48A соответственно