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
5823 次
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 に答える