वर्गीकरण: ROC और AUC

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

रिसीवर-ऑपरेटिंग चैरेक्टरिस्टिक कर्व (आरओसी)

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

आरओसी कर्व को हर संभव थ्रेशोल्ड (असल में, चुने गए इंटरवल पर) पर सच्चा पॉज़िटिव रेट (टीपीआर) और फ़ॉल्स पॉज़िटिव रेट (एफ़पीआर) का हिसाब लगाकर बनाया जाता है. इसके बाद, एफ़पीआर के ऊपर टीपीआर को ग्राफ़ किया जाता है. किसी थ्रेशोल्ड पर 1.0 का टीपीआर और 0.0 का एफ़पीआर वाला बेहतरीन मॉडल, (0, 1) पर मौजूद पॉइंट या नीचे दिए गए फ़ॉर्मूला से दिखाया जा सकता है:

इमेज 1. एफ़पीआर (x-ऐक्सिस) के मुकाबले टीपीआर (y-ऐक्सिस) का ग्राफ़, जो किसी बेहतर मॉडल की परफ़ॉर्मेंस दिखाता है: (0,1) से (1,1) तक की लाइन.
इमेज 1. काल्पनिक तरीके से बनाए गए बेहतरीन मॉडल का आरओसी और एयूसी.

कर्व के अंदर का हिस्सा (AUC)

आरओसी कर्व (AUC) के नीचे का क्षेत्र, इस बात की संभावना दिखाता है कि अगर मॉडल को यादृच्छिक रूप से चुना गया पॉज़िटिव और नेगेटिव उदाहरण दिया जाता है, तो वह पॉज़िटिव उदाहरण को नेगेटिव उदाहरण से ज़्यादा रैंक देगा.

ऊपर दिए गए सही मॉडल में, एक वर्ग है जिसकी भुजाओं की लंबाई 1 है. इसका क्षेत्रफल, कर्व के नीचे (AUC) 1.0 है. इसका मतलब है कि 100% संभावना है कि मॉडल, रैंडम तरीके से चुने गए पॉज़िटिव उदाहरण को, रैंडम तरीके से चुने गए नेगेटिव उदाहरण से ज़्यादा सही तरीके से रैंक करेगा. दूसरे शब्दों में, नीचे दिए गए डेटा पॉइंट के स्पैड को देखते हुए, AUC से यह संभावना मिलती है कि मॉडल, रैंडम तौर पर चुने गए सर्कल की दाईं ओर, रैंडम तौर पर चुना गया स्क्वेयर रखेगा. इस बात से कोई फ़र्क़ नहीं पड़ता कि थ्रेशोल्ड कहां सेट किया गया है.

स्लाइडर के बिना विजेट की डेटा लाइन

आसान शब्दों में कहें, तो स्पैम की कैटगरी तय करने वाला ऐसा मॉडल जिसका AUC 1.0 है वह किसी भी स्पैम ईमेल को, किसी भी मान्य ईमेल की तुलना में स्पैम होने की ज़्यादा संभावना देता है. हर ईमेल का असल कैटगरी, आपके चुने गए थ्रेशोल्ड पर निर्भर करता है.

बाइनरी क्लासिफ़ायर के लिए, किसी मॉडल का आरओसी (रोल आउट कॉन्फ़िडेंस) (0,0) से (1,1) तक की डायगनल लाइन होता है. यह मॉडल, रैंडम अनुमान या सिक्के के उछाल की तरह ही अच्छा परफ़ॉर्म करता है. AUC का वैल्यू 0.5 है. इसका मतलब है कि किसी रैंडम पॉज़िटिव और नेगेटिव उदाहरण को सही रैंकिंग देने की संभावना 50% है.

स्पैम क्लासिफ़ायर के उदाहरण में, AUC 0.5 वाला स्पैम क्लासिफ़ायर, किसी रैंडम स्पैम ईमेल को रैंडम मान्य ईमेल के मुकाबले, स्पैम होने की ज़्यादा संभावना सिर्फ़ आधे समय के लिए असाइन करता है.

इमेज 2. एफ़पीआर (x-ऐक्सिस) के मुकाबले टीपीआर (y-ऐक्सिस) का ग्राफ़, जो 50-50 के अनुपात में अनुमान लगाने वाले किसी व्यक्ति की परफ़ॉर्मेंस दिखाता है: यह ग्राफ़ (0,0) से (1,1) तक की डायगनल लाइन होती है.
इमेज 2. पूरी तरह से अनुमान लगाने पर आरओसी और एयूसी.

(ज़रूरी नहीं, बेहतर) सटीक-याद रखे जाने की दर का कर्व

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

प्रिसिज़न-रीकॉल कर्व का उदाहरण, जिसमें (0,1) से (1,0) तक का डाउनवर्ड कॉन्वेक्स कर्व है

मॉडल और थ्रेशोल्ड चुनने के लिए AUC और आरओसी

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

इमेज 3.a. AUC=0.65 वाले मॉडल का आरओसी/एयूसी ग्राफ़. इमेज 3.b. AUC=0.93 वाले मॉडल का आरओसी/एयूसी ग्राफ़.
तीसरी इमेज. दो काल्पनिक मॉडल के आरओसी और एयूसी. दाईं ओर मौजूद कर्व, दोनों मॉडल में से बेहतर मॉडल को दिखाता है.

