KNN算法处理多元分类任务
下面来测试KNN算法在类型有多个的时候的性能,下面的测试是用有5个类别的数据集来测试的。
from sklearn.datasets import make_blobs
import numpy as np
from sklearn.neighbors import KNeighborsClassifier
import matplotlib.pyplot as plt
#构建数据集
data = make_blobs(n_samples=500,centers=5,random_state=8)
X,y = data
#训练模型
clf = KNeighborsClassifier()
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,.02),np.arange(y_min,y_max,.02))
Z = clf.predict(np.c_[xx.ravel(),yy.ravel()])
z = Z.reshape(xx.shape)
plt.pcolormesh(xx,yy,z,cmap=plt.cm.jet)
plt.scatter(X[:,0],X[:,1],c=y,cmap=plt.cm.spring,edgecolor='k')
plt.xlim(xx.min(),xx.max())
plt.ylim(yy.min(),yy.max())
plt.title("MutliClassifier:KNN")
plt.show()
#模型评估
print("\n\n")
print("===========&#