CTR-prediktion med beslutsträd

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

Kevin Huo

Instructor

Beslutsträd

Exempel på beslutsträd för kreditbeslut baserat på ålder och studentstatus

  • Noder representerar särdragen
  • Grenar representerar besluten baserade på särdragen
  • Exempelutfall visas i tabellen nedan:
  • Första uppdelningen baseras på ansökarens ålder
  • För ungdomsgruppen baseras andra uppdelningen på studentstatus
  • Modellen ger heuristik för förståelse
is_student loan
middle_aged 1
youth no 0
youth yes 1
Förutsäga CTR med maskininlärning i Python

Träna och testa modellen

  • Skapa via: clf = DecisionTreeClassifier()
  • Liksom logistisk regression använder ett beslutsträd clf.fit(X_train, y_train) för träningsdata och clf.predict(X_test) för testningsetiketter:

    array([0, 1, 1, ..., 1, 0, 1])
    
  • clf.predict_proba(X_test) för sannolikhetspoäng:

    array([0.2, 0.8], [0.4, 0.6] ..., [0.1, 0.9] [0.3, 0.7]])
    
  • Exempel på slumpmässig uppdelning i tränings- och testdata, där testdata utgör 30 % av den totala urvalsstorleken: train_test_split(X, y, test_size = .3, random_state = 0)

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

Utvärdering med ROC-kurvan

Exempel på arean under ROC-kurvan för en klassificerare

  • Sant positivt urval (Y-axel) = #(klassificeraren förutsäger positivt, faktiskt positivt) / #(positiva)
  • Falskt positivt urval (X-axel) = #(klassificeraren förutsäger positivt, faktiskt negativt) / #(negativa)
  • Prickad blå linje: baslinjens AUC på 0,5
  • Den orange linjen (AUC) bör ligga så nära 1 som möjligt
Förutsäga CTR med maskininlärning i Python

AUC för ROC-kurvan

Y_score = clf.predict_proba(X_test)
fpr, tpr, thresholds = roc_curve(Y_test, Y_score[:, 1])
  • roc_curve() tar in: test- och poängarrayer
roc_auc = auc(fpr, tpr)
  • auc() tar in: arrayer för falskt positiva och sant positiva

  • Om modellen är träffsäker men CTR är låg kan det vara värt att se över hur annonsbudskapet förmedlas och vilken målgrupp det riktar sig till

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...