मॉडल मूल्यांकन

Python में Machine Learning के साथ CTR प्रेडिक्शन

Kevin Huo

Instructor

Precision और recall

  • Precision: क्लिकों से ad spend पर ROI

    • Low precision का मतलब क्लिकों से ठोस ROI बहुत कम
  • Recall: प्रासंगिक ऑडियंस को टार्गेट करना

    • Low recall का मतलब ROI के अवसर चूकना
  • दोनों को अलग-अलग वेट देना समझदारी हो सकती है

    • कंपनियाँ आमतौर पर low recall की तुलना में low precision से बचने पर अधिक ध्यान देती हैं
Python में Machine Learning के साथ CTR प्रेडिक्शन

F-beta स्कोर

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

  • Beta coefficient: दो metrics के सापेक्ष वेटिंग को दर्शाता है

    • Beta 0 और 1 के बीच होने पर precision छोटा किया जाता है और इसलिए अधिक वेट होता है, जबकि beta > 1 पर precision बड़ा होता है और कम वेट मिलता है
  • sklearn में इम्प्लीमेंटेशन: fbeta_score(y_true, y_pred, beta=beta)

    • y_true वास्तविक टार्गेट हैं और y_pred भविष्यवाणी किए गए टार्गेट
Python में Machine Learning के साथ CTR प्रेडिक्शन

ROC कर्व का AUC बनाम precision

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

fpr = 1 - tn / (tn + fp)
precision = tp / (tp + fp)
  • Imbalanced डेटासेट: fpr low हो सकता है जब precision भी low हो।
  • मान लें हमारे पास 100 TN, और 10 TP तथा 10 FP हैं।
fpr = 1 - 100 / (100 + 10) = 0.091
precision = tp / (tp + fp) = 0.5
  • Low FPR के कारण ROC कर्व का AUC high दिख सकता है, भले ही precision low हो! इसलिए दोनों metrics के साथ F-beta score भी देखें।
Python में Machine Learning के साथ CTR प्रेडिक्शन

Ad spend पर ROI

  • पहले जैसा विचार: कुछ cost c और return r

total_return = tp * r


total_spent = (tp + fp) * cost


roi = total_return / total_spent = (tp) / (tp + fp) (r / cost) = precision (r / cost)

Python में Machine Learning के साथ CTR प्रेडिक्शन

अभ्यास करते हैं!

Python में Machine Learning के साथ CTR प्रेडिक्शन

Preparing Video For Download...