लॉस फंक्शंस भाग II

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

Dr. Chris Anagnostopoulos

Honorary Associate Professor

प्रायिकता स्कोर

clf = GaussianNB().fit(X_train, y_train)
scores = clf.predict_proba(X_test)
array([[3.74717371e-07, 9.99999625e-01],
       [9.99943716e-01, 5.62841678e-05],
       ...,
       [9.99937502e-01, 6.24977552e-05]])
[s[1] > 0.5 for s in scores] == clf.predict(X_test)
Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

प्रायिकता स्कोर

थ्रेशहोल्ड फॉल्स पॉज़िटिव फॉल्स नेगेटिव
0.0 178 0
0.25 66 17
0.5 35 37
0.75 13 57
1.0 0 72
Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

ROC कर्व

FPR बनाम TPR का प्लॉट ऊपर-बाएँ और ऊपर की सीमा की ओर बढ़ता कर्व दिखाता है. एक विकर्ण रेखा भी दिखाई गई है.

fpr, tpr, thres = roc_curve(
    ground_truth, 
    [s[1] for s in scores])
plt.plot(fpr, tpr)
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

जैसा पहले, FPR बनाम TPR का प्लॉट ऊपर-बाएँ और ऊपर की सीमा की ओर बढ़ता कर्व दिखाता है. एक विकर्ण रेखा भी दिखाई गई है.

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

यहाँ GaussianNB के लिए एक अतिरिक्त कर्व दिखाया गया है, जो पूरे FPR रेंज में AdaBoost से नीचे है.

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

यहाँ एक और कर्व है, रैंडम फॉरेस्ट का. छोटे FPR पर यह GaussianNB से नीचे है, पर बड़े FPR पर ऊपर.

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

AUC

clf = AdaBoostClassifier().fit(X_train, y_train)
scores_ab = clf.predict_proba(X_test)
roc_auc_score(ground_truth, [s[1] for s in scores_ab])
0.9999
Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

कास्ट मिनिमाइज़ेशन

def my_scorer(y_test, y_est, cost_fp=10.0, cost_fn=1.0):
    tn, fp, fn, tp = confusion_matrix(y_test, y_est).ravel()
    return cost_fp*fp + cost_fn*fn
t_range = [0.0, 0.25, 0.5, 0.75, 1.0]
costs = [
   my_scorer(y_test, [s[1] > thres for s in scores]) for thres in t_range
]
[94740.0, 626.0, 587.0, 507.0, 2855.0]
Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

हर यूज़ केस अलग होता है!

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

Preparing Video For Download...