Прогнозирование CTR с помощью деревьев решений

Прогнозирование CTR с помощью машинного обучения на Python

Kevin Huo

Instructor

Деревья решений

Пример дерева решений для одобрения кредита по возрасту и статусу студента

  • Узлы представляют признаки
  • Ветви представляют решения на основе признаков
  • Примеры результатов показаны в таблице ниже:
  • Первое разбиение выполняется по возрасту заявителя
  • Для молодёжной группы второе разбиение — по статусу студента
  • Модель даёт эвристику для анализа
is_student loan
middle_aged 1
youth no 0
youth yes 1
Прогнозирование CTR с помощью машинного обучения на Python

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

  • Создание: clf = DecisionTreeClassifier()
  • Как и в логистической регрессии, используется clf.fit(X_train, y_train) для обучения и clf.predict(X_test) для получения меток:

    array([0, 1, 1, ..., 1, 0, 1])
    
  • clf.predict_proba(X_test) — для вероятностных оценок:

    array([0.2, 0.8], [0.4, 0.6] ..., [0.1, 0.9] [0.3, 0.7]])
    
  • Пример случайного разбиения на обучающую и тестовую выборки, где тестовая выборка составляет 30% от общего объёма: train_test_split(X, y, test_size = .3, random_state = 0)

Прогнозирование CTR с помощью машинного обучения на Python

Оценка качества с помощью ROC-кривой

Пример площади под ROC-кривой для классификатора

  • Доля истинно положительных (ось Y) = #(классификатор предсказывает «+», реально «+») / #(положительных)
  • Доля ложно положительных (ось X) = #(классификатор предсказывает «+», реально «−») / #(отрицательных)
  • Пунктирная синяя линия: базовый AUC = 0,5
  • Оранжевая линия (AUC) должна быть как можно ближе к 1
Прогнозирование CTR с помощью машинного обучения на Python

AUC ROC-кривой

Y_score = clf.predict_proba(X_test)
fpr, tpr, thresholds = roc_curve(Y_test, Y_score[:, 1])
  • Входные данные roc_curve(): массивы меток и оценок
roc_auc = auc(fpr, tpr)
  • Входные данные auc(): массивы ложно положительных и истинно положительных значений

  • Если модель точна, а CTR низкий, стоит пересмотреть подачу рекламного сообщения и целевую аудиторию

Прогнозирование CTR с помощью машинного обучения на Python

Давайте потренируемся!

Прогнозирование CTR с помощью машинного обучения на Python

Preparing Video For Download...