什么是kNN算法?
kNN算法, 又叫K最近邻算法, 可用于分类或者回归. 所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。
其特点是:
- 思想极度简单
- 应用数学知识几乎为零
- 效果好
- 可以解释机器学习算法使用过程中的很多细节问题
- 更完整刻画一起学习应用的流程
- 分类精度高, 对缺失值不敏感
- 懒加载, 模型复杂度高
kNN算法执行流程
- 根据欧几里得距离公式求出样本点与所有点的距离,
- 然后按照距离升序排序, 取出前k个点,
- 样本点是什么类别, 那么k个点就是什么类别
kNN的实质: k个样本如果足够地相似的话, 那么他们就很有可能属于同一个类别
自己动手实现kNN算法
1 | import numpy as np |