【发布时间】:2015-04-11 15:33:45
【问题描述】:
在 caret 包中,有一个叫做 trainControl 的东西,它允许我们执行各种交叉验证。要执行 10 倍交叉验证,可以使用
fitControl <- trainControl(method= "repeatedcv", number = 10, repeats = 10)
fitJ48_10_fold <- train(x = x, y =y, method = "J48", trControl= fitControl)
而对于训练集,则是
fitControl <- trainControl(method= "none")
fitJ48train <- train(x = x, y =y, method = "J48", trControl= fitControl)
但是,这些模型的混淆矩阵在 10 倍和训练中显示相同。
Activity <- predict(fitJ48_10_fold, newdata = Train)
confusionMatrix(Activity, Train$Activity)
Activity <- predict(fitJ48train, newdata = Train)
confusionMatrix(Activity, Train$Activity)
我使用了 weka 分类器 GUI,实际上 J48 的 10 倍交叉验证的性能低于训练集的性能。我怀疑插入符号的 trainControl 不起作用或者我以错误的方式传递它是错误的吗?
【问题讨论】:
-
你能提供一些可重现的数据吗?
-
是的,感谢您的及时回复和 R 社区。可以通过以下链接访问数据。 github.com/Rnewbie/LikitMorganFP/blob/master/…link
标签: r cross-validation r-caret training-data