Modellöversikt och jämförelse

Förutsäga CTR med maskininlärning i Python

Kevin Huo

Instructor

Modellöversikt

from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.neural_network import MLPClassifier
  • Logistisk regression: linjär klassificerare som identifierar beslutsgräns
  • Beslutsträd: trädformat av villkor
  • Random Forests: ensemble av beslutsträd
  • Neurala nätverk (MLP): lager med linjära kombinationer av särdrag och en icke-linjär aktiveringsfunktion
Förutsäga CTR med maskininlärning i Python

Modellimplementering

Likheter
  • Särdragstransformation och regularisering
  • Träning via classifier.fit(X_train, y_train)
  • Prediktioner via predict_proba() och predict()
Skillnader
  • Beslutsträd: max_depth, min_samples_split
  • Random Forests: n_estimators, oob_score
  • Logistisk regression: fit_intercept, class_weight
  • Neurala nätverk: hidden_layer_sizes, max_iter
Förutsäga CTR med maskininlärning i Python

Modellutvärdering

  • Viktiga utvärderingsmått:
    • Förväxlingsmatris: confusion_matrix(y_test, y_pred)
    • Precision: precision_score(y_test, y_pred)
    • Recall: recall_score(y_test, y_pred)
    • F-betavärde: fbeta_score(y_test, y_pred, beta = 0.5)
    • AUC för ROC-kurva: roc_auc_score(y_test, y_score[:, 1])
Förutsäga CTR med maskininlärning i Python

Neurala nätverks viktigaste för- och nackdelar

Fördelar

  • Skalbarhet med data
  • Mindre behov av särdragskonstruktion
  • Mer överförbar mellan domäner

Nackdelar

  • Mindre effektiva på mindre datamängder
  • Svåra att tolka
  • Beräkningsmässigt och ekonomiskt dyrare
Förutsäga CTR med maskininlärning i Python

Nu kör vi en övning!

Förutsäga CTR med maskininlärning i Python

Preparing Video For Download...