绘制思路:
- 获取数据集的横纵坐标最大值及最小值(xlim,ylim)
- 将横纵坐标轴平均分为n份(axisx,axisy)
- 通过meshgrid函数进行广播,生成网格点(xy)
- 通过SVC.decision_function方法计算网格内每个点到决策边界的距离
- 通过contour函数绘制决策边界及虚线超平面
1.导入我们需要的模块
from sklearn.datasets import make_blobs
from sklearn.svm import SVC
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
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,cmap = 'gist_rainbow')
plt.xticks([])
plt.yticks([])
#隐藏x,y坐标轴
3.理解contour函数
m a t p l o t l i b . a x e s . A x e s . c o n t o u r ( [ X , Y , ] Z , [ l e v e l s ] , ∗ ∗ k w a r g s ) matplotlib.axes.Axes.contour([X, Y,] Z, [levels], **kwargs) matplotlib.axes.