私のコードは間違っていないと思いますが、正しく動作しません。これは mapreduce を使用した K-means クラスタリングです。( https://github.com/30stm/K-Means-using-mapreduce/tree/master )
DatasetWriter.java を使用してデータセットを作成し、CreateCentroids.java を使用してセントロイドを作成します。次に、KMeansClusteringJob.java を実行します。
このコードは最初の反復では機能しますが、2 回目の反復からは機能しません。map 関数と reduce 関数を確認しましたが、reduce 関数に問題があると思います。(Map 関数は各点から最も近い重心を見つけます。Reduce 関数は新しい重心を計算し、新しい重心を置き換えます。) 最初の反復の後、cen.seq (重心ファイル) は不完全です。
誰か助けてください ;)
ps : コードの削減について質問を書きました。私の元の問題はこれです。