एक मल्टीकासल वर्गीकरण सेटिंग में माइक्रो औसत बनाम मैक्रो औसत प्रदर्शन


102

मैं 3 वर्गों के साथ एक मल्टीस्केलर वर्गीकरण सेटिंग की कोशिश कर रहा हूं। 3 में से 1 कक्षा में गिरने वाले अधिकांश डेटा के साथ वर्ग वितरण तिरछा है। (वर्ग लेबल 1,2,3 रहा, जिसमें 67.28% डेटा कक्षा लेबल 1, 11.99% डेटा कक्षा 2 में और कक्षा 3 में शेष है)

मैं इस डेटासेट पर एक मल्टीस्कूलर क्लासिफायर का प्रशिक्षण ले रहा हूं और मुझे निम्नलिखित प्रदर्शन मिल रहा है:

                    Precision           Recall           F1-Score
Micro Average       0.731               0.731            0.731
Macro Average       0.679               0.529            0.565

मुझे यकीन नहीं है कि सभी माइक्रो एवीजी क्यों हैं। प्रदर्शन बराबर हैं और मैक्रो औसत प्रदर्शन भी इतने कम क्यों हैं।


1
क्या आप औसत से पहले अलग-अलग सही सकारात्मक आदि को नहीं देख सकते हैं? भी, मैक्रो औसत सूक्ष्म औसत की तुलना में कम हो जाते हैं
oW_

क्या माइक्रो और मैक्रो एफ-उपाय पाठ वर्गीकरण या पुनर्प्राप्ति के लिए विशिष्ट हैं, या उनका उपयोग किसी भी मान्यता या वर्गीकरण समस्या के लिए किया जा सकता है ..... यदि ऐसा है तो जहां हम प्रत्येक या किसी अन्य
प्रतिफल

1
क्या माइक्रो औसत परिशुद्धता डेटा सेट की सटीकता के समान नहीं है? जो मैं समझता हूं, माइक्रो एवरेज प्रिसिजन के लिए, आप सभी वास्तविक सकारात्मकता की राशि की गणना करते हैं और इसे सभी वास्तविक सकारात्मकता के योग और सभी झूठी सकारात्मक के योग से विभाजित करते हैं। इसलिए मूल रूप से आप कुल अनुमानित संख्याओं द्वारा सही पहचानी गई भविष्यवाणियों की संख्या को विभाजित करते हैं। सटीकता गणना से कोई अलग कहां है? हमें एक नए विशेष सटीक शब्द की आवश्यकता क्यों है जो चीजों को सटीकता मूल्य पर बस चिपके रहने के बजाय अधिक जटिल बनाता है? कृपया मुझे गलत साबित करें ताकि मैं शांति से सो सकूं।
निको ज़ेटलर

1
@NicoZettler आप सही हैं। सूक्ष्म औसत सटीकता और सूक्ष्म औसत याद दोनों सटीकता के बराबर हैं जब प्रत्येक डेटा बिंदु बिल्कुल एक वर्ग को सौंपा जाता है। जब आपके दूसरे प्रश्न के रूप में, सूक्ष्म-औसत मेट्रिक्स समग्र सटीकता से भिन्न होते हैं जब वर्गीकरण बहु-लेबल होते हैं (प्रत्येक डेटा बिंदु को एक से अधिक लेबल सौंपा जा सकता है) और / या जब कुछ वर्गों को बहु-श्रेणी के मामले में बाहर रखा जाता है। Scikit-learn.org/stable/modules/… देखें ।
जॉनसन

जवाबों:


144

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

Pr=TP(TP+FP)

  • कक्षा ए: 1 टीपी और 1 एफपी
  • कक्षा बी: 10 टीपी और 90 एफपी
  • कक्षा सी: 1 टीपी और 1 एफपी
  • कक्षा डी: 1 टीपी और 1 एफपी

PrA=PrC=PrD=0.5PrB=0.1

  • Pr=0.5+0.1+0.5+0.54=0.4
  • Pr=1+10+1+12+100+2+2=0.123

