सीवीटी और सीवीसी के बीच वास्तविक अंतर क्या है?


26

यह कैरेट री-सैंपलिंग के तरीकों के सवाल के समान है , हालांकि वास्तव में इस सवाल का इस तरह से जवाब नहीं दिया।

कार्यवाहक ट्रेन फ़ंक्शन प्रदान करता है cvऔर repeatedcv। क्या कहने में अंतर है:

MyTrainControl=trainControl(
    method = "cv",
    number=5,
    repeats=5
)

बनाम

MyTrainControl=trainControl(
   method = "repeatedcv",
   number=5,
   repeats=5
)

मैं समझता हूं cvकि सेट को के-फोल्ड (पैरामीटर number) में तोड़ दिया जाता है , और फिर शुरू होता है और इसे repeatsकई बार पैरामीटर चलाता है ।

केवल एक चीज मैं के बारे में सोच सकता है कि हो सकता है नियमित रूप से है cvके साथ repeatsउपयोग करता है एक ही सटीक अनुक्रमित हर बार परतों के लिए? अनिवार्य रूप से cvहर बार एक ही सटीक सिलवटों पर चल रहा है , बनाम शायद repeatedcvहर बार नए सिलवटों का चयन करता है?

क्या कोई स्पष्ट कर सकता है?


मुझे आश्चर्य है कि कुछ और तरीके भी हैं .. प्रत्येक की कुछ बुनियादी स्तर की समझ की आवश्यकता है, क्या कहीं भी मुझे पता चल सकता है? धन्यवाद।
मनोज कुमार

बहु गुना बनाने के Control()लिए, प्रत्येक k पार गुना (संख्या द्वारा दिया गया) के लिए कई बार ( आर में ट्रेन सिंटैक्स में दोहराए गए द्वारा ) कोड पुनरावृत्त होता है । सीवी का उपयोग करते समय क्रॉस गुना में, यह प्रत्येक गुना पर एक बार की प्रक्रिया है (ट्रेन में संख्याओं का उपयोग करके सेट control())।
नितेश जिंदल

जवाबों:


29

कार्य पुस्तिका, पृष्ठ 22 के अनुसार , पैरामीटर repeatsकेवल तब लागू होता है जब methodइसे सेट किया जाता है repeatedcv, इसलिए जब methodसेट किया जाता है तो कोई पुनरावृत्ति नहीं की जाती है cv। तो दोनों विधियों के बीच का अंतर वास्तव में repeatedcvदोहराता है और cvनहीं करता है।


एक तरफ: एक समान विभाजन के साथ एक क्रॉसवैलिडेशन को दोहराने से हर पुनरावृत्ति के लिए बिल्कुल वही परिणाम निकलेगा (यह मानते हुए कि मॉडल एक निर्धारक तरीके से प्रशिक्षित है), जो न केवल अक्षम है, बल्कि खतरनाक भी है जब सत्यापन परिणामों की तुलना करने की बात आती है एक सांख्यिकीय तरीके से विभिन्न मॉडल एल्गोरिदम। इसलिए इस बात से अवगत रहें यदि आपको कभी भी खुद को एक कार्यक्रम दर्ज करना है।


@BrianFeeny मदद करने के लिए खुश है। यदि उत्तर संतोषजनक था, तो कृपया वोट अप / डाउन बटन के नीचे चेक मार्क पर क्लिक करें। देखें सवाल पूछने पर पूछे जाने वाले प्रश्न जानकारी के लिए :)
स्टीफन

टूटी हुई कड़ी, अब यह cran.r-project.org/web/packages/caret/vignettes/caret.pdf भी है, यह अब पेज 4 पर है। सिर्फ 'दोहराया' के लिए खोजें
शब्दभेदी

3

इन मानकों के पीछे वास्तविक कोड में पाया जा सकता selectByFilter.Rहै और createDataPartition.R(पूर्व में createFolds.R`कैरट / आर / 'पैकेज के फ़ोल्डर में) स्रोत फ़ाइलें।

यहाँ और यहाँ के लिए ये फ़ाइलें देखें (इन permalinks से सावधान रहें अंततः कोड के पुराने संस्करण को इंगित कर सकते हैं)। सुविधा के लिए प्रासंगिक स्निपेट (संस्करण 6.0-78 सी। नोव 2017 के अनुसार) नीचे दिखाए गए हैं

SelectByFilter.R c में। लाइन 157

sbf <- function (x, ...) UseMethod("sbf")
... 

"sbf.default" <-
  function(x, y,
           sbfControl = sbfControl(), ...)
  {
    ...

    if(is.null(sbfControl$index)) sbfControl$index <- switch(
      tolower(sbfControl$method),
      cv = createFolds(y, sbfControl$number, returnTrain = TRUE),
      repeatedcv = createMultiFolds(y, sbfControl$number, sbfControl$repeats),
      loocv = createFolds(y, length(y), returnTrain = TRUE),
      boot =, boot632 = createResample(y, sbfControl$number),
      test = createDataPartition(y, 1, sbfControl$p),
      lgocv = createDataPartition(y, sbfControl$number, sbfControl$p))
...

CreateDataPartition.R में सी। लाइन 227

createMultiFolds <- function(y, k = 10, times = 5) {
  if(class(y)[1] == "Surv") y <- y[,"time"]
  prettyNums <- paste("Rep", gsub(" ", "0", format(1:times)), sep = "")
  for(i in 1:times) {
    tmp <- createFolds(y, k = k, list = TRUE, returnTrain = TRUE)
    names(tmp) <- paste("Fold",
                        gsub(" ", "0", format(seq(along = tmp))),
                        ".",
                        prettyNums[i],
                        sep = "")
    out <- if(i == 1) tmp else c(out, tmp)

  }
  out
}

उनके कार्यों पर एक नज़र डालें .... github.com/tonglu/caret/blob/master/pkg/caret/R/…
user3466398

7
क्या आप कृपया अपने उत्तर में अधिक संदर्भ दे सकते हैं? लिंक अच्छे हैं, लेकिन हम उन उत्तरों से बचने की कोशिश करते हैं जो अपने दम पर खड़े नहीं होंगे - लिंक गायब हो सकते हैं।
Glen_b -Reinstate मोनिका
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.