首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用插入包的k-折叠交叉验证模型

使用插入包的k-折叠交叉验证模型
EN

Stack Overflow用户
提问于 2015-11-02 03:40:33
回答 3查看 53.4K关注 0票数 10

首先,我要说,我读过许多关于交叉验证的文章,而且似乎有很多混淆之处。我对此的理解很简单:

  1. 执行k-折叠交叉验证,即10倍,以了解10倍的平均误差。
  2. 如果可以接受,则在完整的数据集上对模型进行培训。

我试图在R中使用rpart并利用caret包构建一个决策树。下面是我正在使用的代码。

代码语言:javascript
运行
复制
# 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参数还是我的代码足够了?

EN

Stack Overflow用户

发布于 2016-12-01 14:31:29

这里需要注意的一件重要的事情是不要混淆模型选择和模型误差估计。

您可以使用交叉验证来估计模型的超参数(例如正则化参数)。

这通常是通过10倍的交叉验证来完成的,因为这是比较好的偏差-方差权衡的选择(2倍可能导致高偏差的模型,而忽略一次cv会导致高方差/过度拟合的模型)。

在此之后,如果您没有独立的测试集,您可以使用交叉验证来估计某个性能度量的经验分布:一旦您找到了最佳的超参数,就可以使用它们来估计de cv误差。

注意,在这一步中,超参数是固定的,但由于交叉验证模型的不同,模型参数可能是不同的。

票数 6
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33470373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档