क्लासिफ़िकेशन: ऐक्यूरसी, रीकॉल, सटीक, और संबंधित मेट्रिक

मॉडल का आकलन करने के लिए, कई काम की मेट्रिक का हिसाब लगाने के लिए, सच्चे और गलत पॉज़िटिव और नेगेटिव का इस्तेमाल किया जाता है. कौनसी मेट्रिक सबसे ज़्यादा काम की हैं, यह इस बात पर निर्भर करता है कि मॉडल और टास्क किस तरह का है, अलग-अलग कैटगरी में गलत तरीके से डालने की लागत क्या है, और डेटासेट बैलेंस है या नहीं.

इस सेक्शन में मौजूद सभी मेट्रिक की गिनती, एक तय थ्रेशोल्ड के आधार पर की जाती है. साथ ही, थ्रेशोल्ड में बदलाव होने पर, इन मेट्रिक में भी बदलाव होता है. अक्सर, उपयोगकर्ता इनमें से किसी एक मेट्रिक को ऑप्टिमाइज़ करने के लिए, थ्रेशोल्ड को ट्यून करता है.

सटीक जानकारी

सटीक जानकारी, सही कैटगरी के सभी आइटम का अनुपात है. भले ही, वे पॉज़िटिव हों या नेगेटिव. इसे गणितीय तौर पर इस तरह परिभाषित किया गया है:

\[\text{Accuracy} = \frac{\text{correct classifications}}{\text{total classifications}} = \frac{TP+TN}{TP+TN+FP+FN}\]

स्पैम कैटगरी के उदाहरण में, सटीक जानकारी से पता चलता है कि सभी ईमेल में से कितने ईमेल की कैटगरी सही तरीके से तय की गई है.

एक बेहतरीन मॉडल में शून्य फ़ॉल्स पॉज़िटिव और शून्य फ़ॉल्स नेगेटिव होंगे और इसलिए, 1.0 या 100% सटीक होगा.

इसमें कन्फ़्यूज़न मैट्रिक्स (टीपी, एफ़पी, टीएन, एफ़एन) के सभी चार नतीजे शामिल हैं. इसलिए, दोनों क्लास में एक जैसे उदाहरणों की संख्या के साथ एक संतुलित डेटासेट होने की वजह से, मॉडल की क्वालिटी को ज़्यादा सटीक तरीके से मापा जा सकता है. इस वजह से, यह अक्सर सामान्य या अनजान मॉडल के लिए इस्तेमाल की जाने वाली डिफ़ॉल्ट आकलन मेट्रिक होती है जिसमें सामान्य या ऐसे टास्क होते हैं जिनके बारे में नहीं बताया गया है.

हालांकि, जब डेटासेट असंतुलित हो या एक तरह की गड़बड़ी (एफ़एन या एफ़पी) दूसरी गड़बड़ी से ज़्यादा महंगी हो, तो किसी दूसरी मेट्रिक के लिए ऑप्टिमाइज़ करना बेहतर होता है. ऐसा असल दुनिया के ज़्यादातर ऐप्लिकेशन में होता है.

बहुत असंतुलित डेटासेट के लिए, जहां एक क्लास बहुत कम दिखती है, जैसे कि 1% समय, तो 100% समय के लिए नेगेटिव का अनुमान लगाने वाले मॉडल को सटीक होने के लिए 99% स्कोर मिलेगा. हालांकि, यह मॉडल काम का नहीं होगा.

रीकॉल या ट्रू पॉज़िटिव रेट

ट्रू पॉज़िटिव रेट (टीपीआर) या असल पॉज़िटिव डेटा का अनुपात, जिसे सही तरीके से पॉज़िटिव के तौर पर कैटगरी में रखा गया है. इसे रीकॉल भी कहा जाता है.

रिकॉर्ड के हिसाब से याद रखने की क्षमता को गणितीय तौर पर इस तरह से परिभाषित किया गया है:

\[\text{Recall (or TPR)} = \frac{\text{correctly classified actual positives}}{\text{all actual positives}} = \frac{TP}{TP+FN}\]

