caret
라이브러리의 rfe
기능에 관한 질문이 있습니다. 이 예를 들어 algorithmR 캐럿/rfe 내의 열차에 대한 교차 유효성 검사는 어떻게합니까?
나는 3 배 교차 유효성 검사와 rfe
기능과 선형 SVM 5 배와 기차 기능을 사용하고 있습니다 : 캐럿 - 홈페이지 link 그들은 다음 RFE 알고리즘을 제공 교차 검증. 3 폴드
train
함수하고자로 데이터 (150 샘플)을 분할 할
rfe
: I는 알고리즘 2 중첩 교차 검증 작동한다고 가정 위 알고리즘에서library(kernlab) library(caret) data(iris) # parameters for the tune function, used for fitting the svm trControl <- trainControl(method = "cv", number = 5) # parameters for the RFE function rfeControl <- rfeControl(functions = caretFuncs, method = "cv", number= 4, verbose = FALSE) rf1 <- rfe(as.matrix(iris[,1:4]), as.factor(iris[,5]) ,sizes = c(2,3) , rfeControl = rfeControl, trControl = trControl, method = "svmLinear")
- 후속 RFE로 모델 파라미터를 조정하기 위해 5 배 십자가 유효성 확인을 사용하여 교육 세트 (100 개 샘플)에서 실행하십시오. 나를 혼란 무엇
내가 rfe
함수의 결과에 대한보고 찍을 때이다 :
> lapply(rf1$control$index, length)
$Fold1
[1] 100
$Fold2
[1] 101
$Fold3
[1] 99
> lapply(rf1$fit$control$index, length)
$Fold1
[1] 120
$Fold2
[1] 120
$Fold3
[1] 120
$Fold4
[1] 120
$Fold5
[1] 120
을 그에서 나타나는 그 5 배에서 훈련 세트의 크기 cv는 80의 크기를 기대할 때 120 샘플입니다. ?? 사람이 어떻게 RFE 및 기차 함께 작동 명확히 할 수 있다면
는 그래서 좋은 것입니다.건배
> sessionInfo()
R version 2.15.1 (2012-06-22)
Platform: i386-apple-darwin9.8.0/i386 (32-bit)
locale:
[1] C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] pROC_1.5.4 e1071_1.6-1 class_7.3-5 caret_5.15-048
[5] foreach_1.4.0 cluster_1.14.3 plyr_1.7.1 reshape2_1.2.1
[9] lattice_0.20-10 kernlab_0.9-15
loaded via a namespace (and not attached):
[1] codetools_0.2-8 compiler_2.15.1 grid_2.15.1 iterators_1.0.6
[5] stringr_0.6.1 tools_2.15.1
5 배 CV는 각 CV 암에 대한 데이터 세트의 1/5을 제거합니다. 따라서 매번 120 번씩 훈련을하고 나머지 30 개의 샘플을 테스트 세트로 사용합니다. 30 샘플 * 5 = 150 샘플. – tcash21
예. 그러나 알고리즘의 설명에 따라 5 배 CV가 3 배 cv로 인한 훈련 데이터에 적용되어야합니다. 따라서 1 차 훈련 세트 = 150/3 * 2, 2 차 100/5 * 4 = 80. –
@ Fabian_G 이것을 알아 냈습니까? 나는 같은 문제를 겪고 있으며, topepo에 연락하거나 버그 보고서를 제출하는 것을 고려하고 있었다. – Reilstein