1 import numpy asnp2 fromsklearn.datasets import make_moons3 import matplotlib.pyplot asplt4 # 手动生成一个随机的平面点分布,并画出来5 np.random.seed(0)6 X, y = make_moons(200, noise=0.20)7 plt.scatter(X[:,0], X[:,1], s=40, c=y, cmap=plt.cm.Spectral)8 plt.show()
解释一下make_moons 是生成数据用的
sklearn.datasets.make_moons(n_samples=100, shuffle=True, noise=None, random_state=None)
主要参数作用如下:
n_numbers:生成样本数量
shuffle:是否打乱,类似于将数据集random一下
noise:默认是false,数据集是否加入高斯噪声
random_state:生成随机种子,给定一个int型数据,能够保证每次生成数据相同。
定义一个边界决策函数
1 #咱们先顶一个一个函数来画决策边界
2 defplot_decision_boundary(pred_func):3
4 #设定最大最小值,附加一点点边缘填充
5 x_min, x_max = X[:, 0].min() - .5, X[:, 0].max() + .5
6 y_min, y_max = X[:, 1].min() - .5, X[:, 1].max() + .5
7 h