一.K近邻简介
k-nn算法是最简单的机器学习算法,构建模型只需要保存训练数据集即可。想要对新的数据点预测,算法会在训练数据集中找到最近的数据点,也就是它的“最近邻”。
二.算法原理
1.计算距离
2.升序排列
3.取前k个
4.统计个数
三.算法实现
1.获取数据集
from sklearn.datasets import load_iris 导入鸢尾花数据集,产生训练集,并输出查看
2.将训练集中的数据用图形绘制出来
3.新加一个未知类别鸢尾花的数据(8,3,4,2,2.3),并绘制
4.KNN过程
① distances = [sqrt(np.sum((y - x_train)**2)) for y in X_train]
将每个点到未知种类的测试点距离存入distances列表中
② 将distances内数据排序
nearest = np.argsort(distances)
③ 选出前k个存入topk_y中并统计类别数量多的
④ 进行预测