上午看了一下k邻近算法(k-Nearest Neighbor, KNN)。
该算法主要思想是通过计算周围k个最邻近的点的平均值,作为当前值的近似。
k需要自己设置,然后通过比较各个点与当前点的欧氏距离(各个维度的指标对应相减之后的平方和在求根),取其中距离最小的k个点就是k个最邻近的点了,用这k个点的平均值来表示当前点的值。
KNN算法流程:

优点
(1)理论成熟简单,易于理解及算法实现;
(2)可以用于多分类分类、回归等;
缺点
(1)需要计算待分类样本与所有已知样本的距离,计算量大;
(2)样本容量小或样本分布不均衡时,容易分类错误,后者可通过施加距离权重进行改善;
网友评论