7

मैं अत्यधिक असंतुलित डेटा सेट पर scikit-learn में LogisticRegression() विधि का उपयोग कर रहा हूं। मैंने class_weight सुविधा को auto पर भी बदल दिया है।विज्ञान में लॉजिस्टिक रिग्रेशन में थ्रेसहोल्ड को नियंत्रित करना

मुझे पता है कि लॉजिस्टिक रिग्रेशन में यह जानना संभव होना चाहिए कि कक्षाओं की एक विशेष जोड़ी के लिए दहलीज मूल्य क्या है।

क्या यह जानना संभव है कि प्रत्येक वन-बनाम ऑल क्लासेस में LogisticRegression() विधि डिज़ाइन में थ्रेसहोल्ड मान क्या है?

मुझे प्रलेखन पृष्ठ में कुछ भी नहीं मिला।

क्या यह डिफ़ॉल्ट रूप से पैरामीटर मानों के बावजूद सभी वर्गों के लिए 0.5 मान को थ्रेसहोल्ड के रूप में लागू करता है?

+0

ठीक है, चूंकि एलआर एक संभाव्य क्लासिफायरफायर है, यानी, यह कक्षा की संभावना को लौटाता है, यह एक सीमा के रूप में 0.5 का उपयोग करने के लिए समझ में आता है। –

उत्तर

8

लॉजिस्टिक रिग्रेशन उस वर्ग को चुनता है जिसकी सबसे बड़ी संभावना है। 2 वर्गों के मामले में, दहलीज 0.5 है: यदि पी (वाई = 0)> 0.5 तो स्पष्ट रूप से पी (वाई = 0)> पी (वाई = 1)। मल्टीक्लास सेटिंग के लिए भी यही खड़ा है: फिर, यह कक्षा को सबसे बड़ी संभावना के साथ चुनता है (उदाहरण के लिए Ng's lectures, नीचे की रेखाएं देखें)।

विशेष दहलीज का परिचय केवल झूठी सकारात्मक/झूठी नकारात्मक (और इस प्रकार सटीक/याद व्यापार में) के अनुपात में प्रभावित होता है, लेकिन यह एलआर मॉडल का पैरामीटर नहीं है। the similar question भी देखें।

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