w = clf.coef_[0]#调用coef_取得w值
a =-w[0]/ w[1]
xx = np.linspace(-2,2)# x轴范围
yy = a * xx -(clf.intercept_[0]/ w[1])
b = clf.support_vectors_[0]
yy_down = a * xx +(b[1]- a * b[0])
b = clf.support_vectors_[-1]
yy_up = a * xx +(b[1]- a * b[0])#得到分界线上方和下方与之平行的边际直线的xx和yy后面一并画出
plt.figure()
plt.plot(xx, yy,'g-')
plt.plot(xx, yy_down,'g--')
plt.plot(xx, yy_up,'g--')
plt.ylim(0.75,1.1)# y轴范围
defplot_svc_decision_function(model,ax=None):if ax isNone:
ax = plt.gca()
xlim = ax.get_xlim()
ylim = ax.get_ylim()
x = np.linspace(xlim[0], xlim[1],30)
y = np.linspace(ylim[0], ylim[1],30)
Y, X = np.meshgrid(y, x)
xy = np.vstack([X.ravel(), Y.ravel()]).T
P = model.decision_function(xy).reshape(X.shape)
ax.contour(X, Y, P, colors="k", levels=[-1,0,1], alpha=0.5, linestyles=["--","-","--"])
ax.set_xlim(xlim)
ax.set_ylim(ylim)
plt.show()