Model değerlendirme

Python ile Machine Learning kullanarak TOB tahmini

Kevin Huo

Instructor

Precision ve recall

  • Precision: tıklamalar üzerinden reklam harcamasında ROI

    • Düşük precision, tıklamalardan somut ROI’nin çok az olması demektir
  • Recall: ilgili kitleyi hedefleme

    • Düşük recall, ROI fırsatlarının kaçırılması demektir
  • İkisine farklı ağırlık vermek mantıklı olabilir

    • Şirketler genelde düşük recall’a kıyasla düşük precision’dan kaçınmaya daha çok önem verir
Python ile Machine Learning kullanarak TOB tahmini

F-beta skoru

$$F_\beta = (1+\beta^2)\cdot\frac{\text{precision}\cdot\text{recall}}{(\beta^2 \cdot \text{precision}) + \text{recall}}$$

  • Beta katsayısı: iki metriğin göreli ağırlığını gösterir

    • Beta 0–1 arasındaysa precision küçültülür ve daha çok ağırlıklandırılır; beta > 1 ise precision büyütülür ve daha az ağırlıklandırılır
  • sklearn uygulaması: fbeta_score(y_true, y_pred, beta=beta)

    • y_true gerçek hedefler, y_pred tahmin edilen hedeflerdir
Python ile Machine Learning kullanarak TOB tahmini

ROC eğrisi AUC’si ve precision

roc_auc = roc_auc_score(y_test, y_score[:, 1])

fpr = 1 - tn / (tn + fp)
precision = tp / (tp + fp)
  • Dengesiz veri kümesi: fpr düşükken precision da düşük olabilir.
  • 100 TN, 10 TP ve 10 FP olduğunu varsayalım.
fpr = 1 - 100 / (100 + 10) = 0.091
precision = tp / (tp + fp) = 0.5
  • Düşük FPR, precision düşük olsa bile ROC eğrisi AUC’sinin yüksek olmasına yol açabilir! Bu nedenle her iki metrik ve F-beta score birlikte değerlendirilmelidir
Python ile Machine Learning kullanarak TOB tahmini

Reklam harcamasında ROI

  • Önceki fikirle aynı: bazı maliyet c ve getiri r
total_return = tp * r
total_spent = (tp + fp) * cost
roi = total_return / total_spent 
    = (tp) / (tp + fp) * (r / cost) 
    = precision * (r / cost)
Python ile Machine Learning kullanarak TOB tahmini

Hadi pratik yapalım!

Python ile Machine Learning kullanarak TOB tahmini

Preparing Video For Download...