के इष्टतम मानकों को खोजने के लिए कैरेट पैकेज का उपयोग करके मैं 10,000 जी 9 32 आयामों के कुछ जैविक डेटा पर रिग्रेशन करने के लिए आर जीबीएम पैकेज का उपयोग कर रहा हूं और मैं जानना चाहता हूं कि जीबीएम पैकेज के लिए सबसे अच्छी पैरामीटर सेटिंग्स क्या हैं (n.trees, shrinkage, interaction.depth और n.minobsinnode) जब मैंने ऑनलाइन खोज की तो मुझे पता चला कि आर पर CARET पैकेज ऐसी पैरामीटर सेटिंग्स पा सकता है। हालांकि, मुझे जीबीएम पैकेज के साथ कैरेट पैकेज का उपयोग करने में कठिनाई है, इसलिए मैं सिर्फ यह जानना चाहता हूं कि पहले उल्लिखित पैरामीटर के इष्टतम संयोजनों को खोजने के लिए कैरेट का उपयोग कैसे किया जाए? मुझे पता है कि यह बहुत ही सामान्य प्रश्न प्रतीत हो सकता है, लेकिन मैंने कैरेट मैनुअल पढ़ा है और अभी भी जीबीएम के साथ कैरेट को एकीकृत करने में कठिनाई है, विशेष रूप से क्योंकि मैं इन दोनों पैकेजों के लिए बहुत नया हूंजीबीएम
जीबीएम
उत्तर
इस लिंक में एक ठोस उदाहरण है (पेज 10) - http://www.jstatsoft.org/v28/i05/paper
असल में, किसी को पहले हाइपर पैरामीटर (जैसे n.trees, interaction.depth और shrinkage) के लिए उम्मीदवार मानों का ग्रिड बनाना चाहिए। फिर जेनेरिक ट्रेन फ़ंक्शन को सामान्य रूप से कॉल करें।
सुनिश्चित नहीं है कि आप जो खोज रहे थे उसे मिला, लेकिन मुझे इनमें से कुछ चादरें सहायक से कम मिलती हैं।
आप कैरट पैकेज का उपयोग कर रहे हैं, तो निम्न का वर्णन आवश्यक पैरामीटर:> getModelInfo() $ जीबीएम $ पैरामीटर
वह चल जीबीएम के अंगूठे के कुछ नियम हैं:
- बातचीत। गहराई 1 है, और अधिकांश डेटा सेटों पर पर्याप्त लगता है, लेकिन कुछ लोगों ने पाया है कि के विरुद्ध परिणामों का परीक्षण करने से अधिकतम परिणामों ने बेहतर परिणाम दिए हैं। अधिकतम पैरामीटर I इस पैरामीटर के लिए देखा गया है फर्श (वर्ग (एनसीओएल (प्रशिक्षण)))।
- हटना: संख्या जितनी छोटी होगी, अनुमानित मूल्य बेहतर होगा, अधिक पेड़ आवश्यक हैं, और अधिक कम्प्यूटेशनल लागत। परीक्षण डेटा के एक छोटे से सबसेट पर मूल्य जैसे संकुचन = संकोचन = seq (.0005, .05, .0005) आदर्श मान को परिभाषित करने में सहायक हो सकता है।
- n.minobsinnode: डिफ़ॉल्ट 10 है, और आम तौर पर मैं इसके साथ गड़बड़ नहीं करता हूं। मैंने डेटा के छोटे सेट पर सी (5,10,15,20) की कोशिश की है, और वास्तव में कम्प्यूटेशनल लागत के लिए पर्याप्त वापसी नहीं देखता है।
- n.trees: संकोचन जितना छोटा होगा, उतना पेड़ जो आपके पास होना चाहिए। n.trees = (0:50) * 50 के साथ प्रारंभ करें और तदनुसार समायोजित करें।
उदाहरण कैरट पैकेज का उपयोग स्थापना:
getModelInfo()$gbm$parameters
library(parallel)
library(doMC)
registerDoMC(cores = 20)
# Max shrinkage for gbm
nl = nrow(training)
max(0.01, 0.1*min(1, nl/10000))
# Max Value for interaction.depth
floor(sqrt(NCOL(training)))
gbmGrid <- expand.grid(interaction.depth = c(1, 3, 6, 9, 10),
n.trees = (0:50)*50,
shrinkage = seq(.0005, .05,.0005),
n.minobsinnode = 10) # you can also put something like c(5, 10, 15, 20)
fitControl <- trainControl(method = "repeatedcv",
repeats = 5,
preProcOptions = list(thresh = 0.95),
## Estimate class probabilities
classProbs = TRUE,
## Evaluate performance using
## the following function
summaryFunction = twoClassSummary)
# Method + Date + distribution
set.seed(1)
system.time(GBM0604ada <- train(Outcome ~ ., data = training,
distribution = "adaboost",
method = "gbm", bag.fraction = 0.5,
nTrain = round(nrow(training) *.75),
trControl = fitControl,
verbose = TRUE,
tuneGrid = gbmGrid,
## Specify which metric to optimize
metric = "ROC"))
चीजें (वितरण) की तरह अपने डेटा के आधार पर बदल सकते हैं, लेकिन मैं कुंजी किया जा रहा है जब तक आप परिणाम आप कर रहे हैं पाने के gbmgrid साथ खेलने के लिए मिल गया है खोज रहे हैं सेटिंग्स के रूप में अब चलने में लंबा समय लगेगा, इसलिए अपनी मशीन के रूप में संशोधित करें, और समय की अनुमति होगी। आपको गणना का एक ballpark देने के लिए, मैं 64 जीबी रैम के साथ मैक प्रो 12 कोर पर चलाता हूं।
- 1. आर जीबीएम लॉजिस्टिक रिग्रेशन
- 2. जीबीएम नियम जनरेशन - कोडिंग सलाह
- 3. जीबीएम :: interact.gbm बनाम dismo :: gbm.interactions
- 4. आर जीबीएम लापता मूल्यों का हैंडलिंग
- 5. पायथन - GridSearchCV के साथ लाइट जीबीएम, हमेशा के लिए चल रहा है
- 6. जीबीएम मल्टीनोमियल डिस्ट में, स्पष्ट आउटपुट प्राप्त करने के लिए भविष्यवाणी का उपयोग कैसे करें?
- 7. जीबीएम बहुराष्ट्रीय वितरण, भविष्यवाणी कक्षा प्राप्त करने के लिए भविष्यवाणी() का उपयोग कैसे करें?
- 8. "वैध विचलन" जीबीएम मॉडल के लिए नैन है, इसका क्या अर्थ है और इससे कैसे छुटकारा पाना है?
- 9. आर: लापता डेटा के साथ रिग्रेशन पेड़ कैसे बढ़ाया जाता है?
- 10. मल्टीक्लास वर्गीकरण
- 11. gbm फ़ंक्शन
- 12. होमब्रू: सिम्लिंक नहीं कर सका,/usr/local/share/man/man7 लिखने योग्य नहीं है
- 13. पायथन - शाकिट को वर्गीकृत चर के लिए परिवर्तनीय महत्व मिलता है
- 14. एंड्रॉइड जीसीएम संदेशों में देरी से बचने/दिल की धड़कन को बदलने से कैसे बचें
- 15. विज्ञान में क्लासिफायर-सीखें कि नैन/शून्य
- 16. एक हेरोकू रेल ऐप के लिए डेटा खनन/सांख्यिकीय विश्लेषण विकल्प?
- 17. आर: h2o.randomForest() और h2o.gbm()
- 18. XGBoost - अलग-अलग एक्सपोजर/ऑफ़सेट