गलत नेगेटिव, असल में ऐसे पॉज़िटिव होते हैं जिन्हें गलत तरीके से नेगेटिव के तौर पर मार्क किया गया है. इसलिए, ये भाजक में दिखते हैं. स्पैम कैटगरी के उदाहरण में, रिकॉल का मतलब है कि स्पैम ईमेल में से कितने ईमेल को सही तरीके से स्पैम के तौर पर मार्क किया गया. इसलिए, रिकॉल को स्पैम का पता चलने की संभावना भी कहा जाता है: इससे इस सवाल का जवाब मिलता है कि "इस मॉडल से स्पैम ईमेल का पता किस हद तक चलता है?"

किसी काल्पनिक परफ़ेक्ट मॉडल में शून्य फ़ॉल्स नेगेटिव होगा और इसलिए 1.0 का रीकॉल (TPR) होगा, जिसका मतलब है कि 100% डिटेक्शन रेट.

ऐसे असंतुलित डेटासेट में जहां वास्तविक पॉज़िटिव की संख्या बहुत, बहुत कम होती है, मान लें कि कुल 1-2 उदाहरण, एक मेट्रिक के रूप में कम काम का और कम उपयोगी होता है.

फ़ॉल्स पॉज़िटिव रेट

फ़ॉल्स पॉज़िटिव रेट (एफ़पीआर), उन सभी असल नेगेटिव इवेंट का अनुपात होता है जिन्हें गलत तरीके से पॉज़िटिव के तौर पर मार्क किया गया था. इसे गलत चेतावनी की संभावना भी कहा जाता है. इसे गणितीय तौर पर इस तरह परिभाषित किया गया है:

\[\text{FPR} = \frac{\text{incorrectly classified actual negatives}} {\text{all actual negatives}} = \frac{FP}{FP+TN}\]

फ़ॉल्स पॉज़िटिव, असल नेगेटिव होते हैं जिन्हें गलत कैटगरी में रखा गया है. इसलिए, ये डाउनमिनर में दिखते हैं. स्पैम की कैटगरी तय करने के उदाहरण में, FPR उन सही ईमेल के हिस्से का आकलन करता है जिन्हें गलती से स्पैम की कैटगरी में रखा गया था. इसके अलावा, एफ़पीआर, गलत अलार्म के मॉडल रेट का आकलन करता है.

किसी सही मॉडल में, गलत तरीके से पॉज़िटिव नतीजे मिलने की दर शून्य होती है. इसलिए, इसकी एफ़पीआर 0.0 होती है. इसका मतलब है कि गलत चेतावनी मिलने की दर 0% होती है.

असली नेगेटिव की संख्या बहुत कम होने पर, जैसे कि कुल एक या दो उदाहरण, तो असली नेगेटिव के लिए फ़ॉल्स पॉज़िटिव रेट (एफ़पीआर) का मतलब कम होता है और यह मेट्रिक के तौर पर कम काम का होता है.

स्पष्टता

प्रिसिज़न, मॉडल की उन सभी पॉज़िटिव कैटगरी का अनुपात होता है जो असल में पॉज़िटिव होती हैं. इसे गणितीय तौर पर इस तरह परिभाषित किया गया है:

\[\text{Precision} = \frac{\text{correctly classified actual positives}} {\text{everything classified as positive}} = \frac{TP}{TP+FP}\]

स्पैम की कैटगरी तय करने के उदाहरण में, स्पैम के तौर पर मार्क किए गए ईमेल के हिस्से को सटीक तरीके से मेज़र किया जाता है.

किसी आदर्श मॉडल में, फ़ॉल्स पॉज़िटिव की संख्या शून्य होती है. इसलिए, इसकी सटीकता 1.0 होती है.

असंतुलित डेटासेट में, जहां असल पॉज़िटिव की संख्या बहुत कम होती है, जैसे कि कुल 1-2 उदाहरण, तो सटीक होने की मेट्रिक का मतलब कम होता है और यह कम काम की होती है.

सटीक नतीजे पाने के लिए, गलत सकारात्मक नतीजों की संख्या कम होनी चाहिए. साथ ही, गलत नेगेटिव नतीजों की संख्या कम होने पर, रीकॉल बेहतर होता है. हालांकि, जैसा कि पिछले सेक्शन में दिखाया गया है, कैटगरी तय करने के थ्रेशोल्ड को बढ़ाने से फ़ॉल्स पॉज़िटिव की संख्या कम हो जाती है और फ़ॉल्स नेगेटिव की संख्या बढ़ जाती है. वहीं, थ्रेशोल्ड को कम करने पर नतीजे पर बुरा असर पड़ता है. इस वजह से, सटीक जानकारी और चीज़ें याद रखने से जुड़े मामले अक्सर उलटे दिखते हैं. हालांकि, दोनों में से एक को बेहतर बनाने से दूसरा रिश्ता और भी खराब हो जाता है.

