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
  • Keduanya bisa diberi bobot berbeda

    • Perusahaan cenderung lebih peduli menghindari precision rendah daripada 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, sedangkan beta > 1 membesarkan precision sehingga bobotnya lebih kecil
  • Implementasi di sklearn: fbeta_score(y_true, y_pred, beta=beta)

    • y_true adalah target benar 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.
  • Misal ada 100 TN, serta 10 TP dan 10 FP.
fpr = 1 - 100 / (100 + 10) = 0.091
precision = tp / (tp + fp) = 0.5
  • FPR rendah bisa 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

  • Ide sama seperti sebelumnya: ada biaya c dan imbal 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...