KNN 的优缺点
机器学习经典算法详解及Python实现–K近邻(KNN)算法
已经详细说明了KNN的算法步骤,这里只做补充。
缺点
KNN 是一个local 的classification 方法,可能会损失training data 中的大量信息
只适用于data维数较低的时候
例如:
考虑2维与3维的情况:
当考虑2维情况下的交通拥堵情况时,车与车的距离比较近,所以有限training data的情况下可以进行KNN classification。
加入汽车可以在3维空间上行驶,比如可以在天上飞,那么汽车之间的距离将会非常大,也就是说,很有可能training data样本量太小不足以找到K个近邻。
- 高度依赖于距离的选取
选取不同的度量方式计算距离会得到非常不一样的结果。
优点
KNN 最大的优点应该就是简单易算吧
一般情况下,k选择5-10.
与回归相比,没有绝对的哪个更好.