Наука о данных играет важную роль в большинстве онлайн-сервисов и помогает привлечь больше клиентов и сохранить удовлетворенность существующих. Причина этого в том, что с наукой о данных вы получаете более реалистичную картину вкусов ваших потребителей в виде графиков и диаграмм, которые принимают не одну метрику, а несколько в качестве входных данных. Эта важная часть информации помогает вам формировать свои продукты и услуги, чтобы они выглядели уникальными для ваших клиентов, привлекая их на вашу платформу.
С такой компанией, как 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.
Использованная литература:
- Склерн Метрики
- Netflix Appetency — решение 1-го места
- Аппетитность Netflix — Классификация потребителей
- Netflix Appetency: Stater EDA + Model
- Базовое решение Netflix, 3-е место
Спасибо за прочтение; Скоро напишу еще подобные посты. Давайте участвовать в обсуждениях, и предложения всегда приветствуются.