Skip to content

Isaev-Alexander-1985/yandex_practicum_supervised_learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Проект: Обучение с учителем: качество модели

ОПИСАНИЕ ПРОЕКТА

Интернет-магазин «В один клик» продаёт разные товары: для детей, для дома, мелкую бытовую технику, косметику и даже продукты. Отчёт магазина за прошлый период показал, что активность покупателей начала снижаться. Привлекать новых клиентов уже не так эффективно: о магазине и так знает большая часть целевой аудитории. Возможный выход — удерживать активность постоянных клиентов. Сделать это можно с помощью персонализированных предложений.

«В один клик» — современная компания, поэтому её руководство не хочет принимать решения просто так — только на основе анализа данных и бизнес-моделирования.

Итак, нашему отделу поручили разработать решение, которое позволит персонализировать предложения постоянным клиентам, чтобы увеличить их покупательскую активность.

Предоставлены данные в табличной форме:

market_file.csv - содержит данные о поведении покупателя на сайте, о коммуникациях с покупателем и его продуктовом поведении.

  • id — номер покупателя в корпоративной базе данных.
  • Покупательская активность — рассчитанный класс покупательской активности (целевой признак): «снизилась» или «прежний уровень».
  • Тип сервиса — уровень сервиса, например «премиум» и «стандарт».
  • Разрешить сообщать — информация о том, можно ли присылать покупателю дополнительные предложения о товаре. Согласие на это даёт покупатель.
  • Маркет_актив_6_мес — среднемесячное значение маркетинговых коммуникаций компании, которое приходилось на покупателя за последние 6 месяцев. Это значение показывает, какое число рассылок, звонков, показов рекламы и прочего приходилось на клиента.
  • Маркет_актив_тек_мес — количество маркетинговых коммуникаций в текущем месяце.
  • Длительность — значение, которое показывает, сколько дней прошло с момента регистрации покупателя на сайте.
  • Акционные_покупки — среднемесячная доля покупок по акции от общего числа покупок за последние 6 месяцев.
  • Популярная_категория — самая популярная категория товаров у покупателя за последние 6 месяцев.
  • Средний_просмотр_категорий_за_визит — показывает, сколько в среднем категорий покупатель просмотрел за визит в течение последнего месяца. Неоплаченные_продукты_штук_квартал — общее число неоплаченных товаров в корзине за последние 3 месяца.
  • Ошибка_сервиса — число сбоев, которые коснулись покупателя во время посещения сайта.
  • Страниц_за_визит — среднее количество страниц, которые просмотрел покупатель за один визит на сайт за последние 3 месяца.

market_money.csv - с данными о выручке, которую получает магазин с покупателя, то есть сколько покупатель всего потратил за период взаимодействия с сайтом.

  • id — номер покупателя в корпоративной базе данных.
  • Период — название периода, во время которого зафиксирована выручка. Например, 'текущий_месяц' или 'предыдущий_месяц'.
  • Выручка — сумма выручки за период.

market_time.csv - с данными о времени (в минутах), которое покупатель провёл на сайте в течение периода.

  • id — номер покупателя в корпоративной базе данных.
  • Период — название периода, во время которого зафиксировано общее время.
  • минут — значение времени, проведённого на сайте, в минутах.

money.csv - с данными о среднемесячной прибыли покупателя за последние 3 месяца: какую прибыль получает магазин от продаж каждому покупателю.

  • id — номер покупателя в корпоративной базе данных.
  • Прибыль — значение прибыли.

План работ и перечень основных задач

Перед началом работы составим краткий план и перечень работ.

Шаг 1. Загрузка, изучение и предварительная обработка данных

Шаг 1. Загрузка данных:

  1. Установка пакетов и импортирование необходимых библиотек (например pandas, seaborn и matplotlib и пр...).
  2. Загрузка данных из файлов.
  3. Изучение данных.

Шаг 2. Предобработка данных

  1. Просмотр данных (методы head(), info(), describe()).
  2. Обработка пропусков (удаление или заполнение там, где это возможно).
  3. Преобразование типов данных там где это необходимо.

Шаг 3. Исследовательский анализ данных

  1. Проведение статистический анализ всех признаков каждой таблицы.
  2. Построим графики для каждого признака. Количественным и категориальным признакам подходят разные графики.
  3. Отберем клиентов с покупательской активностью не менее трёх месяцев, то есть таких, которые что-либо покупали в этот период.
  4. Сделаем выводы о данных.

Шаг 4. Объединение таблиц

  1. Объединим таблицы market_file.csv, market_money.csv, market_time.csv. Данные о прибыли из файла money.csv при моделировании нам не понадобятся.
  2. Учтем, что данные о выручке и времени на сайте находятся в одном столбце для всех периодов. В итоговой таблице сделайте отдельный столбец для каждого периода.

Шаг 5. Корреляционный анализ

  1. Изучим взаимосвязь между признаками: рассчитаем коэффициенты корреляции между всеми признаками.
  2. Построим матрицу корреляции для целевого признака и всех количественных признаков с учётом значения категориальных признаков.
  3. Сделайте выводы о мультиколлинеарности и при необходимости устраните её.

Шаг 6. Использование пайплайнов

  1. Применим все изученные модели при помощи пайплайнов.
  2. Во время подготовки данных используем ColumnTransformer. Количественные и категориальные признаки обработаем в пайплайне раздельно. Для кодирования категориальных признаков используйте как минимум два кодировщика, для масштабирования количественных — как минимум два скейлера.
  3. Обучите четыре модели: KNeighborsClassifier(), DecisionTreeClassifier(), LogisticRegression() и SVC().
  4. Выберем лучшую модель.

Шаг 7. Анализ важности признаков

  1. Оценим важность признаков для лучшей модели и построим график важности с помощью метода SHAP.
  2. Сделаем выводы о значимости признаков.

Шаг 8. Сегментация покупателей

  1. Выполним сегментацию покупателей. Используем результаты моделирования и данные о прибыльности покупателей.
  2. Выберем группу покупателей и предложим, как увеличить её покупательскую активность.
  3. Сделаем выводы о сегментах.

Шаг 9. Общий вывод

  1. Опишем задачу.
  2. Опишем исходные данные и проведённую предобработку.
  3. Напишем, что мы сделали для поиска лучшей модели.
  4. Укажем лучшую модель.
  5. Добавим выводы и дополнительные предложения для выбранного сегмента покупателей.

About

Обучение с учителем: качество модели

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors