kernlab类预测计算失败=>使用SVMLinear NOT SVMRadial

时间:2016-05-29 10:14:03

标签: r svm r-caret

我在使用插入符号训练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

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

0 个答案:

没有答案