python机器学习学习笔记(二)

KNeighborsClassifier() 函数

KNeighborsClassifier()

python机器学习学习笔记(二)

对Iris数据用KNN分类

以用萼片分类为例

1.将150条数据分为140条训练数据和10条验证数据

import numpy as np
from sklearn import datasets
np.random.seed(0)
iris = datasets.load_iris()
x = iris.data
y = iris.target
i = np.random.permutation(len(iris.data))  #创建随机列表用于将数据集中的元素打乱
x_train = x[i[:-10]]
y_train = y[i[:-10]]
x_test = x[i[-10:]]
y_test = y[i[-10:]]

2.调用分类器构造函数,用 fit()函数进行训练

from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier()
knn.fit(x_train,y_train)

3.调用 predict()函数进行精度验证

knn.predict(x_test)
print(knn.predict(x_test))  #输出测试集预测出的iris类型
print(y_test)  #输出测试集实际iris类型

输出结果为

[1 2 1 0 0 0 2 1 2 0]
[1 1 1 0 0 0 2 1 2 0]

结果表明对于测试集来说分类精度达到90%

4.分类结果可视化,绘制散点图及决策边界

import numpy as np
import matplotlib.pyplot as plt
from  matplotlib.colors import ListedColormap
from sklearn import datasets
from sklearn.neighbors import KNeighborsClassifier
iris = datasets.load_iris()
x = iris.data[:,:2]
y = iris.target
x_min, x_max = x[:,0].min()-0.5, x[:,0].max()+0.5
y_min, y_max = x[:,1].min()-0.5, x[:,1].max()+0.5

#MESH
cmap_light = ListedColormap(['#AAAAFF','#AAFFAA','#FFAAAA'])
h = 0.02
xx, yy = np.meshgrid(np.arange(x_min,x_max,h),np.arange(y_min,y_max,h))
knn = KNeighborsClassifier()
knn.fit(x,y)
Z = knn.predict(np.c_[xx.ravel(),yy.ravel()])  #ravel()扁平化操作
Z = Z.reshape(xx.shape)  #变回与xx同样行列形状
plt.figure()
plt.pcolormesh(xx,yy,Z,cmap=cmap_light)
#plot the training points
plt.scatter(x[:,0],x[:,1],c=y)
plt.xlim(xx.min(),xx.max())
plt.ylim(yy.min(),yy.max())
plt.show()

python机器学习学习笔记(二)

参考:

法比奥·内利. Python数据分析实战:第2版.北京:人民邮电出版社, 2019.11.

(1条消息) sklearn.neighbors.KNeighborsClassifier()函数解析(最清晰的解释)_种树最好的时间是10年前,其次是现在!!!-CSDN博客

Original: https://blog.csdn.net/weixin_46753186/article/details/122021929
Author: weixin_46753186
Title: python机器学习学习笔记(二)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/666031/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球