Учебный проект по машинному обучению, цель которого — спрогнозировать, откроет ли клиент депозит в банке на основе его социально-демографических характеристик и данных маркетинговых кампаний.
В работе рассмотрены:
- обработка и исследование данных;
- визуализация признаков и выявление зависимостей;
- кодирование категориальных признаков;
- нормализация количественных данных;
- построение и сравнение нескольких моделей (логистическая регрессия, решающие деревья, случайный лес, градиентный бустинг, стекинг);
- оптимизация гиперпараметров с помощью GridSearch и Optuna;
- анализ важности признаков.
Project_4_ML.ipynb
— основной ноутбук с кодом и выводами.bank_fin.csv
— исходный датасет (используется для анализа и обучения моделей).requirements.txt
— список зависимостей для запуска проекта.
-
Установить зависимости:
pip install -r requirements.txt
-
Запустить Jupyter Notebook и открыть файл:
jupyter notebook Project_4_ML.ipynb
Файл bank_fin.csv
содержит данные о клиентах банка: возраст, семейное положение, образование, баланс на счету, наличие кредитов, историю участия в маркетинговых кампаниях и др.
Целевая переменная — deposit
(открыл ли клиент депозит).
- Наилучшие результаты показали модели ансамблей (случайный лес, градиентный бустинг).
- Оптимизированная модель дала accuracy ≈ 0.83, F1 ≈ 0.82.
- Ключевые признаки: длительность звонка (
duration
), успех предыдущей кампании (poutcome_success
), наличие контакта и баланс клиента.
Учебный проект выполнен в рамках курса по Машинному обучению.