इसे खुद आज़माएं:

मेट्रिक में NaN का क्या मतलब है?

0 से भाग देने पर, NaN या "यह कोई संख्या नहीं है" दिखता है. ऐसा इनमें से किसी भी मेट्रिक के साथ हो सकता है. उदाहरण के लिए, जब TP और FP, दोनों 0 हों, तो सटीक नतीजे के फ़ॉर्मूले में, हर numerator में 0 होता है. इससे NaN मिलता है. कुछ मामलों में, NaN का मतलब बेहतरीन परफ़ॉर्मेंस से हो सकता है और इसे 1.0 के स्कोर से बदला जा सकता है. हालांकि, यह किसी ऐसे मॉडल से भी मिल सकता है जो काम का नहीं है. उदाहरण के लिए, किसी ऐसे मॉडल में 0 TP और 0 FP होंगे जो कभी भी पॉज़िटिव का अनुमान नहीं लगाता. इसलिए, इसके सटीक होने का हिसाब लगाने पर NaN दिखेगा.

मेट्रिक और समझौते की शर्तें चुनना

मॉडल का आकलन करते समय और थ्रेशोल्ड चुनते समय, जिन मेट्रिक को प्राथमिकता दी जाती है वे समस्या की कीमत, फ़ायदों, और जोखिमों पर निर्भर करते हैं. स्पैम कैटगरी के उदाहरण में, अक्सर यह तय करना ज़रूरी होता है कि ईमेल को वापस पाने या सभी स्पैम ईमेल को हटाने को प्राथमिकता दी जाए या सटीक तरीके से यह पक्का करने को कि स्पैम के तौर पर लेबल किए गए ईमेल असल में स्पैम हैं या इन दोनों में से किसी एक को प्राथमिकता दी जाए. हालांकि, यह ज़रूरी है कि इनमें से किसी भी विकल्प को चुनने से पहले, यह पक्का कर लिया जाए कि यह सटीक है.

मेट्रिक दिशा-निर्देश
सटीक जानकारी

बैलेंस किए गए डेटासेट के लिए, मॉडल की ट्रेनिंग की प्रोग्रेस/कंसीवर्जेंस के अनुमानित इंडिकेटर के तौर पर इस्तेमाल करें.

मॉडल की परफ़ॉर्मेंस के लिए, इसका इस्तेमाल सिर्फ़ अन्य मेट्रिक के साथ करें.

असंतुलित डेटासेट के लिए इस्तेमाल न करें. किसी दूसरी मेट्रिक का इस्तेमाल करें.

रीकॉल
(ट्रू पॉज़िटिव रेट)
इसका इस्तेमाल तब करें, जब गलत नतीजे मिलने की वजह से होने वाली लागत, गलत नतीजे न मिलने की वजह से होने वाली लागत से ज़्यादा हो.
फ़ॉल्स पॉज़िटिव रेट इसका इस्तेमाल तब करें, जब गलत तरीके से सही के तौर पर पहचाने जाने की लागत, गलत तरीके से गलत के तौर पर पहचाने जाने की लागत से ज़्यादा हो.
स्पष्टता इसका इस्तेमाल तब करें, जब पॉज़िटिव अनुमानों का सटीक होना बहुत ज़रूरी हो.

(ज़रूरी नहीं, ऐडवांस) F1 स्कोर

F1 स्कोर, प्रिसिज़न और रीकॉल का हार्मोनिक मीन (एक तरह का औसत) होता है.

गणित के नज़रिए से, यह इस तरीके से दिया गया है:

\[\text{F1}=2*\frac{\text{precision * recall}}{\text{precision + recall}} = \frac{2\text{TP}}{2\text{TP + FP + FN}}\]

