Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 绘图错误,使用svm时缺少公式_R_Svm - Fatal编程技术网

R 绘图错误,使用svm时缺少公式

R 绘图错误,使用svm时缺少公式,r,svm,R,Svm,我正在尝试绘制我的svm模型 library(foreign) library(e1071) x <- read.arff("contact-lenses.arff") #alt: x <- read.arff("http://storm.cis.fordham.edu/~gweiss/data-mining/weka-data/contact-lenses.arff") model <- svm(`contact-lenses` ~ . , data = x, type =

我正在尝试绘制我的svm模型

library(foreign)
library(e1071)

x <- read.arff("contact-lenses.arff")
#alt: x <- read.arff("http://storm.cis.fordham.edu/~gweiss/data-mining/weka-data/contact-lenses.arff")
model <- svm(`contact-lenses` ~ . , data = x, type = "C-classification", kernel = "linear")

问题在于,在模型中,存在多个协变量。只有当
data=
参数正好有三列(其中一列是响应)时,
plot()才会自动运行。例如,在
?plot.svm
帮助页面中,您可以调用

data(cats, package = "MASS")
m1 <- svm(Sex~., data = cats)
plot(m1, cats)
这就是为什么会出现“缺少公式”错误

还有一个问题。
plot.svm
将仅沿
x
y
轴绘制连续变量。隐形眼镜data.frame只有分类变量。据我所知,
plot.svm
函数根本不支持这一点。您必须决定如何在自己的可视化中总结这些信息

data(cats, package = "MASS")
m1 <- svm(Sex~., data = cats)
plot(m1, cats)
cplus<-cats
cplus$Oth<-rnorm(nrow(cplus))
m2 <- svm(Sex~., data = cplus)
plot(m2, cplus) #error
plot(m2, cplus, Bwt~Hwt) #Ok
plot(m2, cplus, Hwt~Oth) #Ok