कार्ट में जटिलता पैरामीटर चुनना


16

CART मॉडल बनाने के लिए rpart () रूटीन में, आप उस जटिलता पैरामीटर को निर्दिष्ट करते हैं, जिसमें आप अपने पेड़ को प्रून करना चाहते हैं। मैंने जटिलता पैरामीटर चुनने के लिए दो अलग-अलग सिफारिशें देखी हैं:

  1. न्यूनतम संभव क्रॉस-मान्य त्रुटि के साथ जुड़े जटिलता पैरामीटर चुनें। यह विधि क्विक-आर और एचएसएयूआर द्वारा अनुशंसित है ।

  2. सबसे बड़ी जटिलता पैरामीटर चुनें, जिसकी अनुमानित क्रॉस-वैरिफाइड त्रुटि अभी भी न्यूनतम संभव क्रॉस-वैलिडेटेड एरर के एसई के भीतर है। यह पैकेज प्रलेखन की मेरी व्याख्या है, जो कहता है: "छंटाई के लिए cp का एक अच्छा विकल्प अक्सर सबसे बाईं ओर होता है, जिसके लिए इसका मतलब क्षैतिज रेखा के नीचे होता है" इस भूखंड के संदर्भ में ।

Cp के दो विकल्प मेरे डेटासेट में काफी अलग पेड़ पैदा करते हैं।

ऐसा लगता है कि पहली विधि हमेशा एक अधिक जटिल, संभावित रूप से ओवरफीड, पेड़ का उत्पादन करेगी। क्या साहित्य में अन्य फायदे, नुकसान, सिफारिशें हैं, मुझे यह ध्यान रखना चाहिए कि किस विधि का उपयोग करना है? मैं अपनी विशेष मॉडलिंग समस्या के बारे में अधिक जानकारी प्रदान कर सकता हूं यदि यह उपयोगी होगा, लेकिन मैं इस प्रश्न को व्यापक रूप से दूसरों के लिए प्रासंगिक रखने की कोशिश कर रहा हूं।


भूखंड में क्षैतिज रेखा क्या दर्शाती है?
बोगदानोविस्ट

मेरा मानना ​​है कि यह न्यूनतम संभव क्रॉस-मान्य त्रुटि के ऊपर 1 एसई का प्रतिनिधित्व करता है।
अर्ध

यदि आपके पास पर्याप्त डेटा है, तो आप इसे एक प्रशिक्षण और परीक्षण डेटा सेट में अलग कर सकते हैं, यहां तक ​​कि पेड़ों के लिए भी। यह विशेष रूप से उपयोगी हो सकता है यदि आप मुख्य रूप से भविष्यवाणी में रुचि रखते हैं, क्योंकि परीक्षण डेटा सेट उस का एक अच्छा अनुमान देगा। एक अन्य विकल्प partyपैकेज है जो महत्व परीक्षणों का उपयोग करता है (आमतौर पर मैं जो कुछ सुझाता हूं, लेकिन यह यहां प्रासंगिक लगता है)। हमेशा की तरह, हालांकि, सबसे अच्छा परीक्षण उपयोगिता और समझदारी है; यह विशेष रूप से सच है यदि आप मुख्य रूप से स्पष्टीकरण में रुचि रखते हैं।
पीटर Flom - को पुनः स्थापित मोनिका

धीमी प्रतिक्रिया के लिए मेरी क्षमा याचना। स्पष्ट करने के लिए, मैंने सोचा कि, विभिन्न वृक्षों के आकार में त्रुटि की गणना करने के लिए क्रॉस-मान्यता का उपयोग करके, मैंने पहले ही डेटा को प्रशिक्षण और परीक्षण सेटों में बार-बार प्रभावी रूप से विभाजित किया था। क्या उस मामले में एक और प्रशिक्षण / परीक्षण विभाजन बेमानी होगा? क्या मैं तुम्हें गलत समझ रहा हूँ?
अर्ध-पास

ट्रेन / टेस्ट में डेटा को विभाजित करना और केवल ट्रेन डेटा का उपयोग करके cp पैरामीटर को क्रॉस-वैरिफाई करना, एक यथार्थवादी भविष्यवाणी परीक्षण (जहाँ आप cp का अनुमान लगाने के लिए भविष्य के डेटा का उपयोग नहीं कर सकते) को पुन: उत्पन्न करेंगे। तो पहला CV cp के लिए होगा, समग्र मॉडल के लिए भविष्यवाणी त्रुटि (अनुमानित cp सहित)।
रॉबर्ट कुब्रिक

जवाबों:


6

व्यवहार में मैंने दोनों दृष्टिकोणों को देखा है, और मुझे लगता है कि आम तौर पर आपके परिणामों के बहुत अलग होने की उम्मीद नहीं की जाती है।

कहा जा रहा है कि, हास्टी एट अल सांख्यिकीय लर्निंग के तत्वों में "एक-मानक त्रुटि" नियम की सिफारिश करते हैं, और मैं उनके फैसले पर भरोसा करता हूं (धारा 7.10, पृष्ठ 244 मेरे संस्करण में)। प्रासंगिक उद्धरण है:

अक्सर "एक-मानक त्रुटि" नियम का उपयोग क्रॉस-मान्यता के साथ किया जाता है, जिसमें हम सबसे पारसी मॉडल चुनते हैं, जिसकी त्रुटि सर्वश्रेष्ठ मॉडल की त्रुटि के ऊपर एक मानक त्रुटि से अधिक नहीं है। "

एक-मानक त्रुटि नियम का पालन करने के लिए आपका अंतर्ज्ञान सही है - आप ऐसा करेंगे कि डेटा को ओवरफिट करने वाले मॉडल का चयन करने से बचें।


1

आपको पहले तर्कों minsplit=0और cp=0(जटिलता पैरामीटर) का उपयोग करके शुरू करना चाहिए फिर कार्यों का उपयोग करना चाहिए plotcp(T.max)और संबंधित न्यूनतम त्रुटि printcp(T.max)के मूल्य का चयन करना चाहिए cpऔर फ़ंक्शन द्वारा पेड़ को prune करना चाहिए।prune.rpart(T.max, cp=....)

यह आपको इष्टतम वर्गीकरण का पेड़ मिलना चाहिए क्योंकि वे अधिक आशावादी होते हैं।

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