Statuxia / alfahack

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

Этот проект разработан для решения задачи классификации с использованием клиентских данных юридических лиц. Основной задачей является прогнозирование оттока клиентов из банка на основе предоставленных данных.

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

В проекте используются следующие библиотеки:

  • 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 Score

После обучения модели выполняется прогнозирование на валидационной выборке, и вычисляется метрика 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 соответственно

About


Languages

Language:Python 100.0%