3

Java の単純な k-means アルゴリズムを知りたいです。マルチではなく1次元配列をグループ化するためにのみk-meansを使用したい。たとえば、グループ化する前に、配列は 2,4,7,5,12,34,18,25 で構成され、4 つのグループが必要な場合は、グループ 1: 2,4,5 グループ 2: 7,12 グループ 3: 18 を取得します。 、25組 4:34

4

4 に答える 4

1

実装ではなくクラスターのみが必要な場合は、Weka実装を参照するか、単に Weka API を使用できます。

于 2010-03-09T09:29:53.287 に答える
1

K-means クラスタリングの標準 (ヒューリスティック) アルゴリズムは、ウィキペディアのページに、バリエーションやいくつかの既存の実装へのリンクと共に示されています。

(これはプログラミング フォーラムなので、適切な既存の実装が見つからない場合は、自分で Java コードを記述できると想定するのが妥当です。)

于 2010-03-09T11:14:51.177 に答える
1
You can implement k-Means as:
SimpleKMeans kmeans = new SimpleKMeans();

kmeans.setSeed(10);

// This is the important parameter to set
kmeans.setPreserveInstancesOrder(true);
kmeans.setNumClusters(numberOfClusters);
kmeans.buildClusterer(instances);

 // This array returns the cluster number (starting with 0) for each instance
 // The array has as many elements as the number of instances
 int[] assignments = kmeans.getAssignments();

 int i=0;
 for(int clusterNum : assignments) {
System.out.printf("Instance %d -> Cluster %d", i, clusterNum);
i++;
}
于 2012-03-23T12:15:29.733 に答える
0

私のソフトウェアを確認できます: SPMF データ マイニング ソフトウェア

わずか 3 つのファイルで KMeans の効率的な実装を提供するため、理解しやすいはずです。

このソフトウェアは、他の多くのアルゴリズムも提供します。しかし、あなたはそれらを必要としません。

しかし、もう 1 つのことは、KMeans やその他のアルゴリズムを起動するためのグラフィカル ユーザー インターフェイスもあるということです。

于 2012-07-18T18:22:10.280 に答える