2017-03-28 12 views
5

यकीन है कि मैं यह सही हो रही है बनाना है:sklearn metrics.log_loss बनाम स्कोरिंग 'neg_log_loss' सकारात्मक है नकारात्मक

अगर हम sklearn.metrics.log_loss स्टैंडअलोन उपयोग करते हैं, यानी log_loss (y_true, y_pred), यह एक सकारात्मक स्कोर उत्पन्न करता है - स्कोर जितना छोटा होगा उतना ही बेहतर प्रदर्शन होगा।

हालांकि, अगर हम 'cross_val_score "के रूप में एक स्कोरिंग योजना के रूप में 'neg_log_loss' का उपयोग करें, स्कोर नकारात्मक है - बड़ा स्कोर, बेहतर प्रदर्शन

और करने के लिए स्कोरिंग योजना बनाया गया है इस वजह से है। अन्य स्कोरिंग योजनाओं के साथ एक समान होना चाहिए। आम तौर पर के बाद से, उच्च बेहतर है, हम नकारना सामान्य log_loss प्रवृत्ति के अनुरूप होना करने के लिए। और यह उस उद्देश्य के लिए ऐसा पूरी तरह से किया जाता है। इस समझ सही है?

[ पृष्ठभूमि: metric.log_loss के लिए सकारात्मक स्कोर प्राप्त हुए, और 'neg_los_loss' के लिए नकारात्मक स्कोर, और दोनों का संदर्भ लें एक ही प्रलेखन पृष्ठ।]

+1

मैं वही चीज़ सोच रहा था –

उत्तर

0

sklearn.metrics.log_loss त्रुटि मेट्रिक का एक कार्यान्वयन आमतौर पर परिभाषित किया गया है, और जो कि अधिकांश त्रुटि मीट्रिक एक सकारात्मक संख्या है। इस मामले में, यह एक मीट्रिक है जिसे सामान्य रूप से न्यूनतम किया जाता है (उदाहरण के लिए रिग्रेशन के लिए औसत वर्ग त्रुटि के रूप में), सटीकता जैसे मेट्रिक्स के विपरीत, जिसे अधिकतम किया जाता है।

'neg_log_loss' इसलिए एक उपयोगिता मूल्य बनाने के लिए एक तकनीकीता है, जो प्रत्येक मीट्रिक के लिए फ़ंक्शन के व्यवहार को बदलने के बिना इस उपयोगिता को अधिकतम करने के लिए स्केलेर्न के कार्यों और कक्षाओं को अनुकूलित करने की अनुमति देता है (उदाहरण के लिए cross_val_score नामक उदाहरण के लिए, ग्रिडशर्चसीवी, यादृच्छिक खोज सीवी, और अन्य)।

संबंधित मुद्दे