package comhuiluczPcluster;import comhuiluczPKmeansRun;import comhuiluczPutilCalUtil;import comhuiluczPutilDataUtil;import orgapachehadoopconfConfiguration;import orgapachehadoopfsPath;import orgapach
该代码实现了K-means算法的适配器,主要包括三个功能:
- 一次迭代流程:根据给定的数据路径和中心点路径,进行一次K-means聚类迭代,输出新的中心点文件。
- 计算是否能停机:根据新旧中心点文件的距离差,判断是否需要继续迭代。如果距离为0,则停止迭代;否则,将新的中心点文件覆盖旧的中心点文件。
- 生成聚类结果:根据给定的数据路径和中心点路径,生成每个数据点所属的聚类结果文件。
其中,一次迭代流程的具体实现包括了一个Mapper和一个Reducer,Mapper读取中心点文件,将数据点分类到最近的中心点,Reducer计算新的中心点并输出到文件。计算是否能停机的方法则是利用读取中心点文件、计算距离、判断是否需要停机、覆盖旧中心点文件的流程来实现。生成聚类结果的方法则是利用一个仅含Mapper的Job来实现,Mapper根据中心点文件将数据点分类到最近的中心点。
原文地址: https://www.cveoy.top/t/topic/hdOa 著作权归作者所有。请勿转载和采集!