Evaluasi model

Memprediksi CTR dengan Machine Learning di Python

Kevin Huo

Instructor

Precision dan recall

  • Precision: ROI dari belanja iklan melalui klik

    • Precision rendah berarti ROI nyata dari klik sangat kecil
  • Recall: menjangkau audiens relevan

    • Recall rendah berarti banyak peluang ROI terlewat
  • Mungkin perlu memberi bobot berbeda pada keduanya

    • Perusahaan cenderung lebih peduli menghindari precision rendah dibanding recall rendah
Memprediksi CTR dengan Machine Learning di Python

Skor F-beta

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

  • Koefisien beta: mewakili bobot relatif kedua metrik

    • Beta antara 0 dan 1 mengecilkan precision sehingga bobotnya lebih besar; beta > 1 membesarkan precision sehingga bobotnya lebih kecil
  • Implementasi tersedia di sklearn melalui: fbeta_score(y_true, y_pred, beta)

    • y_true adalah target sebenarnya dan y_pred target prediksi
Memprediksi CTR dengan Machine Learning di Python

AUC ROC vs precision

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

fpr = 1 - tn / (tn + fp)
precision = tp / (tp + fp)
  • Dataset tidak seimbang: fpr bisa rendah saat precision juga rendah.
  • Misalkan ada 100 TN, dan 10 TP serta 10 FP.
fpr = 1 - 100 / (100 + 10) = 0.091
precision = tp / (tp + fp) = 0.5
  • FPR rendah dapat menghasilkan AUC ROC tinggi meski precision rendah! Karena itu penting melihat keduanya, bersama F-beta score
Memprediksi CTR dengan Machine Learning di Python

ROI belanja iklan

  • Gagasan yang sama: ada biaya c dan hasil r
total_return = tp * r
total_spent = (tp + fp) * cost
roi = total_return / total_spent 
    = (tp) / (tp + fp) * (r / cost) 
    = precision * (r / cost)
Memprediksi CTR dengan Machine Learning di Python

Ayo berlatih!

Memprediksi CTR dengan Machine Learning di Python

Preparing Video For Download...