आरओसी कर्व पर (0,1) के सबसे नज़दीक मौजूद पॉइंट, दिए गए मॉडल के लिए सबसे अच्छी परफ़ॉर्मेंस वाले थ्रेशोल्ड की रेंज दिखाते हैं. थ्रेशोल्ड, कन्फ़्यूज़न मैट्रिक, और मेट्रिक और ट्रेडऑफ़ की पसंद सेक्शन में बताए गए तरीके के मुताबिक, आपका चुना गया थ्रेशोल्ड इस बात पर निर्भर करता है कि किसी खास इस्तेमाल के उदाहरण के लिए कौनसी मेट्रिक सबसे ज़्यादा अहम है. नीचे दिए गए डायग्राम में, A, B, और C पॉइंट पर ध्यान दें. हर पॉइंट एक थ्रेशोल्ड दिखाता है:

इमेज 4. AUC=0.84 का आरओसी कर्व, जिसमें कर्व के उत्तल हिस्से पर (0,1) के सबसे नज़दीक तीन पॉइंट दिख रहे हैं. इन पॉइंट को क्रम से A, B, और C लेबल किया गया है.
इमेज 4. थ्रेशोल्ड दिखाने वाले तीन लेबल किए गए पॉइंट.

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

पहले देखे गए डेटा के लिए आरओसी कर्व यहां दिया गया है:

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

आम तौर पर, आरओसी कर्व ऊपर दिए गए उदाहरणों की तुलना में काफ़ी कम नियमित होते हैं. आरओसी कर्व और AUC के हिसाब से, इनमें से किस मॉडल की परफ़ॉर्मेंस सबसे अच्छी है?
आरओसी कर्व, जो ऊपर की ओर और फिर दाईं ओर (0,0) से (1,1) तक जाता है. कर्व का AUC 0.77 है.
इस मॉडल का AUC सबसे ज़्यादा है, जो सबसे अच्छी परफ़ॉर्मेंस के साथ जुड़ा है.
आरओसी कर्व,जो (0,0) से (1,1) तक करीब-करीब सीधी रेखा है. इसमें कुछ ज़िग-ज़ैग भी हैं. कर्व का AUC 0.508 है.
आरओसी कर्व, जो (0,0) से (1,1) तक ऊपर और दाईं ओर ज़िग-ज़ैग करता है.
           इस कर्व का AUC 0.623 है.
आरओसी कर्व, जो (0,0) से (1,1) तक दाईं ओर और फिर ऊपर की ओर आर्क बनाता है. कर्व का AUC 0.31 है.
इनमें से कौनसा मॉडल, चांस से भी खराब परफ़ॉर्म करता है?
आरओसी कर्व, जो (0,0) से (1,1) तक दाईं ओर और फिर ऊपर की ओर आर्क बनाता है. इस कर्व का AUC 0.32 है.
इस मॉडल का AUC 0.5 से कम है. इसका मतलब है कि यह मॉडल, रैंडम तरीके से चुने गए विकल्प से भी बदतर परफ़ॉर्म करता है.
आरओसी कर्व,जो (0,0) से (1,1) तक करीब-करीब सीधी रेखा है. इसमें कुछ ज़िग-ज़ैग भी हैं. कर्व का AUC
                    0.508 है.
यह मॉडल, चांस मॉडल की तुलना में थोड़ा बेहतर परफ़ॉर्म करता है.
आरओसी कर्व, जो (0,0) से (1,1) तक की डायगनल स्ट्रेट लाइन है. कर्व का AUC 0.5 है.
यह मॉडल, संभावना के तौर पर काम करता है.
आरओसी कर्व, दो पर्पेंडिकुलर लाइनों से बना होता है: (0,0) से (0,1) तक की वर्टिकल रेखा और (0,1) से (1,1) तक की हॉरिज़ॉन्टल रेखा.
      इस कर्व का AUC 1.0 है.
यह एक आदर्श क्लासिफ़ायर है.

(ज़रूरी नहीं, बेहतर) बोनस सवाल

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

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

AUC=0.84 का आरओसी कर्व, जो कर्व के उत्तल हिस्से पर तीन बिंदु दिखाता है. ये बिंदु (0,1) के करीब हैं. पॉइंट A, करीब
       (0.25, 0.75) पर है. पॉइंट B, करीब (0.30, 0.90) पर है. यह ऐसा पॉइंट है जहां एफ़पीआर को कम करते हुए टीपीआर को बढ़ाया जा सकता है. पॉइंट
       C, करीब (0.4, 0.95) पर है.
पॉइंट A
इस्तेमाल के इस उदाहरण में, फ़ॉल्स पॉज़िटिव को कम करना बेहतर होता है. भले ही, इससे सही नतीजों की संख्या भी कम हो जाए.
पॉइंट B
यह थ्रेशोल्ड, सही और गलत पॉज़िटिव के बीच संतुलन बनाता है.
पॉइंट C
इस थ्रेशोल्ड से, सही ईमेल को स्पैम के तौर पर फ़्लैग करने की संख्या बढ़ जाती है. हालांकि, इससे गलत ईमेल को स्पैम के तौर पर फ़्लैग करने की संख्या भी बढ़ जाती है.