Проект аналізує дані клієнтів для прогнозування ймовірності підвищення кредитного ліміту протягом 30 днів після оцінки.
Бізнес-завдання Визначити клієнтів, яким з високою ймовірністю підвищать ліміт, щоб оптимізувати кредитну політику та зменшити ризики.
Дані
Кредитна історія, поведінка, демографія тощо.
Формат файлу має бути - feather-файл (data/dataset.feather).
Таргет Бінарний клас: підвищення ліміту на ≥ 5000 грн (абсолютний приріст). Дисбаланс: ~2.61 % позитивного класу.
- Завантаження даних
- Оптимізація типів даних (зменшення обсягу пам'яті)
- Аудит категоріальних ознак
- Аналіз лімітів (pre vs in30d)
- Формування таргету
- Видалення leakage-колонок
- Аналіз та обробка пропусків
- Кореляційний аналіз з таргетом
- Інженерія ознак → 10 фінальних фіч
- Тренування вибраної моделі (або кількох)
- Розрахунок метрик (AUC, Gini, Precision, Recall, F1, F2)
- Пошук оптимального порогу за F2
- Precision при фіксованому Recall = 0.8
- Збереження моделі, графіків ROC/PR, порівняльної таблиці
- Створіть загальну папку
DATA SCIENCE - Скопіюйте папку з проектом
ML_models - Додайте в папку відповідний датасет
dataset.feather - Перейдіть у загальну папку
cd "/Users/.../..../DATA SCIENCE - Активуйте віртуальне середовище
source ML_models/.venv/bin/activate - Встановіть необхідні пакети ``
- Запустіть пайплайн
python -m ML_models.main - Спочатку програма оптимізує датасет для побудови моделей.
- Після чого оберіть модель:
logregxgboostlightgbmhistgbабоallщоб тренувати всі (рекомендовано)
Після виконання в папці ML_models/reports/ з'являться:
- {model_name}.pkl — збережені моделі
- {model_name}_baseline_curves.png — графіки ROC та Precision-Recall
- model_comparison.csv — порівняльна таблиця
- model_comparison.png — візуальна таблиця
- Python 3.14
- pandas, numpy, scikit-learn, logging, importlib, matplotlib, joblib
- XGBoost, LightGBM
