GBM मापदंडों के लिए कुछ उपयोगी दिशानिर्देश क्या हैं?


31

GBM का उपयोग करके परीक्षण मापदंडों (यानी इंटरैक्शन डेप्थ, माइनचाइल्ड, सैंपल रेट आदि) के लिए कुछ उपयोगी दिशानिर्देश क्या हैं?

मान लें कि मेरे पास 70-100 सुविधाएँ हैं, 200,000 की आबादी है और मैं 3 और 4 की बातचीत की गहराई का परीक्षण करने का इरादा रखता हूं। स्पष्ट रूप से मुझे यह देखने के लिए कुछ परीक्षण करने की आवश्यकता है कि मापदंडों का संयोजन सबसे अच्छा नमूना क्या है। इस परीक्षण डिजाइन के दृष्टिकोण के बारे में कोई सुझाव?

जवाबों:


34

कैरेट पैकेज आपकी समस्या के लिए पैरामीटर पसंद को अनुकूलित करने में आपकी मदद कर सकता है। केयरट्रेन विनेट दिखाता है कि 10-गुना बार-क्रॉस क्रॉस-वेलिडेशन का उपयोग करके gbm मापदंडों को कैसे ट्यून किया जाता है - अन्य अनुकूलन दृष्टिकोण उपलब्ध हैं यह सभी फ़ॉरच पैकेज का उपयोग करके समानांतर में चल सकते हैं। vignette("caretTrain", package="caret")दस्तावेज़ पढ़ने के लिए उपयोग करें ।

पैकेज ट्यूनिंग shrinkage, n.treesऔर interaction.depthgbm मॉडल के लिए मापदंडों का समर्थन करता है , हालांकि आप अपना खुद का जोड़ सकते हैं।

सांख्यिकी के लिए, यह मेरा प्रारंभिक दृष्टिकोण है:

shrinkage: जब तक आपके पास समय कम होता है (इस पर gbm मैनुअल अधिक होता है, लेकिन सामान्य तौर पर आप छोटे आकार के साथ गलत कर सकते हैं)। आपका डेटा सेट छोटा है इसलिए मैं शायद 1e-3 से शुरू करूंगा

n.trees: मैं आमतौर पर एक प्रारंभिक मॉडल को अधिक से अधिक पेड़ों को जोड़ने तक gbm.perfबढ़ाता हूं जब तक कि मेरे पास पर्याप्त (वास्तव में, आमतौर पर 1.2 गुना उस मूल्य के लिए) न हो और फिर आगे के विश्लेषण के लिए एक गाइड के रूप में उपयोग करें।

interaction.depth: आप पहले से ही इस बारे में एक विचार है। छोटे मूल्यों को भी आज़माएं। अधिकतम मूल्य मंजिल (sqrt (NCOL (डेटा))) है।

n.minobsinnode: मुझे लगता है कि इस वेरिएबल को ट्यून करना वास्तव में महत्वपूर्ण है। आप इसे इतना छोटा नहीं चाहते हैं कि एल्गोरिथ्म में बहुत सारी शानदार सुविधाएँ मिलें।

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