首页 >后端开发 >Python教程 >Python实现支持向量机(SVM)分类:算法原理详解

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

WBOY
WBOY转载
2024-01-24 09:33:051152浏览

支持向量机(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()

以上是Python实现支持向量机(SVM)分类:算法原理详解的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:163.com。如有侵权,请联系admin@php.cn删除