r - 交叉验证:formula.character(object, env = baseenv()) 中的错误:公式无效
问题描述
我正在尝试进行交叉验证,以查看 5 个蘑菇特征中的哪个模型最能预测蘑菇是可食用的还是有毒的。我正在尝试使用该allCombs
函数将所有可能的组合循环到蘑菇特征。
这是我得到的错误:
Error in formula.character(object, env = baseenv()) :
invalid formula c("CapShape", "0", "0", "0", "0"):
not a call
任何关于我哪里出错的帮助将不胜感激,我的代码如下:
idx <- sample(nrow(mushroom_data), 4062) #50:50 split between sets.
train_data_mushroom <- mushroom_data[idx, ]; test_data_mushroom <- mushroom_data[-idx, ]
#all possible models we want to consider
combs <- allCombs(1:5)
combs <- allCombs(c("CapShape", "CapSurface", "CapColor", "Odor", "Height")) #mushroom features
combs=combs[-1 ,]
combs[is.na(combs)] <- 0
predictiveloglikelihood3 <- rep(NA, nrow(combs))
for (i in 1:nrow(combs)){
paste("Edible ~", paste(combs[i, 1:5], collapse="+"))
current_model <- glm(formula = combs[i, 1:5], data=train_data_mushroom)
sigma <- sqrt(summary(current_model)$dispersion)
ypredict_mean <- predict(current_model, test_data_mushroom)
predictiveloglikelihood3[i] <- sum(dnorm(test_data_mushroom$Edible, ypredict_mean, sigma, log=TRUE))
}
解决方案
推荐阅读
- java - 配置 Springboot Jaeger 和 RSocket
- json - 使用 jq 通过非唯一键将数组转换为对象
- scala - Scala 中 Derived DataFrame 的持久化工作原理及其对性能的影响
- reactjs - 反应路由器循环并返回
- python - 使用部分文本获取标签的值
- ios - 每场比赛的游戏中心排行榜
- assembly - nasm 键盘驱动程序 I/O
- vuetify.js - 如何使用 Vuetify 将 v-card 放在页面中心
- javascript - React Js 中的路由
- c# - 如何使用 TOptions 在 .net core 3.1 中配置和注入 JwtOptions?