モデルの復習と比較

PythonでMachine Learningを使ってCTRを予測する

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
  • ロジスティック回帰:境界を線形に判別
  • 決定木:条件を木構造で表現
  • ランダムフォレスト:決定木のアンサンブル
  • ニューラルネット(MLP):特徴の線形結合+非線形活性化の層
PythonでMachine Learningを使ってCTRを予測する

モデルの実装

共通点
  • 特徴量変換と正則化
  • 学習:classifier.fit(X_train, y_train)
  • 予測:predict_proba()predict()
相違点
  • 決定木:max_depth, min_samples_split
  • ランダムフォレスト:n_estimators, oob_score
  • ロジスティック回帰:fit_intercept, class_weight
  • ニューラルネット:hidden_layer_sizes, max_iter
PythonでMachine Learningを使ってCTRを予測する

モデルの評価

  • 主要な評価指標:
    • 混同行列: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])
PythonでMachine Learningを使ってCTRを予測する

ニューラルネット利用の主な長所・短所

長所

  • データ拡大にスケールしやすい
  • 特徴量エンジニアリングの手間が少ない
  • 異なる領域へ転用しやすい

短所

  • 小規模データでは性能が低下しやすい
  • 解釈が難しい
  • 計算・コストが高い
PythonでMachine Learningを使ってCTRを予測する

Let's practice!

PythonでMachine Learningを使ってCTRを予測する

Preparing Video For Download...