我正在尝试绘制我的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")
隐形眼镜arff是weka中的内置数据文件。
但是,现在我在尝试绘制模型时遇到错误。
plot(model, x)
Error in plot.svm(model, x) : missing formula.
问题在于,在模型中,您有多个协变量。的plot()
,如果你只会自动运行data=
的说法正好有三列(其中一个是响应)。例如,在?plot.svm
帮助页面中,您可以致电
data(cats, package = "MASS")
m1 <- svm(Sex~., data = cats)
plot(m1, cats)
因此,由于您只能在一个图上显示两个尺寸,因此需要指定要使用的尺寸x
以及y
有多个尺寸可供选择时
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
因此,这就是为什么出现“ Missing Formula”错误的原因。
还有另一个问题。该plot.svm
只绘制沿连续变量x
和y
轴。隐形眼镜data.frame仅具有分类变量。plot.svm
据我所知,该功能根本不支持此功能。您必须决定如何在自己的可视化中总结这些信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句