CTR-voorspelling met beslisbomen

CTR voorspellen met Machine Learning in Python

Kevin Huo

Instructor

Beslisbomen

Voorbeeld van een beslisboom voor krediet op basis van leeftijd en studentstatus

  • Knooppunten zijn de features
  • Takken zijn de beslissingen op basis van features
  • Voorbeelden staan in de tabel hieronder:
  • Eerste splitsing op leeftijd van aanvrager
  • Voor jongeren: tweede splitsing op studentstatus
  • Model geeft heuristieken voor begrip
is_student loan
middle_aged 1
youth no 0
youth yes 1
CTR voorspellen met Machine Learning in Python

Trainen en testen van het model

  • Maak aan met: clf = DecisionTreeClassifier()
  • Net als bij logistische regressie: clf.fit(X_train, y_train) trainen en clf.predict(X_test) voor labels:

    array([0, 1, 1, ..., 1, 0, 1])
    
  • clf.predict_proba(X_test) voor kansen:

    array([0.2, 0.8], [0.4, 0.6] ..., [0.1, 0.9] [0.3, 0.7]])
    
  • Voorbeeld: willekeurig train/test splitsen met 30% testdata: train_test_split(X, y, test_size = .3, random_state = 0)

CTR voorspellen met Machine Learning in Python

Beoordeling met ROC-curve

Voorbeeld van het oppervlak onder de ROC-curve voor een classifier

  • True positive rate (Y-as) = #(positief voorspeld, echt positief) / #(positieven)
  • False positive rate (X-as) = #(positief voorspeld, echt negatief) / #(negatieven)
  • Gestippelde blauwe lijn: baseline AUC = 0,5
  • Oranje lijn (AUC) liefst zo dicht mogelijk bij 1
CTR voorspellen met Machine Learning in Python

AUC van de ROC-curve

Y_score = clf.predict_proba(X_test)
fpr, tpr, thresholds = roc_curve(Y_test, Y_score[:, 1])
  • roc_curve() input: test- en score-arrays
roc_auc = auc(fpr, tpr)
  • auc() input: false-positive en true-positive arrays

  • Is het model accuraat en is de CTR laag? Herzie dan de boodschap van de advertentie en de doelgroep

CTR voorspellen met Machine Learning in Python

Laten we oefenen!

CTR voorspellen met Machine Learning in Python

Preparing Video For Download...