Этот проект разработан для решения задачи классификации с использованием клиентских данных юридических лиц. Основной задачей является прогнозирование оттока клиентов из банка на основе предоставленных данных.
В проекте используются следующие библиотеки:
- 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 соответственно