R में f1 स्कोर की गणना कैसे करें (उदाहरण के साथ)


मशीन लर्निंग में वर्गीकरण मॉडल का उपयोग करते समय, मॉडल की गुणवत्ता का मूल्यांकन करने के लिए हम जिस सामान्य मीट्रिक का उपयोग करते हैं वह F1 स्कोर है।

इस मीट्रिक की गणना इस प्रकार की जाती है:

एफ1 स्कोर = 2 * (प्रिसिजन * रिकॉल) / (प्रिसिजन + रिकॉल)

सोना:

  • सटीकता : कुल सकारात्मक भविष्यवाणियों के सापेक्ष सकारात्मक भविष्यवाणियों को सही करें
  • अनुस्मारक : कुल वास्तविक सकारात्मकताओं के विरुद्ध सकारात्मक भविष्यवाणियों को सही करना

उदाहरण के लिए, मान लीजिए कि हम यह अनुमान लगाने के लिए एक लॉजिस्टिक रिग्रेशन मॉडल का उपयोग करते हैं कि 400 अलग-अलग कॉलेज बास्केटबॉल खिलाड़ियों को एनबीए में शामिल किया जाएगा या नहीं।

निम्नलिखित भ्रम मैट्रिक्स मॉडल द्वारा की गई भविष्यवाणियों का सारांश प्रस्तुत करता है:

यहां मॉडल के F1 स्कोर की गणना करने का तरीका बताया गया है:

सटीकता = सच्चा सकारात्मक / (सच्चा सकारात्मक + गलत सकारात्मक) = 120/ (120+70) = 0.63157

स्मरण = सच्चा सकारात्मक / (सच्चा सकारात्मक + गलत नकारात्मक) = 120 / (120+40) = 0.75

एफ1 स्कोर = 2 * (.63157 * .75) / (.63157 + .75) = . 6857

निम्नलिखित उदाहरण दिखाता है कि आर में इस सटीक मॉडल के लिए एफ1 स्कोर की गणना कैसे करें।

उदाहरण: आर में एफ1 स्कोर की गणना

निम्नलिखित कोड दिखाता है कि किसी दिए गए लॉजिस्टिक रिग्रेशन मॉडल के लिए एफ1 स्कोर (और अन्य मेट्रिक्स) की गणना करने के लिए आर में कैरेट पैकेज से कन्फ्यूजनमैट्रिक्स() फ़ंक्शन का उपयोग कैसे करें:

 library (caret)

#define vectors of actual values and predicted values
actual <- factor(rep(c(1, 0), times=c(160, 240)))
pred <- factor(rep(c(1, 0, 1, 0), times=c(120, 40, 70, 170)))

#create confusion matrix and calculate metrics related to confusion matrix
confusionMatrix(pred, actual, mode = " everything ", positive=" 1 ")

          Reference
Prediction 0 1
         0 170 40
         1 70 120
                                          
               Accuracy: 0.725           
                 95% CI: (0.6784, 0.7682)
    No Information Rate: 0.6             
    P-Value [Acc > NIR]: 1.176e-07       
                                          
                  Kappa: 0.4444          
                                          
 Mcnemar's Test P-Value: 0.005692        
                                          
            Sensitivity: 0.7500          
            Specificity: 0.7083          
         Pos Pred Value: 0.6316          
         Neg Pred Value: 0.8095          
              Accuracy: 0.6316          
                 Recall: 0.7500          
                     F1: 0.6857          
             Prevalence: 0.4000          
         Detection Rate: 0.3000          
   Detection Prevalence: 0.4750          
      Balanced Accuracy: 0.7292          
                                          
       'Positive' Class: 1

हम देखते हैं कि F1 स्कोर 0.6857 है। यह उस मूल्य से मेल खाता है जिसकी हमने पहले मैन्युअल रूप से गणना की थी।

ध्यान दें : हमें मोड = “सब कुछ” निर्दिष्ट करने की आवश्यकता है ताकि आउटपुट में एफ 1 स्कोर प्रदर्शित हो।

यदि आप कई मॉडलों की तुलना करने के लिए F1 स्कोर का उपयोग करते हैं, तो उच्चतम F1 स्कोर वाला मॉडल उस मॉडल का प्रतिनिधित्व करता है जो टिप्पणियों को कक्षाओं में वर्गीकृत करने में सबसे अच्छा सक्षम है।

उदाहरण के लिए, यदि आप किसी अन्य लॉजिस्टिक रिग्रेशन मॉडल को डेटा में फिट करते हैं और उस मॉडल का F1 स्कोर 0.85 है, तो उस मॉडल को बेहतर माना जाएगा क्योंकि उसका F1 स्कोर अधिक है।

अतिरिक्त संसाधन

आर में लॉजिस्टिक रिग्रेशन कैसे करें
F1 स्कोर बनाम सटीकता: आपको किसका उपयोग करना चाहिए?

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *