5折交叉验证
5 fold Cross-validation
我已经使用此代码对 carData 库中的戴维斯数据集执行了 5 折交叉验证。
install.packages("caret")
library(caret)
trainControl<-trainControl(method="cv",number=5)
lm<-train(weight~height+repht+repwt,Davis,method="lm",trControl=trainControl)
lm
运行 这个我得到错误说有重量缺失值。
这是错误消息:
Error in na.fail.default(list(weight = c(77L, 58L, 53L, 68L, 59L, 76L, : missing values in object
对于如何解决此问题的任何建议,我将不胜感激。提前致谢!
您的预测器中存在遗漏错误,例如:
library(caret)
data = mtcars
data$mpg[c(3,6,9)]<-NA
trainControl<-trainControl(method="cv",number=5)
fit<-train(mpg~cyl+hp,data,method="lm",trControl=trainControl)
Error in na.fail.default(list(mpg = c(21, 21, NA, 21.4, 18.7, NA, 14.3, :
missing values in object
使用complete.cases获取包含完整观察的数据
complete.obs = complete.cases(data[,c("mpg","cyl","hp")])
data = data[complete.obs,]
fit<-train(mpg~cyl+hp,data,method="lm",trControl=trainControl)
在你的情况下,应该是:
complete.obs = Davis[,c("weight","height","repht","repwt")]
我已经使用此代码对 carData 库中的戴维斯数据集执行了 5 折交叉验证。
install.packages("caret")
library(caret)
trainControl<-trainControl(method="cv",number=5)
lm<-train(weight~height+repht+repwt,Davis,method="lm",trControl=trainControl)
lm
运行 这个我得到错误说有重量缺失值。 这是错误消息:
Error in na.fail.default(list(weight = c(77L, 58L, 53L, 68L, 59L, 76L, : missing values in object
对于如何解决此问题的任何建议,我将不胜感激。提前致谢!
您的预测器中存在遗漏错误,例如:
library(caret)
data = mtcars
data$mpg[c(3,6,9)]<-NA
trainControl<-trainControl(method="cv",number=5)
fit<-train(mpg~cyl+hp,data,method="lm",trControl=trainControl)
Error in na.fail.default(list(mpg = c(21, 21, NA, 21.4, 18.7, NA, 14.3, :
missing values in object
使用complete.cases获取包含完整观察的数据
complete.obs = complete.cases(data[,c("mpg","cyl","hp")])
data = data[complete.obs,]
fit<-train(mpg~cyl+hp,data,method="lm",trControl=trainControl)
在你的情况下,应该是:
complete.obs = Davis[,c("weight","height","repht","repwt")]