【问题标题】:Applying k-fold Cross Validation model using caret package使用 caret 包应用 k 折交叉验证模型
【发布时间】:2016-02-01 21:48:30
【问题描述】:

首先让我说我已经阅读了很多关于交叉验证的帖子,似乎那里有很多混乱。我的理解是这样的:

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

我正在尝试在 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)

我有一个关于插入符号火车申请的问题。我已经阅读了A Short Introduction to the caret Package train 部分,其中指出在重采样过程中确定了“最佳参数集”。

在我的示例中,我是否正确编码?我需要在我的代码中定义rpart 参数还是我的代码足够?

【问题讨论】:

    标签: r cross-validation r-caret rpart


    【解决方案1】:

    当您执行 k 折交叉验证时,您已经在对每个样本进行预测,超过 10 个不同的模型(假设 k = 10)。 无需对完整数据进行预测,因为您已经从 k 个不同的模型中获得了预测。

    你可以做的是:

    train_control<- trainControl(method="cv", number=10, savePredictions = TRUE)
    

    然后

    model<- train(resp~., data=mydat, trControl=train_control, method="rpart")
    

    如果您想以良好的格式查看观察和预测,只需键入:

    model$pred
    

    对于您问题的第二部分,插入符号应该处理所有参数内容。如果需要,您可以手动尝试调整参数。

    【讨论】:

      【解决方案2】:

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

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

      通常使用 10 折交叉验证来完成,因为它是偏差-方差权衡的好选择(2 折可能导致模型具有高偏差,留下一个 cv 可能导致模型具有高方差/过度-配件)。

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

      请注意,在此步骤中,超参数是固定的,但交叉验证模型中的模型参数可能不同。

      【讨论】:

        【解决方案3】:

        short introduction document for caret 包的第一页中,提到了跨参数选择最佳模型。 作为起点,必须了解交叉验证是一种选择最佳建模方法的过程,而不是模型本身CV - Final model selection。 Caret 使用tuneGrid 提供网格搜索选项,您可以在其中提供要测试的参数值列表。训练完成后,最终模型会有优化的参数。

        【讨论】:

          猜你喜欢
          • 2019-12-17
          • 2018-12-17
          • 2016-01-15
          • 2018-07-15
          • 2018-04-02
          • 1970-01-01
          • 1970-01-01
          • 2020-11-30
          • 2020-02-06
          相关资源
          最近更新 更多