一篇非常好的参考博客:https://blog.csdn.net/c406495762/article/details/75172850#commentBox
1、KNN基础概念
KNN作为一种有监督分类算法,是最简单的机器学习算法之一,顾名思义,其算法主体思想就是根据距离相近的邻居类别, 来判定自己的所属类别。算法的前提是需要有一个已被标记类别的训练数据集,具体的计算步骤分为一下三步:
1、计算测试对象与训练集中所有对象的距离,可以是欧式距离、余弦距离等,比较常用的是较为简单的欧式距离;
2、找出上步计算的距离中最近的K个对象,作为测试对象的邻居;
3、找出K个对象中出现频率最高的对象,其所属的类别就是该测试对象所属的类别。
实战案例:D:\MLEveryDay\Day7\Knn_.py (简单实践)
2、KNN简单实现方法:
1.计算已知类别数据集中的点与当前点之间的距离;
2.按照距离递增次序排序;
3.选取与当前点距离最小的k个点;
4.确定前k个点所在类别的出现频率;
5.返回前k个点所出现频率最高的类别作为当前点的预测分类。
实战案例:D:\MLEveryDay\Day7\Knn_basic.py (电影分类)
2、完整KNN算法的一般流程:
1. 收集数据:可以使用爬虫进行数据的收集,也可以使用第三方提供的免费或收费的数据。一般来讲,数据放在txt文本文件 中,按照一定的格式进行存储,便于解析及处理。
2. 准备数据:使用Python解析、预处理数据。
3.分析数据:可以使用很多方法对数据进行分析,例如使用Matplotlib将数据可视化。
4.测试算法:计算错误率。
5.使用算法:错误率在可接受范围内,就可以运行k-近邻算法进行分类
实战案例:D:\MLEveryDay\Day7\ (约会网站配对效果判定)