卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章32974本站已运行3818

Python实现支持向量机(SVM)分类:算法原理详解

支持向量机(SVM)算法原理 Python实现支持向量机(SVM)分类

在机器学习中,支持向量机(SVM)常被用于数据分类和回归分析,是由分离超平面的判别算法模型。换句话说,给定标记的训练数据,该算法输出一个对新示例进行分类的最佳超平面。

支持向量机(SVM)算法模型是将示例表示为空间中的点,经过映射后,不同类别的示例被尽可能划分。除了执行线性分类外,支持向量机(SVM)还可以有效地执行非线性分类,将其输入隐式映射到高维特征空间。

支持向量机做什么?

给定一组训练示例,并根据2个类别给每个训练示例都各自标记上类别,再通过支持向量机(SVM)训练算法构建一个模型,将新示例分配给这2个类别,使其成为非概率二元线性分类器。

Python实现支持向量机(SVM)分类

先决条件:Numpy、Pandas、matplot-lib、scikit-learn

首先,创建数据集

from sklearn.datasets.samples_generator import make_blobs
X,Y=make_blobs(n_samples=500,centers=2,
random_state=0,cluster_std=0.40)
import matplotlib.pyplot as plt
plt.scatter(X[:,0],X[:,1],c=Y,s=50,cmap='spring');
plt.show()

分类

xfit=np.linspace(-1,3.5)
plt.scatter(X[:,0],X[:,1],c=Y,s=50,cmap='spring')
for m,b,d in[(1,0.65,0.33),(0.5,1.6,0.55),(-0.2,2.9,0.2)]:
yfit=m*xfit+b
plt.plot(xfit,yfit,'-k')
plt.fill_between(xfit,yfit-d,yfit+d,edgecolor='none',
color='#AAAAAA',alpha=0.4)
plt.xlim(-1,3.5);
plt.show()
卓越飞翔博客
上一篇: 实现方法:使用Golang对数组进行元素的删除操作技巧
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