在 CARET 中为重复保留样本创建准确度度量向量
Create a vector of accuracy measures in CARET for repeated hold-out samples
我想根据通过重复保留样本(相同大小)创建的决策树创建一个准确度度量向量。我正在 CARET 中尝试这个。
library(caret)
ctrl <- trainControl(method = "LGOCV",
repeats = 60, p=0.66)
mod1 <- train(Species ~ ., data = iris,
method = "rpart",
trControl = ctrl)
我现在的目标是从 60 次重复试验中的每一次试验中获取准确度度量向量。但不确定下一步该怎么做。
通过一次试验,我会使用 confusionMatrix()。但不确定在这种情况下该怎么做。
想法?
首先,对于 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
参见 trainControl
中的选项 returnResamp
。默认情况下,这会保存最佳模型的结果。您也可以为每个调整参数获取它们。
最大
我想根据通过重复保留样本(相同大小)创建的决策树创建一个准确度度量向量。我正在 CARET 中尝试这个。
library(caret)
ctrl <- trainControl(method = "LGOCV",
repeats = 60, p=0.66)
mod1 <- train(Species ~ ., data = iris,
method = "rpart",
trControl = ctrl)
我现在的目标是从 60 次重复试验中的每一次试验中获取准确度度量向量。但不确定下一步该怎么做。
通过一次试验,我会使用 confusionMatrix()。但不确定在这种情况下该怎么做。
想法?
首先,对于 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
参见 trainControl
中的选项 returnResamp
。默认情况下,这会保存最佳模型的结果。您也可以为每个调整参数获取它们。
最大