Đánh giá mô hình

Dự đoán CTR với Machine Learning trong Python

Kevin Huo

Instructor

Precision và recall

  • Precision: ROI cho chi tiêu quảng cáo qua lượt nhấp

    • Precision thấp → ROI hữu hình từ nhấp chuột rất ít
  • Recall: nhắm đúng đối tượng

    • Recall thấp → bỏ lỡ cơ hội ROI
  • Có thể nên gán trọng số khác nhau cho hai chỉ số

    • Doanh nghiệp thường ưu tiên tránh precision thấp hơn recall thấp
Dự đoán CTR với Machine Learning trong Python

Điểm F-beta

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

  • Hệ số beta: biểu thị trọng số tương đối của hai chỉ số

    • Beta trong (0,1): precision bị thu nhỏ nên được trọng số cao hơn; beta > 1: precision phóng đại nên được trọng số thấp hơn
  • Có sẵn trong sklearn: fbeta_score(y_true, y_pred, beta=beta)

    • y_true là nhãn thật, y_pred là nhãn dự đoán
Dự đoán CTR với Machine Learning trong Python

AUC-ROC so với precision

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

fpr = 1 - tn / (tn + fp)
precision = tp / (tp + fp)
  • Tập dữ liệu mất cân bằng: fpr có thể thấp khi precision cũng thấp.
  • Giả sử có 100 TN, và 10 TP, 10 FP.
fpr = 1 - 100 / (100 + 10) = 0.091
precision = tp / (tp + fp) = 0.5
  • FPR thấp có thể làm AUC-ROC cao dù precision thấp! Vì vậy cần xem cả hai chỉ số, cùng với F-beta score
Dự đoán CTR với Machine Learning trong Python

ROI cho chi tiêu quảng cáo

  • Ý tưởng cũ: có chi phí c và lợi nhuận r
total_return = tp * r
total_spent = (tp + fp) * cost
roi = total_return / total_spent 
    = (tp) / (tp + fp) * (r / cost) 
    = precision * (r / cost)
Dự đoán CTR với Machine Learning trong Python

Hãy luyện tập!

Dự đoán CTR với Machine Learning trong Python

Preparing Video For Download...