2017-09-15 13 views
7

खोजने में असमर्थ मैं आर और आरस्टूडियो के लिए नया हूं और भविष्यवाणी मॉडलिंग के साथ प्रयोग कर रहा हूं। निम्नलिखित ट्रेन फ़ंक्शन समानांतर प्रसंस्करण के बिना काम करता है लेकिन जब मैं doSNOW मेकक्लस्टर लागू करता हूं, तो मुझे "optimismBoot" नामक चर से संबंधित त्रुटि मिलती है। मैंने एक संकल्प के लिए व्यर्थ में खोज की है, संकुल को संस्थापित करने और अनइंस्टॉल करने का प्रयास किया है, लेकिन कुछ भी काम नहीं करता है। किसी भी अंतर्दृष्टि की सराहना की।कैरेट ट्रेन फ़ंक्शन - वेरिएबल "ऑप्टिमाइज़बूट"

cl <- makeCluster(2, type = "SOCK") 

registerDoSNOW(cl) 

caret.cv <- train(ReturnedToMF ~ ., 
         data = trees.cetstrain, 
         method = "xgbTree", 
         tuneGrid = tune.grid, 
         trControl = cetstrain.control) 
Error in e$fun(obj, substitute(ex), parent.frame(), e$data) : 
    unable to find variable "optimismBoot" 

मैं इस साइट पर दिए गए लिंक पाया लेकिन यह वास्तव में समानांतर प्रसंस्करण काम करने के लिए एक समाधान प्रदान नहीं करता है: Caret on R spills "unable to find variable "optimismBoot"" error message

उत्तर

23

वहाँ कैरट GitHub पृष्ठ पर समस्या के लिए एक संदर्भ है। वे लगते हैं यह तय कर दी है करने के लिए हाल ही में

यहाँ देखें: https://github.com/topepo/caret/issues/706

उस मामले में, मैं GitHub से सीधे कैरट स्थापित करने लगता है समस्या का समाधान करना चाहिए।

devtools::install_github('topepo/caret/pkg/caret')

यहाँ देखें: https://github.com/topepo/caret

इन चरणों का पालन करें:

  1. स्थापित के रूप में हमेशा की तरह
  2. devtools पैकेज आदेश चलाएं (मैं तुम्हें RStudio उपयोग कर रहे हैं यह सोचते हैं रहा हूँ) devtools::install_github('topepo/caret/pkg/caret') और यह सुनिश्चित करने के लिए आउटपुट की जांच करें कि पैकेज को github
  3. से रीफ्रेश किया गया है
  4. आरस्टूडियो/आर पुनरारंभ करें। पैकेज एक्सप्लोरर में कैरेट का संस्करण पहले जैसा ही होगा, लेकिन पैकेज नए कोड
  5. का उपयोग करेगा, यह सुनिश्चित करने के लिए कि यह अपडेट हो गया है, आप caret:::nominalTrainWorkflow के साथ इस परिवर्तित आंतरिक फ़ंक्शन के स्रोत कोड को आउटपुट कर सकते हैं और निम्नलिखित सुनिश्चित कर सकते हैं लाइन वहां है: export <- c("optimism_xy")। आप इसे अभी करते हैं, लाइन के लिए होता है optimismBoot के बजाय optimism_xy

पुनश्च: कैरट का नवीनतम संस्करण, 7 सितंबर 2017 दिनांकित है तो अद्यतन करने के साथ-साथ इस मुद्दे को हल करना चाहिए।

+1

ऐसा लगता है कि 11 सितंबर, 2017 को ठीक हुआ है। 7 सितंबर (6।0-77) में फिक्स नहीं है :) – armen

+1

@armen: अरे elapsed समय! :-) 'install_github' आगे बढ़ने का तरीका है –

+1

मैं इसे लेता हूं तो मैं बस इतना कर सकता हूं कि कैरेट की एक नई रिलीज की प्रतीक्षा हो? मेरे पास वर्तमान में संस्करण 6.0-77 स्थापित है और अपडेट के लिए सीआरएएन की जांच करने के लिए कुछ नया नहीं मिला है। कोई विचार कितनी बार नए संस्करण प्रकाशित होते हैं? – cag

2

मुझे इस समस्या का सामना करना पड़ रहा था जब मैंने पैकेज को अद्यतन किया था, नया कैरेट संस्करण caret_6.0-77 है, अब मैं इसे कैरेट पैकेज के पुराने संस्करण को डाउनलोड करके हल करता हूं, cran archives संकुल से caret_6.0-76 है यह लिंक here पर क्लिक करें, और उसके बाद टूल मेनू से Rstudio का उपयोग करके स्थानीय रूप से पैकेज फ़ाइल स्थापित करें और उसके बाद पॉप-मेन्यू से संवाद बॉक्स को प्रकट करें, फ़ाइल (.extension)

मुझे आशा है कि यह सहायक मदद करेगा

0

मैं कहूंगा कि समांतर प्रसंस्करण के लिए example from the docs का उपयोग करें।

library(parallel) 
library(doMC) 
# use all cores except one 
doMC::registerDoMC(cores = parallel::detectCores() - 1) 

तुम सब करना है यही कारण है, तो आप train() चला सकते हैं और यह कोर आपके द्वारा निर्दिष्ट की संख्या का उपयोग करना चाहिए। मैंने इसे parallel लाइब्रेरी के साथ कोर की संख्या गतिशील रूप से पहचानने के लिए थोड़ा सा अनुकूलित किया।

संबंधित मुद्दे