क्या स्तरीकृत नमूनाकरण आवश्यक है (यादृच्छिक वन, पायथन)?


14

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

train,test=train_test_split(myDataset, test_size=0.25, stratify=y)

जवाबों:


13

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

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

उम्मीद है की यह मदद करेगा।

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