在CARET中为重复保留样本创建精度测量向量

时间:2015-02-08 05:35:11

标签: r decision-tree r-caret

我想从重复保持样本(相同大小)创建的决策树创建精度度量向量。我在CARET尝试这个。

library(caret)

ctrl <- trainControl(method = "LGOCV", 
                     repeats = 60, p=0.66)

mod1 <- train(Species ~ ., data = iris, 
              method = "rpart", 
              trControl = ctrl)

我的目标是从60次重复试验中获取准确度量的向量。但不知道下一步该做什么。

通过一次试验,我会使用confusionMatrix()。但不知道在这种情况下该怎么做。

思想?

1 个答案:

答案 0 :(得分:0)

首先,对于method = "LGOCV",请使用number = 60而不是repeats

有一个名为resamples的子对象。

> ctrl <- trainControl(method = "LGOCV", 
+                      number = 60, p=0.66)
> 
> mod1 <- train(Species ~ ., data = iris, 
+               method = "rpart", 
+               trControl = ctrl)

> str(mod1$resample)
'data.frame':   60 obs. of  3 variables:
 $ Accuracy: num  0.902 0.961 0.922 0.922 0.941 ...
 $ Kappa   : num  0.853 0.941 0.882 0.882 0.912 ...
 $ Resample: chr  "Resample14" "Resample13" "Resample15" "Resample11" ...
> length(unique(mod1$resample$Resample))
[1] 60

请参阅returnResamp中的trainControl选项。默认情况下,这会保存最佳模型的结果。您也可以为每个调整参数获取它们。

最高