数据挖掘之k-最近邻法(KNN与KMeans)

来源:互联网 发布:高清网络视频解码器 编辑:程序博客网 时间:2024/05/24 00:25

最近邻法基于类比学习,它既可以用于聚类,也可以用于分类
K-means是基于最近邻法的聚类方法。算法描述如下:
输入:k, data[n];
(1) 选择k个初始中心点,例如c[0]=data[0],…c[k-1]=data[k-1];
(2) 对于data[0]….data[n], 分别与c[0]…c[k-1]比较,假定与c[i]差值最少,就标记为i;
(3) 对于所有标记为i点,重新计算c[i]={ 所有标记为i的data[j]之和}/标记为i的个数;
(4) 重复(2)(3),直到所有c[i]值的变化小于给定阈值。

该算法的最大优势在于简洁和快速。算法的关键在于初始中心的选择和距离公式。


KNN算法是基于最近邻法的分类方法。算法描述如下
输入:待分类未知类别案例项目。已知类别案例集合D,其中包含j个已知类别的案例
输出:项目可能的类别
依公式计算Item与D1、D2......Dj之相似度。得到sim(Item,D1)、Sim(Item,D2).....、Sim(Item,Dj).
将Sim(Item,D1)、Sim(Item,D2).......Sim(Item,Dj)排序,若是超过相似度门槛t则放入邻居案例集合NN。
自邻居案例集合NN中取出前k名,依多数决,得到Item可能类别。

原创粉丝点击