K-means和KNN算法比较
K-means:以空间中k个点为中心进行聚类,对每个样本,根据其距离聚类中心的距离(就近原则)对其进行归类,再通过迭代的方法,逐次更新各聚类中心的值,直到得到最好的聚类结果。算法可描述为:
(1)适当选择c个类的初始中心;
(2)在第k次迭代中,对任意一个样本,求其到c各中心的距离,将该样本归到距离最短的那个中心所在的类;
(3)利用均值等方法更新该类的中心值;
(4)对于所有的C个聚类中心,如果利用(2)(3)的迭代法更新后,值保持不变,则迭代结束;否则继续迭代。
KNN(K-Nearest Neighbor):如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。 该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。