logloss बनाम गिन्नी / औक


15

मैंने दो मॉडल (h2o AutoML का उपयोग करके बाइनरी क्लासीफायर) को प्रशिक्षित किया है और मैं उपयोग करने के लिए एक का चयन करना चाहता हूं। मेरे पास निम्नलिखित परिणाम हैं:

 model_id        auc     logloss    logloss_train   logloss_valid   gini_train  gini_valid

DL_grid_1   0.542694    0.287469         0.092717        0.211956     0.872932    0.312975
DL_grid_2   0.543685    0.251431         0.082616        0.186196     0.900955    0.312662

aucऔर loglossकॉलम पार सत्यापन मीट्रिक हैं (पार सत्यापन केवल प्रशिक्षण डेटा का उपयोग करता)। ..._trainऔर ..._validमैट्रिक्स क्रमशः मॉडल के माध्यम से प्रशिक्षण और मान्यता मैट्रिक्स चलाकर पाए जाते हैं। मैं या तो उपयोग करना चाहते हैं logloss_validया gini_validएक सबसे अच्छा मॉडल का चयन करें।

मॉडल 1 में एक बेहतर गिन्नी (यानी बेहतर एयूसी) है लेकिन मॉडल दो में एक बेहतर लॉगलॉस है। मेरा प्रश्न यह है कि मुझे कौन-सा विकल्प चुनना है, जो यह सवाल महसूस करता है कि निर्णय मीट्रिक के रूप में गिन्नी (एयूसी) या लॉगलॉस का उपयोग करने के क्या फायदे / नुकसान हैं।


1
इस वीडियो की एक अच्छी व्याख्या है कि यदि आप संभावनाओं में रुचि रखते हैं और केवल वर्गीकरण नहीं तो लॉगलॉस को क्यों पसंद किया जाता है। ध्यान दें कि द्विआधारी वर्गीकरण के लिए, लॉगलॉस बैरियर स्कोर के बराबर है।
डैन

जवाबों:


11

जबकि एयूसी की गणना एक अलग निर्णय सीमा के साथ द्विआधारी वर्गीकरण के संबंध में की जाती है, लॉगलॉस वास्तव में वर्गीकरण की "निश्चितता" को ध्यान में रखता है।

इसलिए मेरी समझ में, लॉजल कॉन्सेप्ट AUC से परे चला जाता है और विशेष रूप से असंतुलित डेटा वाले मामलों में या असमान रूप से वितरित त्रुटि लागत (उदाहरण के लिए एक घातक बीमारी का पता लगाने) के मामले में प्रासंगिक है।

इस बहुत ही मूल उत्तर के अलावा, आप बाइनरी वर्गीकरण समस्याओं में auc vs logloss के अनुकूलन पर एक नज़र डालना चाहते हैं

लॉगलॉस संगणना और अंतर्निहित अवधारणा का एक सरल उदाहरण इस हालिया प्रश्न में चर्चा की गई है। लॉग-इन फंक्शन में स्किकिट-लर्न रिटर्न में कई मान हैं

इसके अलावा, एक बहुत अच्छा बिंदु में बनाया गया है stackoverflow

AUC ROC और "बिंदु-वार" मेट्रिक्स जैसे सटीकता / परिशुद्धता आदि के बीच महत्वपूर्ण अंतर को समझना चाहिए। ROC एक सीमा का कार्य है। एक मॉडल (क्लासिफायर) को देखते हुए जो प्रत्येक वर्ग से संबंधित होने की संभावना को बढ़ाता है जिसे हम आमतौर पर उच्चतम समर्थन के साथ वर्ग में वर्गीकृत करते हैं। हालांकि, कभी-कभी हम इस नियम को बदलकर बेहतर अंक प्राप्त कर सकते हैं और एक समर्थन की आवश्यकता होती है जो वास्तव में दिए गए वर्ग के रूप में वर्गीकृत करने के लिए अन्य की तुलना में 2 गुना बड़ा हो। असंतुलित डेटासेट के लिए यह अक्सर सही होता है। इस तरह से आप वास्तव में अपने डेटा को बेहतर ढंग से फिट करने के लिए कक्षाओं से पहले सीखे गए तरीकों को संशोधित कर रहे हैं। आरओसी यह देखता है कि "क्या होगा यदि मैं इस सीमा को सभी संभावित मूल्यों में बदल दूं" और फिर एयूसी आरओसी ऐसे वक्र के अभिन्न अंग की गणना करता है।


आपके पहले लिंक में "AUC अधिकतम मॉडल की क्षमता को वर्गों के बीच भेदभाव करने की क्षमता प्रदान करता है, जबकि लोग्लॉस वास्तविक और अनुमानित संभावनाओं के बीच भिन्नता को दंडित करता है" , इसलिए मैं मूल रूप से पूछ रहा हूं कि मैंने उन दो उद्देश्यों के बीच कैसे चुना? क्या यह ऐसा मामला है कि अगर मैं सीधे मॉडल की 'प्रायिकता' आउटपुट के साथ काम करता हूं, जिसे मुझे लॉगलॉस (और फिर शायद प्रायिकता कैलिब्रेशन भी करना चाहिए) का चयन करना चाहिए, जहां-जैसे कि मैं वास्तव में कठोर निर्णय लेने के लिए इसे क्लासिफायर के रूप में उपयोग कर रहा हूं यह एक कलश है या दूसरा मुझे AUC के साथ जाना चाहिए?
दान

2
यदि आप सिर्फ एक सही या गलत निर्णय की परवाह करते हैं -> AUC का उपयोग करें - यदि आप इस बात की परवाह करते हैं कि आप कितने "सही" या "गलत" हैं -> logloss का उपयोग करें
Nikolas Rieble

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