यह मेट्रिक, सटीक और रीकॉल की अहमियत को संतुलित करती है. साथ ही, क्लास-असंतुलित डेटासेट के लिए सटीक होने की तुलना में इसे ज़्यादा सटीक बनाती है. जब सटीकता और रीकॉल, दोनों का स्कोर 1.0 हो, तो एफ़1 का स्कोर भी 1.0 होगा. आम तौर पर, जब सटीकता और रीकॉल की वैल्यू करीब-करीब होती है, तो एफ़1 की वैल्यू भी उनके करीब होती है. जब सटीकता और रीकॉल की वैल्यू काफ़ी अलग-अलग होती हैं, तो एफ़1 वैल्यू, उस मेट्रिक के जैसी होगी जो खराब है.

एक्सरसाइज़: देखें कि आपको क्या समझ आया

एक मॉडल, 5 TP, 6 TN, 3 FP, और 2 FN दिखाता है. रीकॉल का हिसाब लगाएं.
0.714
रीकॉल का हिसाब इस तरह लगाया जाता है \(\frac{TP}{TP+FN}=\frac{5}{7}\).
0.455
रीकॉल, सभी सही कैटगरी को ध्यान में रखता है, न कि सभी सही कैटगरी को. रीकॉल का फ़ॉर्मूला \(\frac{TP}{TP+FN}\)है.
0.625
रीकॉल में सभी असल पॉज़िटिव को शामिल किया जाता है, न कि सभी पॉज़िटिव के लिए तय की गई सभी कैटगरी को. रीकॉल का फ़ॉर्मूला \(\frac{TP}{TP+FN}\)है
एक मॉडल, 3 TP, 4 TN, 2 FP, और 1 FN दिखाता है. सटीक जानकारी का हिसाब लगाएं.
0.6
सटीक होने का हिसाब इस तरह लगाया जाता है \(\frac{TP}{TP+FP}=\frac{3}{5}\).
0.75
सटीक वैल्यू, सभी पॉज़िटिव कैटगरी को ध्यान में रखती है, सभी असल पॉज़िटिव डेटा को नहीं. सटीक कीवर्ड के लिए फ़ॉर्मूला \(\frac{TP}{TP+FP}\)है.
0.429
सटीकता का मतलब है कि सभी सही कैटगरी के साथ-साथ, सभी सकारात्मक कैटगरी को भी शामिल किया जाता है. सटीक वैल्यू का फ़ॉर्मूला \(\frac{TP}{TP+FP}\)है
आपने एक बाइनरी क्लासिफ़ायर बनाया है, जो कीटों के ट्रैप की फ़ोटो की जांच करता है, ताकि यह पता लगाया जा सके कि कोई खतरनाक प्रजाति मौजूद है या नहीं. अगर मॉडल को किसी प्रजाति का पता चलता है, तो कीट वैज्ञानिक (कीट वैज्ञानिक) को इसकी सूचना दी जाती है. इस कीड़े के हमले से बचने के लिए, गलती से मिलने वाले मैसेज (गलत तरीके से फ़ोटो को पहचानना) को मैनेज करना आसान है: एंटोमोलॉजिस्ट को पता चलता है कि फ़ोटो को गलत कैटगरी में रखा गया है और वह उसे इस तरह से मार्क करता है. मान लें कि सटीक होने का लेवल स्वीकार किया जा सकता है, तो इस मॉडल को किस मेट्रिक के लिए ऑप्टिमाइज़ किया जाना चाहिए?
रीकॉल
इस स्थिति में, गलत सूचनाएं (एफ़पी) कम लागत वाली होती हैं और गलत नतीजे (एफ़एन) बहुत ज़्यादा लागत वाले होते हैं. इसलिए, रिकॉर्ड को याद रखने या पहचान की संभावना को बढ़ाना सही होता है.
फ़ॉल्स पॉज़िटिव रेट (एफ़पीआर)
इस स्थिति में, फ़ॉल्स अलार्म (FP) कम लागत वाले होते हैं. अगर इस कोशिश से भी कोई फ़ायदा न हो, तो इससे कोई फ़ायदा नहीं होता.
स्पष्टता
इस स्थिति में, गलत सूचनाएं (एफ़पी) खास तौर पर नुकसान पहुंचाने वाली नहीं होतीं. इसलिए, सही कैटगरी में फ़िल्टर किए गए ईमेल की सटीकता को बेहतर बनाने की कोशिश करना फ़ायदेमंद नहीं होता.