我使用ksvm函数来训练数据,但在预测我有错误时,这里是代码:

svmmodel4 <- ksvm(svm_train[,1]~., data=svm_train,kernel = "rbfdot",C=2.4,
               kpar=list(sigma=.12),cross=5)

Warning message: In .local(x, ...) : Variable(s) `' constant. Cannot scale data.

pred <- predict(svmmodel4, svm_test[,-1])

Error in eval(expr, envir, enclos) : object 'res_var' not found.

如果我添加响应变量,它可以工作:

pred <- predict(svmmodel4, svm_test)

但是如果添加响应变量,它怎么能“预测”?我的代码出了什么问题?谢谢你的帮助!

完整的代码:

library(kernlab)
svmData <- read.csv("svmData.csv",header=T,stringsAsFactors = F)
svmData$res_var <- as.factor(svmData$res_var)
svm_train <- svmData1[1:2110,]
svm_test <- svmData1[2111:2814,]
svmmodel4 <- ksvm(svm_train[,1]~.,data = svm_train,kernel = "rbfdot",C=2.4, 
              kpar=list(sigma=.12),cross=5)
pred1 <- predict(svmmodel4,svm_test[,-1])