svm图中的错误:[..data.frame`(expand.grid(lis),,labels(terms(x)))中的错误:未定义的列已选中

时间:2019-07-02 16:27:16

标签: plot svm

我正在尝试在多类模型上绘制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

0 个答案:

没有答案