#绘制决策边界,多个近邻比较(多图合并)
fig, axes = plt.subplots(1, 3, figsize=(10, 3)) #绘制多个画板
for neighbors, ax in zip([1, 3, 9], axes):
knn = KNeighborsClassifier(n_neighbors=neighbors)
knn.fit(X, y)
mglearn.plots.plot_2d_separator(knn, X, fill=True, eps=0.5, ax=ax, alpha=.4) #绘制分界线
mglearn.discrete_scatter(X[:, 0], X[:, 1], y, ax=ax)
ax.set_title("{} neighbor(s)".format(neighbors))
ax.set_xlabel("feature 0")
ax.set_ylabel("feature 1")
axes[0].legend(loc=3)
plot_2d_separator
对于二维数据集,还可以在xy平面上画出所有可能的测试点的预测结果。我们根据平面中每个点所属的类别对平面进行着色。这样可以查看决策边界(decision boundary),即算法对类别0和类别1的分界线