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

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

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

सटीक जवाब

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

स्पष्टता

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

\[\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 का नतीजा मिलेगा.

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

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

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

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

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

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

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

(ज़रूरी नहीं, बेहतर) 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}\)है
आपने एक बाइनरी क्लासिफ़ायर बनाया है, जो कीटों के ट्रैप की फ़ोटो की जांच करता है और यह पता लगाता है कि उनमें कोई खतरनाक प्रजाति मौजूद है या नहीं. अगर मॉडल को किसी प्रजाति का पता चलता है, तो ड्यूटी पर मौजूद एंटोमोलॉजिस्ट (कीटों के बारे में रिसर्च करने वाला वैज्ञानिक) को सूचना दी जाती है. इस कीड़े के हमले से बचने के लिए, गलती से मिलने वाली सूचना (गलत तरीके से फ़ोटो को कैटगरी में बांटना) को मैनेज करना आसान है: एंटोमोलॉजिस्ट को पता चलता है कि फ़ोटो को गलत कैटगरी में रखा गया है और वह उसे इस तरह से मार्क करता है. सटीक होने के स्वीकार किए जा सकने वाले लेवल को ध्यान में रखते हुए, इस मॉडल को किस मेट्रिक के लिए ऑप्टिमाइज़ किया जाना चाहिए?
रीकॉल
इस स्थिति में, गलत सूचनाएं (एफ़पी) कम लागत वाली होती हैं और गलत नतीजे (एफ़एन) बहुत ज़्यादा लागत वाले होते हैं. इसलिए, रिकॉर्ड को याद रखने या पहचान की संभावना को बढ़ाना सही होता है.
फ़ॉल्स पॉज़िटिव रेट (एफ़पीआर)
इस स्थिति में, गलत चेतावनियां (एफ़पी) कम लागत वाली होती हैं. असल फ़ायदों को छोड़कर, गड़बड़ियों को कम करने की कोशिश करना सही नहीं है.
स्पष्टता
इस स्थिति में, गलत सूचनाएं (एफ़पी) खास तौर पर नुकसान पहुंचाने वाली नहीं होतीं. इसलिए, सही कैटगरी में फ़िल्टर किए गए ईमेल की सटीकता को बेहतर बनाने की कोशिश करना फ़ायदेमंद नहीं होता.