import numpy as np import matplotlib.pyplot as plt from matplotlib.colors import ListedColormap from sklearn.neighbors import KNeighborsClassifier from sklearn.datasets import load_iris iris=load_iris() X=iris.data[:,:2] Y=iris.target print(iris.feature_names) cmap_light=ListedColormap(['#FFAAAA','#AAFFAA','#AAAAFF']) cmap_bold=ListedColormap(['#FF0000','#00FF00','#0000FF']) clf=KNeighborsClassifier(n_neighbors=10,weights='uniform') clf.fit(X,Y) #画出决策边界 x_min,x_max=X[:,0].min()-1,X[:,0].max()+1 y_min,y_max=X[:,1].min()-1,X[:,1].max()+1 xx,yy=np.meshgrid(np.arange(x_min,x_max,0.02), np.arange(y_min,y_max,0.02)) Z=clf.predict(np.c_[xx.ravel(),yy.ravel()]) reshape(xx.shape) plt.figure() plt.pcolormesh(xx,yy,Z,cmap=cmap_light) #绘制预测结果图 plt.scatter(X[:,0],X[:,1],c=Y,cmap=cmap_bold) plt.xlim(xx,min(),xx.max()) plt.ylim(yy.min(),yy.max()) plt.title('3_Class(k=10,weights=uniform)') plt.show()检查这段代码有没有错误
时间: 2024-03-11 21:48:37 浏览: 80
Matplotlib.pyplot 三维绘图的实现示例
这段代码没有明显的语法错误,但有一处小问题:
在以下两行代码中,min()应该是写错了,应该是写成了min。
```
plt.xlim(xx,min(),xx.max())
plt.ylim(yy.min(),yy.max())
```
应该改成:
```
plt.xlim(xx.min(), xx.max())
plt.ylim(yy.min(), yy.max())
```
这样才能正确设置坐标轴的范围。
阅读全文