天天看点

数据挖掘--kmeans聚类算法mapreduce实现

通过聚类算法可以把相似度高的一类对象归为一类,从而实现“物以类聚”;我们可以用来对用户进行聚类分群、节目分组等实际应用。

附件是核心MR的实现和实验数据。

基本简介

  k-means 算法接受输入量 k ;然后将n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)来进行计算的。

编辑本段处理流程

k-means 算法基本步骤

(1) 从 n个数据对象任意选择 k 个对象作为初始聚类中心;   

(2) 根据每个聚类对象的均值(中心对象),计算每个对象与这些中心对象的距离;并根据最小距离重新对相应对象进行划分;   

(3) 重新计算每个(有变化)聚类的均值(中心对象);   

(4) 计算标准测度函数,当满足一定条件,如函数收敛时,则算法终止;如果条件不满足则回到步骤(2)。

流图

具体MR实现

继续阅读