2.1.4
线性
SVM
决策过程的可视化
我们可以使用
sklearn
中的式子来为可视化我们的决策边界,支持向量,以及决策边界平行的两个超平面。
1.
导入需要的模块
from sklearn.datasets import make_blobs
from sklearn.svm import SVC
import matplotlib.pyplot as plt
import numpy as np
2.
实例化数据集,可视化数据集
X,y = make_blobs(n_samples=50, centers=2, random_state=0,cluster_std=0.6)
plt.scatter(X[:,0],X[:,1],c=y,s=50,cmap="rainbow")#rainbow彩虹色
plt.xticks([])
plt.yticks([])
plt.show()
3.
画决策边界:理解函数
contour
matplotlib.axes.Axes.contour([X, Y,] Z, [levels], **kwargs) Contour是我们专门用来绘制等高线的函数。等高线,本质上是在二维图像上表现三维图像的一种形式,其中两维X
和
Y
是两条坐标轴上的取值,而
Z
表示高度。
Contour
就是将由
X
和
Y构成平面上的所有点中,高度一致的点连接成线段的函数,在同一条等高线上的点一定具有相同的
Z
值。我们可以利用这个性质来绘制我们的决策边界。
回忆一下,我们的决策边界是,并在决策边界的两边找出两个超平面,使得超平面到决策边界的相对距离为
1
。那其实,我们只需要在我们的样本构成的平面上,把所有到决策边界的距离为