【问题标题】:Calculating the error rate over a 10-fold CV计算 10 倍 CV 的错误率
【发布时间】:2020-11-21 11:44:16
【问题描述】:

我对 R 真的很陌生,而且我在理解一些概念时遇到了很多困难。如果有人可以帮助我了解如何计算 10 倍 CV 的平均错误率。这是我下面的代码。但即使我知道答案应该是 0.149,但平均错误率却是 1。我相信这可能与我的预测概率有关,也许我计算错了。但是,如果有人注意到这段代码中有什么问题,如果你能指出来,那就太好了!

error_rate_value<-as.numeric()
for(i in 1:10){
        fold_test <- training_data[folds[[i]],]
        fold_train <- training_data[-folds[[i]],]
        trained_model <- glm(O ~ T, data = fold_cv_train, family = binomial)
        pred_prob <- predict(trained_model, fold_test, type='response')
        glm.pred <- rep("Yes",dim(fold_test)[1])
        glm.pred[pred_prob<.5] <- "No"
        error_rate_fold <- mean(glm.pred != fold_test[,1])
        error_rate_value <- append(error_rate_value, error_rate_fold)
}

mean(error_rate_value)

【问题讨论】:

    标签: r logistic-regression cross-validation


    【解决方案1】:

    我想通了。我的问题是我正在测试错误的 fold_test 列。将其更改为我的数据框中的最后一列会导致正确答案!

    【讨论】:

      猜你喜欢
      • 2012-06-07
      • 2011-08-14
      • 2021-09-23
      • 2016-01-10
      • 2012-04-21
      • 1970-01-01
      • 2016-09-11
      • 2014-03-18
      • 2021-03-21
      相关资源
      最近更新 更多