如何解决交叉验证:formula.character(object, env = baseenv()) 中的错误:无效的公式
我正在尝试进行交叉验证,以查看 5 个蘑菇特征中的哪个模型最能预测蘑菇是可食用的还是有毒的。我正在尝试使用 allCombs
函数遍历所有可能的组合以获取蘑菇特征。
这是我得到的错误:
Error in formula.character(object,env = baseenv()) :
invalid formula c("CapShape","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,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))
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。