【发布时间】:2018-02-18 10:56:43
【问题描述】:
我是插入符号库的新手。我想使用 train 函数在我的数据集上运行交叉验证(使用 rpart 方法进行分类)。我的目标是使用从我的训练调用返回的数据生成学习曲线。学习曲线将在 x 轴上绘制数据集大小。训练集和交叉验证集的预测误差将绘制为数据集大小的函数。
我的问题是,插入符号是否对训练和 cv 折叠都进行了预测?如果答案是肯定的,我将如何提取这些数据?
假设答案是肯定的,下面是一个简单的代码示例,您可以附加到该示例中来说明:
library(MASS)
data(biopsy)
biopsy <- biopsy[, -1]
names(biopsy) <- c("thick", "u.size", "u.shape", "adhsn", "s.size", "nucl", "chrom", "n.nuc", "mit", "class")
biopsy.v2 <- na.omit(biopsy)
set.seed(1)
ind <- sample(2, nrow(biopsy.v2), replace = TRUE, prob = c(0.7, + 0.3))
biop.train <- biopsy.v2[ind == 1, ]
tr.model <- caret::train(class ~ ., data= biop.train, trControl = trainControl(method="cv", number=4, verboseIter = FALSE, savePredictions = "final"), method='rpart')
#Can I extract train and cv accuracies from tr.model?
谢谢。
注意:我意识到我可能需要使用我的数据集的不同样本重复调用 train(假设 caret 也不支持这一点),这并没有反映在此处的代码示例中。
【问题讨论】:
标签: r cross-validation r-caret rpart