(1) KNN算法解决什么问题?
KNN是一种机器学习算法,可以解决下面问题:
- 分类问题
- 回归问题
- 离群点检测
(2) KNN算法流程
- 计算测试数据与每个训练数据之间的距离;
- 按照距离的由小到大进行排序;
- 选取距离最小的K个点;
- 确定前K个点所在类别的出现频率;(回归问题求K个点的均值)
- 返回前K个点中出现频率最高的类别作为测试数据的预测分类。
(3) KNN算法实现
网络上有很多种的实现方式。
参考:https://www.cnblogs.com/ybjourney/p/4702562.html
(4) KNN拓展点
- 如何选K值
- 距离度量方式
- 如何快速检索向量
(5) 距离度量
下面是几种常见的距离度量公式:
参考: