StackingClassifier Scikit-Learn में क्रॉस सत्यापन
स्किकिट-लर्न StackingClassifier डॉक्यूमेंटेशन में यह लिखा है:
ध्यान दें कि
estimators_पूर्ण रूप से फिट किए गए हैं,Xजबकिfinal_estimator_आधार का अनुमान लगाने वाले क्रॉस-मान्य पूर्वानुमानों का उपयोग करके प्रशिक्षित किया जाता हैcross_val_predict।
... डिफ़ॉल्ट 5-गुना क्रॉस सत्यापन
मेरा प्रश्न, केवल अंतिम अनुमानक में 5-गुना क्रॉस-सत्यापन का उपयोग क्यों करें? अंतिम अनुमानक पूर्ण X '(आधार अनुमानकों से आउटपुट) पर क्यों नहीं लगाया गया है?
जवाब
इसमें 2 प्रश्न शामिल हैं, मैं उनमें से प्रत्येक को संबोधित करूंगा।
- हम संपूर्ण सिस्टम पर क्रॉस-वैरिफिकेशन का उपयोग कर सकते हैं, लेकिन यह हमें बहुत अधिक बाधा देगा।
क्रॉस-वैलिडेशन का उद्देश्य इष्टतम मापदंडों को खोजना है, जो मॉडल को ओवर-फिटिंग के बिना डेटा को अच्छी तरह से फिट करने की अनुमति देते हैं। यह मानता है कि हमारा अंतिम अनुमानक ऐसा करता है; व्यक्तिगत रूप से सभी आधार अनुमानकों की सेटिंग्स का पता लगाने की कोई आवश्यकता नहीं है। आधार अनुमानक में विभिन्न पैरामीटर सेटिंग्स का एक गुच्छा शामिल हो सकता है, उदाहरण के लिए; साथ ही विभिन्न प्रकार के क्लासिफायर का चयन। यदि उनमें से किसी को भी ओवरफिटिंग का खतरा हो, तो दूसरों को यह समस्या न हो। जब तक अंतिम आकलनकर्ता अपने सभी अंडे गलत टोकरी में नहीं डालता है, तब तक हमें ठीक होना चाहिए (और यही कारण है कि हमें यहां क्रॉस-वैद्यता की आवश्यकता है, यह सुनिश्चित करने के लिए कि ऐसा नहीं होता है)।
- हम होगा पूर्ण प्रशिक्षण सेट पर अंतिम आकलनकर्ता को प्रशिक्षित - ऐसा होता है के बाद हम इष्टतम मानकों या पार सत्यापन का उपयोग कर आधार आकलनकर्ता के सेट हैं। जैसा कि नाम कहता है, विधि को मान्य करने के लिए क्रॉस- सत्यापन का मतलब है। फाइनल मॉडल बनाने के लिए नहीं।