Огляд і порівняння моделей

Прогнозування CTR за допомогою машинного навчання в Python

Kevin Huo

Instructor

Огляд моделей

from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.neural_network import MLPClassifier
  • Логістична регресія: лінійний класифікатор, що визначає межу рішень
  • Дерева рішень: дерево умов
  • Random Forests: ансамбль дерев рішень
  • Нейронні мережі (MLP): шари з лінійними комбінаціями ознак і нелінійною активацією
Прогнозування CTR за допомогою машинного навчання в Python

Реалізація моделей

Спільне
  • Перетворення ознак і регуляризація
  • Навчання через classifier.fit(X_train, y_train)
  • Прогнози через predict_proba() та predict()
Відмінності
  • Дерева рішень: max_depth, min_samples_split
  • Random Forests: n_estimators, oob_score
  • Логістична регресія: fit_intercept, class_weight
  • Нейронні мережі: hidden_layer_sizes, max_iter
Прогнозування CTR за допомогою машинного навчання в Python

Оцінювання моделей

  • Ключові метрики оцінювання:
    • Матриця неточностей: confusion_matrix(y_test, y_pred)
    • Точність (precision): precision_score(y_test, y_pred)
    • Повнота (recall): recall_score(y_test, y_pred)
    • F-beta: fbeta_score(y_test, y_pred, beta = 0.5)
    • Площа під ROC-кривою (AUC): roc_auc_score(y_test, y_score[:, 1])
Прогнозування CTR за допомогою машинного навчання в Python

Основні «за» і «проти» нейронних мереж

Переваги

  • Масштабованість із даними
  • Менше потреби в інженерії ознак
  • Краще переносяться між доменами

Недоліки

  • Слабші на невеликих наборах даних
  • Складні для тлумачення
  • Обчислювально й фінансово дорожчі
Прогнозування CTR за допомогою машинного навчання в Python

Давайте потренуємось!

Прогнозування CTR за допомогою машинного навчання в Python

Preparing Video For Download...