我认为我的代码没有错,但它不能正常工作。这是使用mapreduce的K-means聚类。(https://github.com/30stm/K-Means-using-mapreduce/tree/master)
使用DatasetWriter.java制作数据集,并使用CreateCentroids.java制作质心。然后,执行KMeansClusteringJob.java
这段代码在第一次迭代时有效,但在第二次迭代时不起作用。我检查了map函数和reduce函数,我认为问题出在reduce功能上。(Map函数从每个点查找最接近的质心。Reduce函数计算新质心并替换新质心。)在第一次迭代之后,cen.seq(质心文件)是不完美的。
有人帮帮我;)
我写了一个关于reduce代码的问题,我最初的问题是这个。
您链接的代码在newCenter.getVector()
之前可能需要一个newCenter.setVector(new double[vectorSize]);
。