SVM caret error: "Std. deviations could not be computed for... missing value where TRUE/FALSE needed"
SVM caret error: "Std. deviations could not be computed for... missing value where TRUE/FALSE needed"
我正在尝试 运行 使用分层交叉验证插入符号中的 SVM 代码,但我收到此错误:"Std. deviations could not be computed for: diff1, diff2, diff3, diff4, diff5, diff6,...model fit failed for Resample01: sigma=0.000, C=0.010 Error in if (any(co)) { : missing value where TRUE/FALSE needed"
"diff1, diff2, diff3, diff4, diff5, diff6,..." 是用于预测具有 2 个水平的因子变量的定量变量
set.seed(1)
folds<-createFolds(file_test$y,k=10,list=FALSE) # statified folds for cross-validation
ctrl<-trainControl(method="repeatedcv",index=folds,classProbs = TRUE,summaryFunction = twoClassSummary)
grid_radial <- expand.grid(
sigma = c(0,0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75,0.9),
C = c(0.01,0.025,0.05,0.075,0.1,0.25, 0.5, 0.75, 1))
SVMrad<-train(y ~., data=file_test,
method="svmRadial", # SVM algorithm
tuneGrid = grid_radial,
trControl=ctrl,
preProc=c("center","scale"),
metric="ROC")
我检查了 'file_test' 但没有缺失值。
希望你能帮我解决这个问题。
你是factor
吗?例如,y 是 1 和 0 的向量,您需要 运行
file_test$y <- as.factor(ifelse(y==1, "one","zero"))
我终于发现问题所在:我必须在 createFolds 函数中使用选项 "list=TRUE":
folds<-createFolds(file_test$y,k=10,list=TRUE)
我正在尝试 运行 使用分层交叉验证插入符号中的 SVM 代码,但我收到此错误:"Std. deviations could not be computed for: diff1, diff2, diff3, diff4, diff5, diff6,...model fit failed for Resample01: sigma=0.000, C=0.010 Error in if (any(co)) { : missing value where TRUE/FALSE needed"
"diff1, diff2, diff3, diff4, diff5, diff6,..." 是用于预测具有 2 个水平的因子变量的定量变量
set.seed(1)
folds<-createFolds(file_test$y,k=10,list=FALSE) # statified folds for cross-validation
ctrl<-trainControl(method="repeatedcv",index=folds,classProbs = TRUE,summaryFunction = twoClassSummary)
grid_radial <- expand.grid(
sigma = c(0,0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75,0.9),
C = c(0.01,0.025,0.05,0.075,0.1,0.25, 0.5, 0.75, 1))
SVMrad<-train(y ~., data=file_test,
method="svmRadial", # SVM algorithm
tuneGrid = grid_radial,
trControl=ctrl,
preProc=c("center","scale"),
metric="ROC")
我检查了 'file_test' 但没有缺失值。
希望你能帮我解决这个问题。
你是factor
吗?例如,y 是 1 和 0 的向量,您需要 运行
file_test$y <- as.factor(ifelse(y==1, "one","zero"))
我终于发现问题所在:我必须在 createFolds 函数中使用选项 "list=TRUE":
folds<-createFolds(file_test$y,k=10,list=TRUE)