कोर्स
यदि आप हमारा Machine Learning Toolbox कोर्स करना चाहते हैं, तो यह रहा लिंक।
Confusion matrix की गणना करें
जैसा कि आपने वीडियो में देखा, confusion matrix किसी मॉडल के आउटपुट को कैलिब्रेट करने और आपकी भविष्यवाणियों के सभी संभावित परिणामों (true positive, true negative, false positive, false negative) की जाँच करने के लिए एक बहुत उपयोगी उपकरण है।
अपनी confusion matrix बनाने से पहले, आपको संभाव्यता-आधारित भविष्यवाणियों को एक दिए गए थ्रेशोल्ड पर "काट" कर वर्ग भविष्यवाणियों में बदलना होता है। आप यह काम आसानी से ifelse() फ़ंक्शन से कर सकते हैं, जैसे:
class_prediction <-
ifelse(probability_prediction > 0.50,
"positive_class",
"negative_class"
)
आप base R के table() फ़ंक्शन से ऐसी एक contingency तालिका बना सकते हैं, लेकिन caret में confusionMatrix() तालिका में base rates के अलावा कई उपयोगी सहायक आँकड़े भी देता है। आप भविष्यवाणी किए गए परिणामों और वास्तविक परिणामों का उपयोग करके confusion matrix (और संबद्ध आँकड़े) की गणना कर सकते हैं, उदाहरण के लिए:
confusionMatrix(predicted, actual)
निर्देश
- संख्यात्मक भविष्यवाणियों
pको 0.50 के कटऑफ का उपयोग करते हुएp_classनाम के वर्ग-भविष्यवाणियों के एक वेक्टर में बदलें। भविष्यवाणी करते समय सकारात्मक वर्ग के लिए"M"और नकारात्मक वर्ग के लिए"R"का ही उपयोग करें, ताकि मूल डेटा में मौजूद क्लासेस से मेल खाएँ। p_class,testसेट में वास्तविक मानों, औरconfusionMatrix()फ़ंक्शन का उपयोग करके एक confusion matrix बनाएं।
यदि यह समझ में आ रहा है, तो अगले अभ्यास पर बढ़ें! यदि नहीं, तो यहाँ एक ओवरव्यू वीडियो है।
Confusion Matrix पर ओवरव्यू वीडियो
संभाव्यताओं से confusion matrix तक
दूसरी ओर, मान लीजिए कि आप बिल्कुल सुनिश्चित होना चाहते हैं कि आपका मॉडल सभी माइन्स को सही ढंग से माइन के रूप में पहचानता है। ऐसे में, आप 0.90 के बजाय 0.10 का prediction threshold चुन सकते हैं।
आप अपने नई भविष्यवाणी की गई क्लासेज़ का उपयोग करते हुए, पहले की तरह ही confusion matrix बना सकते हैं:
pred <- ifelse(probability > threshold, "M", "R")
इसके बाद आप पिछले अभ्यास की तरह ही confusionMatrix() फ़ंक्शन कॉल कर सकते हैं:
confusionMatrix(pred, actual)
यदि आप इस कोर्स से और सीखना चाहते हैं, तो यह रहा लिंक।