Skip to content

sanonesan/mts_shad_ML_competition-churn-prediction

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

mts_shad_ML_competition-churn-prediction

https://www.kaggle.com/competitions/teta-mts-ml-1

Итоговый скор на private: 0.65263 (10 место)

Предобработка:

  • Для удобства переименовал фитчи.
  • Дополнительно сгенерил дополнительные фитчи: соотношения и мультипликация некоторых величин. Соотношения: сумма_пополнения_баланса\выручка_за_квартал к доходу, доход\выручка_за_квартал к частоте, сумма_пополнения_баланса к частоте_пополнения_баланса. Мультипликация: сумма_пополнения_баланса на частоту_пополнения_баланса, доход\выручка_за_квартал на частоту. (Идея соотношений: просто посмотреть на отношения данных величин, идея мультипликаций: вывести новые суммарные значения\показатели по прибыли от клиента.
  • Заполнение NaN. Считаю, что отсутствие фитчей - тоже важный показатель, так что данные с NaN оставил: пропуски в численных фитчах заполнил значениями -1000, в категориальных - "NO_DATA".
  • Произвел скейлинг численных фитчей с помощью StandardScaler() и кодирование категориальных с помощью OneHotEncoder(). После кодирования категориальных фитчей пришлось обработать названия колонок в таблице (избавиться от лишних символов в названиях).

Обучение моделей: Попробовал различные бустинги: LightGBM, CatBoost, XGBoost (без подбора параметров они выдавали скор ~0.6). Сначала для каждого пробовал руками подбирать параметры, вдруг прокатит - прокатило: с первой попытки в public побил baseline_boosting. После уже с помощью optuna тюнил параметры. Единственный параметр, который я подобрал руками и не менял во всех моделях (точнее, пробовал менять, но было значительно хуже), - это "scale_pos_weight": 1.9. Остальные уже искал optunа'ой, задавая поиск параметров в пределах, которые мне казались наилучшими (основываясь на том, что смог руками подобрать). Далее ансамблирование моделей: пробовал Voting и Stacking, результаты были примерно одинаковые, решил оставить VotingClassifier. Для улучшения скора возможно попробовать добавить к финальному ансамблю lightautoml и knn, либо алгоритмы схожие с ним.

About

Churn prediction, competition (HW1) teta.mts 2023-2024, block: ML

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published