R SVM预测newdata与newx

时间:2019-06-21 20:02:17

标签: r svm predict confusion-matrix

我在R中构建了一个简单的SVM计算机。 当我想预测测试集的类别并使用newdata时,得到的结果与使用newx时得到的结果不同。

无论出于何种原因,newx都会提供更好的结果。

set.seed(1)
x=matrix(rnorm(200*2), ncol=2)
x[1:100,]=x[1:100,]+2
x[101:150,]=x[101:150,]-2
y=c(rep(1,150),rep(2,50))
dat=data.frame(x=x,y=as.factor(y))
plot(x, col=y)
train=sample(200,100)

tune.out=tune(svm, y~., data=dat[train,], kernel="radial", ranges=list(cost=c(0.1,1,10,100,1000),gamma=c(0.5,1,2,3,4)))

table(true=dat[-train,"y"], pred=predict(tune.out$best.model,newdata = dat[-train,]))

table(true=dat[-train,"y"], pred=predict(tune.out$best.model,newx =     dat[-train,]))

使用newx,混淆矩阵要好得多 有人可以告诉我怎么回事

0 个答案:

没有答案