我不知道如何使用caret
中的R
包提取训练错误(即在训练集上获得的错误)。例如,我有以下模型:
data(iris);
library(caret);
model<-train(Species~., data=iris, method='knn', trControl=trainControl(method='cv', number=10), tuneGrid=data.frame(k=20))
我想要做的是看模型在训练数据上的表现如何 。
我知道我可以使用model$results
在每个折叠的测试集上获得性能,但这不是我想要的。我想说明训练错误是如何方式过度乐观,但我无法做到这一点。这里的文档:
http://www.inside-r.org/packages/cran/caret/docs/train
说明
results
:数据框架的训练错误率和调整值 参数。
不为真,因为在我的情况下,model$results$Accuracy
始终完全等于mean(model$resample$Accuracy)
的值。这是测试错误率的值。我想要培训错误率。有办法搞定吗?
答案 0 :(得分:1)
我认为你要求的是这样的东西:
model3<-train(Species~., data=iris, method='knn', trControl=trainControl(method='none'), tuneGrid=data.frame(k=20))
testPred <- predict(model3, iris)
postResample(testPred, iris$Species)
Accuracy Kappa
0.98 0.97