在SVM算法中,徐连模型的过程实际上是对每个数据点对于数据分类决定边界的重要性进行判断。在训练数据集中,只有一部分数据对于边界的确定是有帮助的,这些数据被称为“支持向量”
import numpy as np import matplotlib.pyplot as plt from sklearn import svm from sklearn.datasets import make_blobs X,y = make_blobs(n_samples=50,centers=2,random_state=6) clf = svm.SVC(kernel='linear',C=1000) clf.fit(X,y) plt.scatter(X[:,0],X[:,1],c=y,s=30,cmap=plt.cm.Paired) ax = plt.gca() xlim = ax.get_xlim() ylim = ax.get_ylim() xx = np.linspace(xlim[0],xlim[1],30) yy = np.linspace(ylim[0],ylim[1],30) YY,XX = np.meshgrid(yy,xx) xy= np.vstack([XX.ravel(),YY.ravel()]).T Z = clf.decision_function(xy).reshape(XX.shape) ax.contour(XX,YY,Z,colors='k',levels=[-1,0,1],alpha=0.5,linestyles=['--','-','--']) ax.scatter(clf.support_vectors_[:,0],clf.support_vectors_[:,1],s=100,linewidth=1,facecolors='none') plt.show()
在分类器两侧分别有两条虚线,那些正好压在虚线上的点,就是支持向量。学不动了,溜了



