ROC का मतलब रिसीवर ऑपरेटिंग कैरेक्टरिस्टिक कर्व है। यह एक ग्राफिकल विधि है जो क्लासिफायर की वास्तविक सकारात्मक दर और गलत सकारात्मक दर के बीच ट्रेडऑफ दिखाती है। एक ROC कर्व में, वास्तविक सकारात्मक दर (TPR) को y-अक्ष पर प्लॉट किया जाता है और गलत सकारात्मक दर (FPR) को x-अक्ष पर प्रदर्शित किया जाता है। कर्व के साथ प्रत्येक बिंदु क्लासिफायर द्वारा प्रेरित मॉडल में से एक से संबंधित होता है।
ROC कर्व के साथ कई महत्वपूर्ण बिंदु हैं जिनकी प्रसिद्ध व्याख्याएं हैं -
(TPR: 0, FPR: 0) - मॉडल हर उदाहरण को नकारात्मक कक्षा के रूप में पूर्वानुमानित करता है।
(TPR: 1, FPR: 1) - मॉडल हर उदाहरण को सकारात्मक कक्षा के रूप में पूर्वानुमानित करता है।
(TPR: 1, FPR: 0) - आदर्श मॉडल।
सबसे अच्छा वर्गीकरण मॉडल ऊपरी बाएं के जितना संभव हो उतना करीब होना चाहिए, जबकि एक मॉडल जो यादृच्छिक अनुमान लगाता है वह मुख्य विकर्ण पर रहना चाहिए, बिंदुओं (TPR: 0, FPR: 0) और (TPR: 1, FPR: 1) को जोड़ते हुए। यादृच्छिक अनुमान का अर्थ है कि एक रिकॉर्ड को एक निश्चित संभावना p के साथ सकारात्मक कक्षा के रूप में वर्गीकृत किया जाता है, इसके विशेषता सेट की परवाह किए बिना।
एक ROC कर्व खींचने के लिए, क्लासिफायर को एक सतत-मूल्यवान आउटपुट बनाने में सक्षम होना चाहिए जिसका उपयोग उसकी भविष्यवाणियों को रैंक करने के लिए किया जा सके, सबसे संभावित डेटा से जिसे सकारात्मक कक्षा के रूप में वर्गीकृत किया जाना है से कम से कम संभावित डेटा तक। ये आउटपुट बेयसियन क्लासिफायर द्वारा उत्पन्न पोस्टीरियर प्रायिकताओं या कृत्रिम तंत्रिका नेटवर्क द्वारा विकसित संख्यात्मक-मूल्यवान आउटपुट से संबंधित हो सकते हैं। निम्नलिखित प्रक्रिया का उपयोग ROC कर्व उत्पन्न करने के लिए किया जा सकता है -
यह मानते हुए कि सतत-मूल्यवान आउटपुट सकारात्मक कक्षा के लिए दर्शाए गए हैं, टेस्ट डेटा को उनके आउटपुट मूल्यों के बढ़ते क्रम में सॉर्ट करें।
सबसे कम रैंक वाले टेस्ट डेटा (यानी, सबसे कम आउटपुट मूल्य वाले डेटा) को चुनें। चयनित डेटा और उसके बाद रैंक किए गए डेटा को सकारात्मक कक्षा को असाइन करें। यह विधि सभी टेस्ट डेटा को सकारात्मक कक्षा के रूप में वर्गीकृत करने के समान है। क्योंकि सभी सकारात्मक उदाहरण सही ढंग से वर्गीकृत हैं और नकारात्मक उदाहरण गलत वर्गीकृत हैं, TPR: 1, FPR: 1।
सॉर्ट की गई सूची से अगला टेस्ट डेटा चुनें। चयनित डेटा और उसके बाद रैंक किए गए डेटा को सकारात्मक के रूप में परिभाषित करें, जबकि उसके नीचे रैंक किए गए डेटा को नकारात्मक के रूप में। TP और FP की गिनती को पहले चयनित डेटा के वास्तविक कक्षा लेबल को निर्धारित करके रीफ्रेश करें।
यदि पहले चयनित डेटा एक सकारात्मक कक्षा है, तो TP गिनती घट जाती है और FP गिनती पहले जैसी ही रहती है। यदि पूर्व चयनित डेटा एक नकारात्मक कक्षा है, तो FP गिनती घट जाती है और TP गिनती पहले जैसी ही रहती है।
चरण 3 को दोहराएं और TP और FP गिनती को तदनुसार रीफ्रेश करें जब तक कि सबसे अधिक रैंक वाला टेस्ट डेटा चुना न जाए।
क्लासिफायर के TPR को FPR के विपरीत प्लॉट करें।