KNN多元分类【机器学习算法一KNN2】

1. 代码

from sklearn.datasets import make_blobs
from sklearn.neighbors import KNeighborsClassifier
import matplotlib.pyplot as plt
import numpy as np

data2 = make_blobs(n_samples=500, centers=5,random_state=8)
X2,y2 = data2
plt.scatter(X2[:,0],X2[:,1],c=y2, cmap=plt.cm.spring,edgecolor='k')
plt.show()

#图1

clf = KNeighborsClassifier()
#以X2为训练数据,y2为目标值拟合模型
clf.fit(X2,y2)

#下面的代码用于画图
x_min, x_max = X2[:, 0].min() - 1, X2[:, 0].max() + 1
y_min, y_max = X2[:, 1].min() - 1, X2[:, 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.Pastel1)
plt.scatter(X2[:, 0], X2[:, 1], c=y2, cmap=plt.cm.spring, edgecolor='k')
plt.xlim(xx.min(), xx.max())
plt.ylim(yy.min(), yy.max())

from matplotlib.font_manager import FontProperties
#在代码里设置为能显示中文的字体,如微软雅黑(msyh.ttf)和黑体(simsun.ttc)
font = FontProperties(fname=r"C:\Windows\Fonts\msyh.ttf",size=10)

plt.title('多元分类:KNN',fontproperties = font)
plt.show()

#图2

#返回给定测试数据和标签的平均准确度
print('\n\n模型正确率:{:.2f}'.format(clf.score(X2,y2)))

2. 运行结果

KNN多元分类【机器学习算法一KNN2】_第1张图片
KNN多元分类【机器学习算法一KNN2】_第2张图片
在这里插入图片描述

3. 知识点

参考KNN分类实例(二元分类)【机器学习算法一KNN1】

你可能感兴趣的:(机器学习)