首先,我要说,我读过许多关于交叉验证的文章,而且似乎有很多混淆之处。我对此的理解很简单:
我试图在R中使用rpart并利用caret包构建一个决策树。下面是我正在使用的代码。
# load libraries
library(caret)
library(rpart)
# define training control
train_control<- trainControl(method="cv", number=10)
# train the model
model<- train(resp~., data=mydat, trControl=train_control, method="rpart")
# make predictions
predictions<- predict(model,mydat)
# append predictions
mydat<- cbind(mydat,predictions)
# summarize results
confusionMatrix<- confusionMatrix(mydat$predictions,mydat$resp)我有一个问题,关于插入式列车的申请。我读过插入符号包简介列车区段,其中规定在重采样过程中,确定了“最优参数集”。
在我的例子中,我是否正确地编码了它?我需要在我的代码中定义rpart参数还是我的代码足够了?
发布于 2016-12-01 14:31:29
这里需要注意的一件重要的事情是不要混淆模型选择和模型误差估计。
您可以使用交叉验证来估计模型的超参数(例如正则化参数)。
这通常是通过10倍的交叉验证来完成的,因为这是比较好的偏差-方差权衡的选择(2倍可能导致高偏差的模型,而忽略一次cv会导致高方差/过度拟合的模型)。
在此之后,如果您没有独立的测试集,您可以使用交叉验证来估计某个性能度量的经验分布:一旦您找到了最佳的超参数,就可以使用它们来估计de cv误差。
注意,在这一步中,超参数是固定的,但由于交叉验证模型的不同,模型参数可能是不同的。
https://stackoverflow.com/questions/33470373
复制相似问题