2011-09-14 13 views
3

私は5千万のテキストスニペットを持っており、それらからいくつかのクラスタを作成したいと思います。次元は60k〜100kの間のどこかにあるかもしれません。平均テキストスニペットの長さは16ワードです。あなたが想像することができるように、周波数行列はかなり疎です。私はこれらのクラスタを見つけることができるソフトウェアパッケージ/ libray/sdkを探しています。私は過去にCLUTOを試していましたが、これはCLUTOにとって非常に重い作業のようです。私の研究のオンラインから、BIRCHはそのような問題を処理できるアルゴリズムであることが判明しましたが、残念ながらBIRCH実装ソフトウェアをオンラインで見つけることができませんでした(私は、割り当てプロジェクトのような、ドキュメントの並べ替えなど)。助言がありますか?何百万という高次元データのクラスタリング

+0

空き時間をチェックしたかったのですが、reduce/hadoopヘルプをマップすることができるので、正確にはわかりません。 – HRgiger

+0

よく、私はこれを動作させるためのクラスタリングアルゴリズムを並列化しなければならないでしょう。そこにはいくつかの準備ができているソリューションがあると期待していました。 – Alexandros

+0

R、Python、Javaのテキストマイニングを見てください... N(#rows)またはP(#dims)のいずれかが大きく、まともなテキストマイニング/クラスタリングパッケージを起動する必要があります。 – Iterator

答えて

0

グラフパーティションアルゴリズムで試してみてください。高次元データのクラスタリングを可能にするのに役立ちます。

+0

あなたはまた、マイクロアレイ解析のためのアルゴリズムをチェックしようとする必要があります。そこには高次元のデータもあります。 – Phill

0

あなたはむしろall-pairsのようなものを探していると思います。

これにより、類似のレコードのペアを希望のしきい値まで得ることができます。グラフ理論のビットを使用して後でクラスタを抽出することができます - 各ペアにエッジを考慮します。接続されたコンポーネントを抽出すると、単一リンケージクラスタリングのようなものが得られます。クロークリックは完全なリンケージクラスタを提供します。

BIRCH in C++の実装が見つかりました。

1

私の教授がJavaでBIRCHアルゴリズムのimplementationを作った。いくつかのインラインコメントで読むのは簡単です。

3

TopSig表現を使用するストリーミングEMツリーアルゴリズムをチェックアウトすることに興味があります。どちらも私の博士号のものです。大規模な文書クラスタリングのトピックに関する論文。

私たちは最近、単一の16コアマシン(http://ktree.sf.net)に733万のドキュメントをクラスタリングしました。文書を索引付けするのに約2.5日かかり、文書をクラスタリングするのに15時間かかった。

ストリーミングEMツリーアルゴリズムは、https://github.com/cmdevries/LMW-treeにあります。それは、http://topsig.googlecode.comで見つけることができるTopSigによって生成されたバイナリドキュメントベクトルで動作します。

私は同じアプローチについてブログ記事を先にhttp://chris.de-vries.id.au/2013/07/large-scale-document-clustering.htmlに書いています。ただし、EMツリーは並列実行の方がスケーラビリティが高く、クラスタの品質も向上します。

ご不明な点がございましたら、お気軽に[email protected]までご連絡ください。

関連する問題