Наука о данных играет важную роль в большинстве онлайн-сервисов и помогает привлечь больше клиентов и сохранить удовлетворенность существующих. Причина этого в том, что с наукой о данных вы получаете более реалистичную картину вкусов ваших потребителей в виде графиков и диаграмм, которые принимают не одну метрику, а несколько в качестве входных данных. Эта важная часть информации помогает вам формировать свои продукты и услуги, чтобы они выглядели уникальными для ваших клиентов, привлекая их на вашу платформу.

С такой компанией, как Netflix, переполненной данными, всегда будет мудрым решением использовать эту кучу данных с пользой. Включая такие концепции, как анализ данных, машинное обучение, статистика и глубокое обучение, наука о данных может помочь Netflix и любому бизнесу расти в геометрической прогрессии независимо от сектора.

Наука о данных играет решающую роль в определении функционирования Netflix и предоставляет им новые возможности для роста.

В этой статье мы классифицируем потребителей в соответствии с их желанием подписаться на Netflix, используя набор данных Netflix Appetency от Kaggle. Учебный набор состоит из столбца идентификатора, характеристик клиентов и целевого столбца: цель.

Импорт библиотек

Загрузить набор данных

  • train.csv - обучающая выборка. он состоит из столбца идентификатора, характеристик клиентов и целевого столбца: цель.
  • test.csv - тестовый набор. он состоит из всего в train.csv, кроме цели.
  • sample_submission.csv - образец файла отправки в правильном формате target=1 означает, что клиент подписан на Netflix

Тип цели и количество

Очистка данных

Очистка данных — самая важная задача, которую должен выполнять профессионал в области обработки данных. Наличие неправильных данных или данных плохого качества может нанести ущерб процессам и анализу. Наличие чистых данных в конечном итоге повысит общую производительность и позволит вам принимать наилучшие возможные решения.

Мы отбросим функции:

  • Функции с более чем 10 % нулевых значений
  • Функции с отдельными категориальными функциями
  • Функции с отдельными значениями

Распределение лучших функций

Тепловая карта корреляции

Графическое представление корреляционной матрицы представляет корреляцию между 9 основными переменными.

Предварительная обработка

Кодировка ярлыка

Мы будем использовать кодировку меток для кодирования категориальных столбцов в наборе данных, чтобы преобразовать метки в числовые столбцы.

Обучение модели машинного обучения

XGBOOST

Мы будем использовать модель машинного обучения XGBoost для обучения нашего набора данных.

(XGBoost) — это масштабируемая и усовершенствованная версия алгоритма повышения градиента (предупреждение о терминологии), оптимизированная для повышения эффективности, скорости вычислений и производительности модели. Он является членом сообщества распределенного машинного обучения и библиотеки с открытым исходным кодом. XGBoost — это уникальная комбинация программных и аппаратных функций, предназначенная для повышения точности и скорости традиционных методов усиления.

Чтобы избежать переобучения, мы будем использовать перекрестную проверку.
Перекрестная проверка — это процесс, в котором набор тестов сохраняется для окончательной оценки, но набор проверки не требуется при выполнении CV. Базовый метод, известный как k-fold CV, делит обучающую выборку на k меньших наборов (другие подходы описаны ниже, но в целом следуют тем же принципам). Для каждой из k «складок» процедура выглядит следующим образом:
модель обучается с использованием сгибов в качестве обучающих данных, а затем модель проверяется с использованием оставшихся данных (т. е. она используется в качестве тестового набора). для вычисления показателя производительности, например точности).
Среднее значение – это показатель производительности, полученный в результате k-кратной перекрестной проверки.

Мы будем использовать StratifiedKFold, который представляет собой вариант k-fold, который возвращает стратифицированные складки: каждый набор содержит примерно такой же процент выборок каждого целевого класса, как и полный набор. Мы будем использовать стратифицированную 5-кратную перекрестную проверку.

Показателем оценки, используемым в конкурсе, является AUC (площадь под кривой). Функция оценки ROC-AUC вычисляет площадь под кривой рабочей характеристики приемника (ROC), также известную как ROC-AUC. Информация о кривой суммируется одним числом путем вычисления площади под кривой ROC.

Значение AUC находится в диапазоне от 0 до 1. AUC модели, чьи прогнозы на 100% неверны, равно 0; AUC модели, чьи предсказания верны на 100%, равна 1.

Среднее значение AUC, которое мы получаем после 5-кратной стратифицированной K-кратной перекрестной проверки в модели машинного обучения XGBoost, составляет 0,7853.

Давайте построим график важности главной функции из модели машинного обучения.

Краткое содержание

В этой статье мы обсудили Netflix Appetency, конкурс Kaggle для классификации потребителей в соответствии с их желанием подписаться на Netflix. Мы обсудили руководство для начинающих, чтобы понять постановку задачи, и обучили модель машинного обучения XGBoost для обучения набора данных. Среднее значение AUC, которое мы получили после обучения нашей модели, составляет 0,7853.

Вы можете получить доступ к полному коду здесь, в этом репозитории GitHub: Netflix Appetency Tutorial.

Использованная литература:

Спасибо за прочтение; Скоро напишу еще подобные посты. Давайте участвовать в обсуждениях, и предложения всегда приветствуются.