ये परिशुद्धता के लिए काफी भिन्न मूल्य हैं। सहज रूप से, मैक्रो-एवरेज में क्लास ए, सी और डी की "अच्छी" सटीक (0.5) सटीकता "सभ्य" समग्र सटीकता (0.4) को बनाए रखने में योगदान दे रही है। हालांकि यह तकनीकी रूप से सच है (कक्षाओं में, औसत परिशुद्धता 0.4 है), यह थोड़ा भ्रामक है, क्योंकि बड़ी संख्या में उदाहरणों को ठीक से वर्गीकृत नहीं किया गया है। ये उदाहरण मुख्य रूप से वर्ग बी के अनुरूप हैं, इसलिए वे आपके परीक्षण डेटा के 94.3% के बावजूद औसत से 1/4 योगदान करते हैं। सूक्ष्म-औसत इस वर्ग के असंतुलन को पर्याप्त रूप से पकड़ लेगा, और समग्र परिशुद्धता को 0.123 तक नीचे लाएगा (अधिक हावी वर्ग बी (0.1) की परिशुद्धता के अनुरूप)।

कम्प्यूटेशनल कारणों से, यह कभी-कभी वर्ग औसत की गणना करने के लिए अधिक सुविधाजनक हो सकता है और फिर उन्हें मैक्रो-औसत कर सकता है। यदि वर्ग असंतुलन को एक मुद्दा माना जाता है, तो इसके आसपास कई तरीके हैं। एक को न केवल मैक्रो-औसत, बल्कि इसके मानक विचलन (3 या अधिक वर्गों के लिए) की रिपोर्ट करना है। एक अन्य भारित मैक्रो-औसत की गणना करना है, जिसमें औसत के लिए प्रत्येक वर्ग का योगदान इसके लिए उपलब्ध उदाहरणों की सापेक्ष संख्या से भारित होता है। उपरोक्त परिदृश्य में, हम प्राप्त करते हैं:

Prmacromean=0.25·0.5+0.25·0.1+0.25·0.5+0.25·0.5=0.4 Prmacrostdev=0.173

Prmacroweighted=0.0189·0.5+0.943·0.1+0.0189·0.5+0.0189·0.5=0.009+0.094+0.009+0.009=0.123

बड़े मानक विचलन (0.173) पहले से ही हमें बताते हैं कि 0.4 औसत कक्षाओं के बीच एक समान परिशुद्धता से स्टेम नहीं करता है, लेकिन भारित मैक्रो-औसत की गणना करना आसान हो सकता है, जो संक्षेप में सूक्ष्म-औसत की गणना का एक और तरीका है ।


10
यह उत्तर अधिक उत्थान के योग्य है, क्योंकि यह एक समझ बनाने में मदद करता है कि माइक्रो और मैक्रो सिर्फ सूत्रों को सूचीबद्ध करने के बजाय अलग-अलग व्यवहार क्यों करते हैं (और यह मूल सामग्री है)।
स्टीफन

2
यह मूल प्रश्न में विभिन्न स्थूल मूल्यों की व्याख्या कैसे करता है?
shakedzy

3
यदि आप उत्तर में स्केच किए गए परिदृश्य को फ्लिप करते हैं, तो बड़े वर्ग छोटे लोगों की तुलना में बेहतर प्रदर्शन करते हैं, तो आप माइक्रो औसत को मैक्रो औसत (जो व्यवहार प्रश्न में रिपोर्ट किया गया है) से अधिक होने की उम्मीद करेंगे। मैक्रो मान भिन्न हैं अपेक्षा कम या ज्यादा है, क्योंकि आप अलग-अलग चीजों को माप रहे हैं (परिशुद्धता, याद रखें ...)। सूक्ष्म औसत सभी एक ही क्यों हैं मेरा मानना ​​है कि प्रश्न है।
पायथिएस्ट

4
मैं इस कथन से असहमत हूं कि असंतुलित डेटासेट के मामले में माइक्रो औसत को मैक्रो से अधिक पसंद किया जाना चाहिए। वास्तव में, एफ स्कोर के लिए, मैक्रो को माइक्रो से अधिक पसंद किया जाता है क्योंकि पूर्व प्रत्येक वर्ग को समान महत्व देता है जबकि बाद में प्रत्येक नमूने को समान महत्व देता है (जिसका अर्थ है नमूनों की संख्या जितनी अधिक होगी, अंतिम स्कोर में यह उतना ही अधिक होगा। अनुकूलता की तरह बहुसंख्यक वर्गों का पक्ष लेना)। स्रोत: 1. cse.iitk.ac.in/users/purushot/papers/macrof1.pdf 2. क्लिप ।uantwerpen.be
~

