Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
klassnenkiy authored Feb 16, 2023
1 parent db62532 commit c516ec4
Showing 1 changed file with 55 additions and 0 deletions.
55 changes: 55 additions & 0 deletions DS_diploma_project/README.md
Original file line number Diff line number Diff line change
@@ -1 +1,56 @@
# Задача

Оператор связи «Ниединогоразрыва.ком» хочет научиться прогнозировать отток клиентов. Если выяснится, что пользователь планирует уйти, ему будут предложены промокоды и специальные условия. Команда оператора собрала персональные данные о некоторых клиентах, информацию об их тарифах и договорах.

# Навыки и инструменты
- Pandas
- Sklearn
- Seaborn
- Lightgbm
- Matplotlib
- Numpy

# Выводы

В процессе предобработки данных:

- изменили стиль наименования столбцов
- поменяли типы данных в столбцах total_charges, begin_date и end_date
- заполнили пропуски в total_charges на montly_charges
- добавили столбец с классами для целевого признака и дюрацией

Далее объединили исходные данные, обработали пропуски. Провели исследование и общую подготовку данных.

Выяснили, что большинство ушедших клиентов

- выбирали помесячную оплату
- выбирали выставление счёта на электронную почту
- выбирали электронный чек как средство оплаты
- были как женщинами так и мужчинами
- чаще не имели супруга/партнера
- чаще использовали оптоволокно при подключении к интернету
- реже пользовались технической поддержкой

Также определили что больше всего уходят клиенты со средним чеком ~ 70-105. Чем больше дюрация сотрудничества тем меньше веротяность ухода клиента.

Далее обработали и подготовили данные для моделей. Применили скалирование для количественных признаков и OHE для категориальных.

Взяли три модели RandomForestClassifier, LGBMClassifier и CatBoostClassifier. Подобрали подобрали гиперпараметры и обучили.

По итогу, наилучший результат показала модель **CatBoostClassifier**.

Протестировали лучшую модель и расчитали метрики. **ROC-AUC=0.9249 и Accuracy=0.8790**

Наконец, провели анализ важности признаков для лучшей модели. Наиболее важные признаки - days_duration и monthly_charges

Все пункты первоначального плана были выполнены.

- Загрузка данных и их начальная предобработка (типы, пропуски, дубликаты)
- Объединение/склейка данных
- EDA - Исследовательский анализ данных (посмотреть зависимости, вузализация, выводы)
- Провести подготовку данных к моделированию (исследовать баланс классов, исключение признаков, нормализовать данные)
- Выбор моделей машинного обучения (RandomForestClassifier, LGBMClassifier и CatBoostClassifier)
- Обучение моделей
- Выбрать лучшую модель (CatBoostClassifier)
- Тестирование (ROC-AUC=0.9249 и Accuracy=0.8790)
- Общий вывод/Составление отчета

0 comments on commit c516ec4

Please sign in to comment.