我在使用插入符号训练SVMLinear时遇到了问题 . 尽管如此,数据与SVMRadial一样正常 .

数据可通过(2016年5月29日)访问:https://www.dropbox.com/s/ia2vc25uhxdgqn1/projetTest01.txt?dl=0

(8000行1021变量,〜10%目标)

这是代码:

projetTest01<-read.table("projetTest01.txt", sep="\t")
Test01<-list(data=projetTest01[,-c(2,3)],label=projetTest01[,3])
Test01N<-Test01

Test01N$label<-as.factor(Test01$label)
levels(Test01N$label)[levels(Test01N$label)=="0"] <- "No"
levels(Test01N$label)[levels(Test01N$label)=="1"] <- "Yes"

temp<-as.matrix(Test01$data)
storage.mode(temp) <- "numeric"     #I need 'num' type
Test01N$data<-as.data.frame(temp)

svmTuneGrid_L <- data.frame(.C = 2^(-2:7))
trControl_SVML<-trainControl(method = "repeatedcv", repeats = 3, classProbs =  TRUE)
svmFit_Lin <- train(Test01N$label ~ ., data = Test01N$data,method = "svmLinear",preProc = c("center", "scale"), tuneGrid = svmTuneGrid_L,trControl = trControl_SVML)

我得到了这些消息:

行搜索失败[..]

方法$ predict中的警告(modelFit = modelFit,newdata = newdata,submodels = param):kernlab类预测计算失败;返回NAs

data.frame(...,check.names = FALSE)中的警告:从一个短变量中找到行名并丢弃

我在网站/网站上查找了一些答案,但是

  • 级别不是数字(=是/否)

  • ClassProb设置为TRUE

  • 标签无法从另一个变量完美预测(我从其他算法中知道这一点)

  • 没有空类

  • preproc(scale)与否并没有什么区别

  • 使用SVMRadial可以很好地处理数据!!

  • 我使用插入符号6.0-68

我真的很茫然 . 有人的想法吗?