Учебный проект, выполненный в рамках практики магистратуры ТГУ по направлению «Науки о данных и машинное обучение».
Цель — разработка модели машинного обучения для предсказания вероятности совершения пользователем целевого действия на сайте сервиса СберАвтоподписка.
Тип задачи: бинарная классификация
Метрика: ROC-AUC
- Тимлид: Гришин Сергей
- Команда:
- Вишняков Дмитрий
- Данилова Елена
- Коваленко Екатерина
- Тагильцев Кирилл
- Шерин Иван
- 1. Описательный анализ данных, портрет пользователя, посещаемость
- 2. Формирование датафрейма для обучения
- 3. Разведочный анализ данных
- 4.Pipeline обучения
- 5. Отбор признаков
- 6. Обучение нейронной сети
- 7. Тестирование API на Flask
- Дополнительно: модели
- Дополнительно: датафреймы
Разработать модель, предсказывающую вероятность того, что пользователь совершит одно из целевых действий:
- «Оставить заявку»
- «Заказать звонок»
Использованы логи пользовательской активности на сайте:
utm_*— рекламные меткиdevice_*— характеристики устройствgeo_*— геоданныеvisit_*— информация о визитеevent_*,hit_*— события на сайте
📁 Скачать данные
📄 Полное задание
- Обработка пропусков и редких категорий
- Категоризация источников трафика
- Инженерия признаков по дате и времени визита
- Кодирование категориальных признаков (
TopEncoderTransformer,MapColumnTransformer)
- Кастомные
sklearn-трансформеры ColumnTransformerсStandardScalerиOneHotEncoder- Объединение всего в единый
Pipeline
- Подбор гиперпараметров с помощью
GridSearchCV - Использованные модели:
- Logistic Regression
- Decision Tree
- Random Forest
- Extra Trees
- Gradient Boosting
- LightGBM
- XGBoost
- CatBoost
- HistGradientBoosting
- BaggingClassifier
- Метрика: ROC-AUC
- Визуализация: ROC-кривые и графики важности признаков
- Сравнение всех моделей
- Обучение простой нейронной сети
- Сохранение моделей с помощью
pickle
- Лучшие модели достигли ROC-AUC > 0.75
- Удовлетворены требования:
- Качество: ROC-AUC > 0.65
- Скорость: время предсказания ≤ 3 секунд
- Важнейшие признаки:
utm_source,device_type,geo_city, день недели и др.
- Python 3.10
- Pandas, NumPy
- Scikit-learn
- LightGBM, XGBoost, CatBoost
- Matplotlib, Seaborn
- Google Colab / Jupyter Notebook
- Pickle (сохранение моделей)
«СберАвтоподписка» — сервис долгосрочной аренды автомобилей для физических лиц.
Включает:
- Ежемесячный фиксированный платеж
- Страхование (КАСКО, ОСАГО, ДСАГО)
- ТО, ремонт, смена и хранение шин
- 24/7 поддержка
- Доп. опция: консьерж-сервис
Проект выполнен в учебных целях. Использование и распространение ограничено образовательной задачей.