Skip to content

const-a-int/Churn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Churn

Прогнозирование оттока клиентов

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

Задача бинарной классификации — предсказать, уйдет ли клиент (TARGET = 1) или останется (TARGET = 0).

Проект включает полный цикл работы с данными: предобработка, анализ, feature engineering, обучение и сравнение нескольких моделей машинного обучения.


Данные

  • train.csv — обучающая выборка (355 190 строк, 116 признаков)
  • test.csv — тестовая выборка для предсказаний

Целевая переменная: TARGET (1 — отток, 0 — клиент остался)


Этапы работы

1. Предобработка данных

  • Удаление признаков с >20% пропусков — 72 признака удалено
  • Заполнение пропусков — медианное значение для оставшихся признаков с низким процентом пропусков
  • Удаление дубликатов

2. Разведочный анализ (EDA)

  • Визуализация распределения каждого признака (6×7 графиков)
  • Анализ целевой переменной: сильный дисбаланс классов (92% — 0, 8% — 1)

3. Подготовка признаков

  • Категориальный признак PACK — one-hot encoding
  • Числовые признаки — стандартизация (StandardScaler)
  • Разделение данных — train/test 80/20 со стратификацией

4. Обучение моделей

| Naive Classifier (все 0) | Random Forest | MLPClassifier (sklearn) | Keras Sequential (с Dropout) | Pure TensorFlow (ручная реализация) | NumPy NN (ручная реализация)

5. Прогнозирование на тестовой выборке

  • Лучшая модель (MLPClassifier) применена к тестовым данным
  • Результат сохранён в predictions.csv

Выводы

  1. Сильный дисбаланс классов — наивный классификатор уже даёт 91.9% accuracy, поэтому ключевая метрика — AUC-ROC
  2. Random Forest показал лучший результат accuracy
  3. MLPClassifier (sklearn) показал AUC 0.919, что сопоставимо с кастомными реализациями
  4. Реализации нейронных сетей вручную (TensorFlow и NumPy) дали близкие результаты (~0.824 AUC)

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

  • pandas, numpy — обработка данных
  • matplotlib, seaborn — визуализация
  • scikit-learn — ML модели, предобработка, метрики
  • tensorflow, keras — нейронные сети

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors