-2

k-meansクラスタリングの入力に関する提案をお願いします。私はこのk-meansクラスタリング(または神のためのクラスタリング)に比較的慣れておらず、このソースコードを見つけました: Shyam Sivaramanによるk-means スーパーバイザーがアルゴリズムを変更して適用することを望んでいるので、おそらくこのJAVAを使用したいと思うかもしれません自分でゼロから作成しないでください。したがって、コードによると:

Vector dataPoints = new Vector();
dataPoints.add(new DataPoint(22,21,"data1"));
dataPoints.add(new DataPoint(19,20,"data2"));
dataPoints.add(new DataPoint(18,22,"data3"));
...

これまで私が知っていることは、次のコードに基づいて、2つの変数データポイント(xとy)とデータ名を受け入れることです。

public DataPoint(double x, double y, String name) {
    this.mX = x;
    this.mY = y;
    this.mObjName = name;

ここで必要なのは、ドキュメントクラスタリングを行っているときに、ドキュメントベクトルを受け入れるように入力を変更することです。コードを変更する方法について何か提案はありますか?つまり、可能であれば(最後のオプションをコーディングしてください)。または、この同じトピックに関するリンクを見つけた場合は、ここで共有することもできます。

提案者を楽しみにしています。

4

2 に答える 2

0

実装がより一般的になるように、入力としてn次元ベクトルを使用することをお勧めします。

効率的な実装K-MeansのJavaソースコードが必要な場合は、私のデータマイニングソフトウェアを確認できます。

K-Meansや、アルゴリズムを起動するためのグラフィカルインターフェイスなど、いくつかのアルゴリズムを提供します。

一番、

フィリップ

于 2012-07-18T18:37:48.340 に答える
0

最も単純なアプローチでは、ドキュメント用語マトリックスを計算する必要があります。

2D空間でベクトル(x、y)のクラスタリングを行うコード。N次元空間に拡張する必要があります(ドキュメント用語行列からのベクトルの次元に応じて)。

また、 TF * IDFの重み付けを確認することをお勧めします。これにより、クラスタリングの結果が改善される可能性があります。

于 2012-05-31T14:50:41.517 に答える