क्या CARET में पैरामीटर ट्यूनिंग (ग्रिड) सुविधा को अक्षम करने का एक तरीका है?


15

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

मैं ट्यूनिंग ग्रिड में बदलावों पर मॉडल खोज चरण को कैसे छोड़ सकता हूं और सभी प्रशिक्षण डेटा (अंतर्निहित मॉडल लाइब्रेरी को सीधे कॉल करने के अलावा) पर निर्माण करने के लिए CARET को मजबूर करता हूं?


1
यह सवाल स्पष्ट नहीं है, जो संभवतः यह बताता है कि आपको अलग-अलग सवालों के जवाब देने का कारण मिला है, अर्थात् 1) मैं मॉडल सत्यापन और ट्यूनिंग को छोड़ने के लिए कैरेट कैसे बताता हूं? और 2) मैं केवल मॉडल ट्यूनिंग को कैसे बंद करूं?
जोहान लार्सन

जवाबों:


17

आप निर्दिष्ट कर सकते method="none"में trainControl। उदाहरण के लिए:

train(Species ~ ., data=iris, method="rf", tuneGrid=data.frame(mtry=3),
  trControl=trainControl(method="none"))

मुझे यकीन नहीं है कि यह कब लागू किया गया था।


9

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

एक विशिष्ट मूल्य पर mtry सेट करने के लिए, आप randomForest default (; randomForest) ऐसा करने का विकल्प चुन सकते हैं:

model <- train(x = X, y = Y, method = 'rf', tuneGrid = data.frame(.mtry = M))

जहाँ M उस ट्यूनिंग पैरामीटर का एक मान है जिसका आप उपयोग करना चाहते हैं।

कई ट्यूनिंग मापदंडों के लिए यह करते हैं:

tuneGrid = data.frame(.par1 = P1, .par2 = P2, .par3 = P3)

हमारी साइट पर आपका स्वागत है, ब्रेंट! इस पुराने प्रश्न का अनुसरण करने के लिए धन्यवाद।
whuber

4
नीचे दिया गया सुझाव method="none"बेहतर समाधान है।
टॉपपीओ

1

मुझे नहीं लगता कि यह संभव है (कम से कम यह कुछ संस्करणों से पहले संभव नहीं था)। एक प्रशिक्षण डेटा में सिर्फ एक resampling विभाजन स्थापित करके प्रदर्शन प्रभाव को कम कर सकता है (लेकिन कैरेट अभी भी एक मॉडल को दो बार प्रशिक्षित करेगा)

यह एक उपयोगी सुविधा की तरह लगता है ताकि मैं पैकेज के लेखक को पिंग करूं।


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