3
क्या "भारित स्थूल-औसत" हमेशा सूक्ष्म औसत के बराबर होता है? स्किकिट-लर्न में, "भारित" की परिभाषा थोड़ी अलग है: "प्रत्येक लेबल के लिए मैट्रिक्स की गणना करें, और समर्थन द्वारा भारित प्रत्येक औसत, (प्रत्येक लेबल के लिए सही उदाहरणों की संख्या) का पता लगाएं।" F1 स्कोर के लिए डॉक्स से ।
२३:१३ बजे विस्क

20

मूल पोस्ट - http://rushdishams.blogspot.in/2011/08/micro-and-macro-aiture-of-prepret.html


माइक्रो-औसत विधि में, आप अलग-अलग सेटों के लिए अलग-अलग वास्तविक सकारात्मकता, झूठी सकारात्मकता और सिस्टम के झूठे नकारात्मक को जोड़ते हैं और आँकड़े प्राप्त करने के लिए उन्हें लागू करते हैं।

मुश्किल, लेकिन मुझे यह बहुत दिलचस्प लगा। ऐसी दो विधियाँ हैं जिनके द्वारा आप सूचना पुनर्प्राप्ति और वर्गीकरण की ऐसी औसत आँकड़ा प्राप्त कर सकते हैं।

1. सूक्ष्म-औसत विधि

माइक्रो-औसत विधि में, आप अलग-अलग सेटों के लिए अलग-अलग वास्तविक सकारात्मकता, झूठी सकारात्मकता और सिस्टम के झूठे नकारात्मक को जोड़ते हैं और आँकड़े प्राप्त करने के लिए उन्हें लागू करते हैं। उदाहरण के लिए, डेटा के एक सेट के लिए, सिस्टम

True positive (TP1)  = 12
False positive (FP1) = 9
False negative (FN1) = 3

57.14%=TP1TP1+FP180%=TP1TP1+FN1

और डेटा के एक अलग सेट के लिए, सिस्टम का

True positive (TP2)  = 50
False positive (FP2) = 23
False negative (FN2) = 9

फिर परिशुद्धता (पी 2) और रिकॉल (आर 2) 68.49 और 84.75 होगी

अब, माइक्रो-औसत विधि का उपयोग करके सिस्टम की औसत परिशुद्धता और रिकॉल है

Micro-average of precision=TP1+TP2TP1+TP2+FP1+FP2=12+5012+50+9+23=65.96

Micro-average of recall=TP1+TP2TP1+TP2+FN1+FN2=12+5012+50+3+9=83.78

माइक्रो-औसत एफ-स्कोर केवल इन दो आंकड़ों का हार्मोनिक मतलब होगा।

2. मैक्रो-औसत विधि

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

Macro-average precision=P1+P22=57.14+68.492=62.82 Macro-average recall=R1+R22=80+84.752=82.25

मैक्रो-औसत एफ-स्कोर केवल इन दो आंकड़ों का हार्मोनिक मतलब होगा।

उपयुक्तता मैक्रो-औसत विधि का उपयोग तब किया जा सकता है जब आप जानना चाहते हैं कि सिस्टम डेटा के सेट पर समग्र प्रदर्शन कैसे करता है। आपको इस औसत के साथ किसी विशेष निर्णय के साथ नहीं आना चाहिए।

दूसरी ओर, माइक्रो-औसत एक उपयोगी उपाय हो सकता है जब आपका डेटासेट आकार में भिन्न हो।


21
क्या आपको इस ब्लॉग पोस्ट का श्रेय देना चाहिए ?
जिओहान २०१२ १६'१iao

3
हाँ @ xiaohan2012, उन्होंने जवाब को कॉपी किया।
मैनुअल जी

स्टैक ओवरफ्लो पर यह मेरा पहला जवाब था, मुझे यकीन नहीं था कि यह कैसे करना है। क्या आप एक संपादन का सुझाव दे सकते हैं मैं इसे स्वीकार करूंगा। धन्यवाद
राहुल रेड्डी Vemireddy

यह ध्यान देने योग्य हो सकता है कि एफ 1-स्कोर यहां जरूरी नहीं है कि मैक्रो-एवरेज एफ 1 स्कोर का आमतौर पर उपयोग किया जाता है (जैसे कि स्किट में लागू किया गया है या इस पेपर में वर्णित है )। आमतौर पर, एफ 1 स्कोर की गणना प्रत्येक वर्ग / सेट के लिए अलग-अलग की जाती है और फिर औसत की गणना अलग-अलग एफ 1 स्कोर से की जाती है (यहां, यह विपरीत तरीके से किया जाता है: पहले मैक्रो-एवरेज परिशुद्धता / रिकॉल की गणना और फिर एफ 1-स्कोर। )।
Milania

