在R中绘制支持向量机线性分离器 [英] Plotting SVM Linear Separator in R

查看:14
本文介绍了在R中绘制支持向量机线性分离器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试用e1071的支持向量机绘制分隔三类问题的二维超平面(线)。我使用了默认方法(因此不涉及公式),如下所示:

library('e1071')
## S3 method for class 'default':
machine <- svm(x, y, kernel="linear")

我似乎无法使用plot.svm方法绘制它:

plot(machine, x)
Error in plot.svm(machine, x) : missing formula.

但我没有使用公式方法,我使用的是默认方法,如果我将'~''~.'作为公式参数传递,它将报告矩阵x不是data.frame

  • 是否有办法在使用默认方法时为2D问题绘制适合的分隔符?
  • 如何实现此目标?

提前谢谢。

推荐答案

虽然svm()允许您使用默认或公式方法指定输入,但plot.svm()仅允许公式方法。此外,只将x提供给plot.svm(),并没有给它所需的所有信息。还需要y

试试:

library(e1071)

x <- prcomp(iris[,1:4])$x[,1:2]
y <- iris[,5]

df <- data.frame(cbind(x[],y[]))

machine <- svm(y ~ PC1 + PC2, data=df)
plot(machine, data=df)

这篇关于在R中绘制支持向量机线性分离器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