我有以下数据
scorer<-function(points){
points["scores"] <- as.vector((points$X-5)^2+(points$Y-5)^2-9)
points["class"]<-(as.vector( points$scores<0 ))
points
}
dt<-scorer(data.frame(X=c(0,1,5,20,5,3,9,3,5,5),Y=c(0,9,9,0,-18,3,4,5,7,4)))然后尝试使用支持向量机预测最后一列(类)
library(e1071)
model <- svm(class ~ . , dt)
predictedClass <- predict(model, dt)但它抱怨道:
Error in svm.default(x, y, scale = scale, ..., na.action = na.action) :
Need numeric dependent variable for regression.发布于 2017-06-23 03:00:41
发布于 2017-11-19 05:57:33
对于你的数据集,你可以使用支持向量机方法进行分类。
但是如果你绝对想要做回归,试着把你的变量"class“转换成数值形式,它可以取值1表示负分,0表示正分。
function(points) {
points["scores"] <- as.vector((points$X-5)^2+(points$Y-5)^2-9)
points["class"]<-as.vector( ifelse(points$scores<0 ,1,0))
points
}
dt<-scorer(data.frame(X=c(0,1,`enter code here`5,20,5,3,9,3,5,5),Y=c(0,9,9,0,-18,3,4,5,7,4)))
svm(class~.,dt)https://stackoverflow.com/questions/43499772
复制相似问题