11

एक बहु-श्रेणी सेटिंग में सूक्ष्म-औसत परिशुद्धता और रिकॉल हमेशा एक समान होते हैं।

P=cTPccTPc+cFPcR=cTPccTPc+cFNc

cFPc=cFNc

इसलिए पी = आर। दूसरे शब्दों में, हर एक झूठी भविष्यवाणी एक वर्ग के लिए एक गलत सकारात्मक होगी, और प्रत्येक एकल नकारात्मक एक वर्ग के लिए एक गलत नकारात्मक होगा। यदि आप द्विआधारी वर्गीकरण मामले को द्वि-श्रेणी वर्गीकरण के रूप में मानते हैं और सूक्ष्म-औसत परिशुद्धता की गणना करते हैं और याद करते हैं कि वे समान होंगे।

राहुल द्वारा दिया गया जवाब बाइनरी सटीक औसत और कई डेटासेट से वापस बुलाने के मामले में है। जिस स्थिति में सूक्ष्म औसत सटीकता और याद अलग हैं।


2

इसे ऐसा होना चाहिए। मेरे शोध के लिए मेरे पास एक ही परिणाम था। यह पहली बार में अजीब लग रहा था। लेकिन मल्टी-क्लास सिंगल-लेबल क्लासिफायर के परिणाम के सूक्ष्म-औसत होने पर सटीक और रिकॉल समान होना चाहिए। ऐसा इसलिए है क्योंकि यदि आप एक गर्भनिरोधक c1 = c2 (जहां c1 और c2 2 अलग-अलग वर्ग हैं) पर विचार करते हैं, तो c1 के संबंध में c2 के संबंध में मिथ्याकरण एक झूठी सकारात्मक (fp) और झूठी नकारात्मक (fn) है। यदि आप सभी वर्गों के लिए fn और fp को जोड़ते हैं, तो आपको एक ही नंबर मिलता है क्योंकि आप प्रत्येक misclassification को एक वर्ग के संबंध में fp के रूप में और दूसरे वर्ग के संबंध में fn के रूप में गिन रहे हैं।


0

मुझे लगता है कि मैक्रो का औसत माइक्रो एवरेज से कम होने का कारण पाइथिएस्ट के उत्तर (डोमिनेटिंग क्लास में बेहतर पूर्वानुमान और इसलिए माइक्रो एवरेज वृद्धि) है।

लेकिन तथ्य यह है कि सूक्ष्म औसत परिशुद्धता, रिकॉल और एफ 1 स्कोर के लिए समान है क्योंकि इन मैट्रिक्स के सूक्ष्म औसत के परिणामस्वरूप समग्र सटीकता होती है (जैसा कि माइक्रो एवीजी सभी वर्गों को सकारात्मक मानता है)। ध्यान दें कि यदि प्रेसिजन और रिकॉल समान हैं, तो F1 स्कोर सटीक / रिकॉल के बराबर है।

सवाल के लिए के रूप में अगर "भारित स्थूल औसत" हमेशा "सूक्ष्म औसत" के बराबर होने जा रहा है? मैंने अलग-अलग नो के साथ कुछ प्रयोग किए। कक्षाओं और विभिन्न वर्ग के असंतुलन और यह पता चलता है कि यह आवश्यक नहीं है सच है।

ये कथन इस धारणा के साथ किए गए हैं कि हम एक ही डाटासेट के सभी वर्गों पर विचार कर रहे हैं (राहुल रेड्डी वेमुर्डी के उत्तर के विपरीत)


0

मैक्रो एफ 1 स्कोर का उपयोग करने का लाभ यह है कि यह सभी डेटा बिंदुओं को समान वजन देता है, उदाहरण के लिए: आइए इसके बारे में सोचें कि एफ 1 माइक्रो सभी रिकॉल और अलग-अलग लेबल के प्रेजेशन को स्वतंत्र रूप से लेता है, इसलिए जब हमारे पास वर्ग असंतुलन होता है जैसे T1 = 90%, T2 = 80%, T3 = 5 तब F1 माइक्रो सभी वर्ग को समान वजन देता है और वर्ग के वितरण में विचलन से प्रभावित नहीं होता है लॉग नुकसान यह कक्षा में छोटे विचलन को दंडित करता है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.