R语言实现SVM的可视化

来源:互联网 发布:卖家如何申请淘宝达人 编辑:程序博客网 时间:2024/05/29 07:53

要可视化已经构造好的模型,用户可以首先使用plot函数绘制散点图来说明输入的数据以及相应的SVM模型。在图中,支持向量和类别可以被高亮显示,这样和色彩的样例区分开来,另外,用户还可以采用等高线图绘制类的边缘,从等高线图可以更加容易地判断被错分的样例。

操作

使用iris数据集和telecom churn两个数据集。

data("iris")model.iris = svm(Species ~ .,iris)plot(model.iris,iris,Petal.Width ~ Petal.Length,slice = list(Sepal.Width=3,Sepal.Length = 4))

SVM分类模型图
调用plot函数,绘制SVM对象model,x轴和y轴分别对应tatal_intl_charge和total_day_minutes:

plot(model,trainset,total_day_minutes ~ total_intl_charge)

churn数据集的SVM分类模型

绘图原理说明

本节讨论了如何使用plot函数实现SVM模型的可视化,我们基于iris数据集训练得到了支持向量集,并调用plot函数绘制了SVM模型。
在参数列表中,plot的第一个参数名为模型名称,第二个参数为指定的样本数据集(该数据集必须与构建的模型的数据集一致),第三个参数是对分类图坐标轴的说明,默认情况下,plot函数将绘制一个二维(x轴-y轴)的散点图。
标记为X与O的数据点依次分布在图中,X代表支持向量,O代表样例数据,可以通过配置svSymbol和dataSymbol来调整样例的标记。所有的支持向量及true class都已经高亮并根据类别不同选取不同的颜色。最后一个参数slice,仅在变量个数大于2时设置,在本例中我们还使用了两个向量Sepal.Width,Sepal.Length,并分别用3和4为它们赋值。