我在R中有一个SVM,现在我想绘制这台机器的分类空间。我在互联网上找到了一些例子,但我似乎无法理解它们。
我的R脚本如下:
library(e1071)
day_of_week <- c(0,1,2,3,4,5,6)
holiday <- factor( c(T, F, F, F, F, F, T) )
model <- svm(day_of_week, holiday)
plot(model, day_of_week, holiday)
我无法让plot命令工作。我想要一个像http://bm2.genes.nig.ac.jp/RGM2/R_current/library/e1071/man/images/plot.svm_001.png
这样的图表答案 0 :(得分:17)
首先,plot.svm
函数假定数据在两个维度上有所不同。您在示例中使用的数据只是一维的,因此必须在一条线上绘制决策边界,这是不受支持的。其次,函数似乎需要一个数据框作为输入,你正在使用向量。
这应该有用......
library(e1071)
day = c(0,1,2,3,4,5,6)
weather = c(1,0,0,0,0,0,0)
happy = factor(c(T,F,F,F,F,F,F))
d = data.frame(day=day, weather=weather, happy=happy)
model = svm(happy ~ day + weather, data = d)
plot(model, d)
答案 1 :(得分:12)
或者,您可以使用kernlab包:
library(kernlab)
model.ksvm = ksvm(happy ~ day + weather, data = d, type="C-svc")
plot(model.ksvm, data=d)