R因变量中的调整SVM类型错误
我正在使用R因变量中的调整SVM类型错误,r,svm,R,Svm,我正在使用e1071中的svm处理这样的数据集: sdewey <- svm(x = as.matrix(trainS), y = trainingSmall$DEWEY, type="C-classification") svm_tune <- tune(svm, train.x=as.matrix(trainS), train.y=trainingSmall$DEWEY, type="C-classification",
e1071
中的svm
处理这样的数据集:
sdewey <- svm(x = as.matrix(trainS),
y = trainingSmall$DEWEY,
type="C-classification")
svm_tune <- tune(svm, train.x=as.matrix(trainS), train.y=trainingSmall$DEWEY, type="C-classification", ranges=list(cost=10^(-1:6), gamma=1^(-1:1)))
这是一个多类问题。
我不确定如何解决这个问题,或者是否有其他方法可以找到成本和伽马参数的最佳值
是指没有前4列(杜威、D1、D2和D3)的数据
谢谢谢谢,效果很好。我意识到我留下了type=“linear”标志,这没有意义,因为没有必要为特定类型查找成本和gamma(我试图看看linear是否比RBF工作得最差/更好)。我编辑了这个问题来解决这个问题。
'data.frame': 1000 obs. of 1542 variables:
$ women.prisoners : int 1 0 0 0 0 0 0 0 0 0 ...
$ reformatories.for.women : int 1 0 0 0 0 0 0 0 0 0 ...
$ women : int 1 0 0 0 0 0 0 0 0 0 ...
$ criminal.justice : int 1 0 0 0 0 0 0 0 0 0 ...
$ soccer : int 0 1 0 0 0 0 0 0 0 0 ...
$ coal.mines.and.mining : int 0 0 1 0 0 0 0 0 0 0 ...
$ coal : int 0 0 1 0 0 0 0 0 0 0 ...
$ engineering.geology : int 0 0 1 0 0 0 0 0 0 0 ...
$ family.violence : int 0 0 0 1 0 0 0 0 0 0 ...
require(e1071)
trainingSmall<-read.csv("trainingSmallExtra.csv")
sdewey <- svm(x = as.matrix(trainingSmall[,4:nrow(trainingSmall)]),
y = trainingSmall$DEWEY,
type = "C-classification",
kernel = "linear" # same as no kernel
)
trainingSmall$DEWEY <- as.factor(trainingSmall$DEWEY)
svm_tune <- tune(svm, train.x = as.matrix(trainingSmall[,4:nrow(trainingSmall)]),
train.y = trainingSmall$DEWEY, # the way I'm formatting your
kernel = "linear", # code is Google's R style
type = "C-classification",
ranges = list(
cost = 10^(-1:6),
gamma = 1^(-1:1)
)
)