我正在尝试在多类模型上绘制SVM分类图。为此,根据我尝试的修改,我会得到不同的错误。
我的原始数据集有两个以上的变量,对于图而言,我知道必须选择特定的列,这是我在下面的代码(包括类列)中完成的。 (代码的第1部分)
我试图创建一个只包含将实际绘制的列的子数据框(请参见代码的第2部分)。为此,我能够进行绘制(尽管看起来确实很奇怪,但是我没有得到错误代码)。
在此之前,我遇到了以下错误(请参阅第3部分),我意识到必须在数据下指定列。
我还尝试在plot函数中包括其他规范(请参阅第4部分),但是我得到一个错误术语,即未找到我的对象。我使用colnames(data)仔细检查了数据名称是否正确。我知道R的姓氏以数字开头存在问题,我将其姓氏更改为以X开头,但这似乎无法解决问题。
第1部分:
tune2<-tune(svm,x~., data=train.data[,c(1,2,3)],type="C-classification",kernel="radial",cost=c(.1,0.5,1,2,5,10),gamma=c(0.01,0.1,0.5,1))
plot(tune2$best.model,train.data[ ,c(1,2,3)])
Error in `[.data.frame`(expand.grid(lis), , labels(terms(x))) :
undefined columns selected
第2部分:
train.data.subset<-train.data[,1:3]
tune.subset<-tune.svm(x~., data=train.data.subset,type="C-classification",kernel="linear",cost=c(0.1,0.5,1,2,5,10))
plot(tune.subset$best.model,train.data.subset)
第3部分:
tune2<-tune.svm(x~., data=train.data,type="C-classification",kernel="radial",cost=c(.1,0.5,1,2,5,10),gamma=c(0.01,0.1,0.5,1))
plot(tune2$best.model,train.data[,c(1:3)])
Error in eval(predvars, data, env) : object '2082' not found
第4部分:
plot(tune2$best.model,valid.data,valid.data$'2078'~valid.data$'2080',slice=list(4:102)) ###should only have 3 columns
Error in eval(predvars, data, env) : object '2078' not found