सवाल एक गलत धारणा के तहत है। बहुत से लोग वही करते हैं जो आप कहते हैं कि वे "नहीं" कर सकते हैं।
वास्तव में, व्यापक रूप से तैनात स्केलेर पैकेज में ग्रिड खोज कार्यान्वयन बस यही करता है। जब तक refit=False
, यह संपूर्ण डेटा का उपयोग करके अंतिम मॉडल को वापस नहीं लेगा।
मुझे लगता है कि कुछ हाइपरपरमेटर्स के लिए यह बहुत वांछनीय नहीं हो सकता है, क्योंकि वे डेटा की मात्रा के सापेक्ष हैं। उदाहरण के लिए, min_samples_leaf
एक निर्णय पेड़ के लिए पूर्व-छंटनी रणनीति पर विचार करें । यदि आपके पास अधिक डेटा है, तो प्री-प्रूनिंग आप जैसा चाहें वैसा प्रदर्शन नहीं कर सकते हैं।
लेकिन फिर से, ज्यादातर लोग वास्तव में क्रॉस-वैलिडेशन के बाद पूरे डेटा का उपयोग करके पीछे हट जाते हैं, ताकि वे सबसे अच्छे मॉडल के साथ समाप्त हो सकें।
परिशिष्ट: @NeilSlater नीचे कहता है कि कुछ लोग CV के शीर्ष पर होल्ड-आउट करते हैं। दूसरे शब्दों में, उनके पास एक ट्रेन-परीक्षण विभाजन है और फिर प्रशिक्षण पर मॉडल का चयन होता है। उनके अनुसार, वे मूल प्रशिक्षण सेट विभाजन का उपयोग करके पुन: प्रशिक्षण लेते हैं, लेकिन परीक्षण सेट नहीं। परीक्षण सेट का उपयोग तब अंतिम मॉडल अनुमान लगाने के लिए किया जाता है। व्यक्तिगत रूप से, मुझे इस पर तीन दोष दिखाई देते हैं: (ए) यह उस समस्या का समाधान नहीं करता है जिसका मैंने उल्लेख किया है कि कुछ हाइपरपरमेटर्स प्रशिक्षण की मात्रा पर निर्भर हैं क्योंकि आप किसी भी तरह से फिर से प्रशिक्षण ले रहे हैं, (बी) कई मॉडलों का परीक्षण करते समय, मैं और अधिक परिष्कृत पसंद करता हूं नेस्टेड क्रॉस वेलिडेशन जैसे तरीके ताकि कोई डेटा बेकार न जाए, और (c) होल्ड-आउट यह अनुमान लगाने की एक भयानक विधि है कि जब आपके पास बहुत कम डेटा होता है तो एक मॉडल कैसे सामान्य हो जाएगा।