【发布时间】: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