私は5千万のテキストスニペットを持っており、それらからいくつかのクラスタを作成したいと思います。次元は60k〜100kの間のどこかにあるかもしれません。平均テキストスニペットの長さは16ワードです。あなたが想像することができるように、周波数行列はかなり疎です。私はこれらのクラスタを見つけることができるソフトウェアパッケージ/ libray/sdkを探しています。私は過去にCLUTOを試していましたが、これはCLUTOにとって非常に重い作業のようです。私の研究のオンラインから、BIRCHはそのような問題を処理できるアルゴリズムであることが判明しましたが、残念ながらBIRCH実装ソフトウェアをオンラインで見つけることができませんでした(私は、割り当てプロジェクトのような、ドキュメントの並べ替えなど)。助言がありますか?何百万という高次元データのクラスタリング
答えて
グラフパーティションアルゴリズムで試してみてください。高次元データのクラスタリングを可能にするのに役立ちます。
あなたはまた、マイクロアレイ解析のためのアルゴリズムをチェックしようとする必要があります。そこには高次元のデータもあります。 – Phill
あなたはむしろall-pairsのようなものを探していると思います。
これにより、類似のレコードのペアを希望のしきい値まで得ることができます。グラフ理論のビットを使用して後でクラスタを抽出することができます - 各ペアにエッジを考慮します。接続されたコンポーネントを抽出すると、単一リンケージクラスタリングのようなものが得られます。クロークリックは完全なリンケージクラスタを提供します。
BIRCH in C++の実装が見つかりました。
私の教授がJavaでBIRCHアルゴリズムのimplementationを作った。いくつかのインラインコメントで読むのは簡単です。
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]までご連絡ください。
- 1. 低次元と高次元のデータ
- 2. 何百万ものレコードを扱うためのデータ構造
- 3. Googleマップに何百万という点を描くには?
- 4. 何百万ものレコードのデータベースのスケーリング
- 5. 何百万ものデータセグメントのデータを保存する
- 6. Sql server 2008サービスブローカー何百万ものキュー
- 7. オラクルで何百万ものデータをパージするベストプラクティス
- 8. iOS - 50万ファイル、1百万件のエントリ
- 9. Javaで何百万という非繰り返し乱数を生成する
- 10. 何百万というファイル名を検索するのに最適なデータ構造ですか?
- 11. 何百万ものMySQL行を扱っています
- 12. 数百万行のMySQLロックテーブル
- 13. 何百万ものデータの一括挿入でのT-SQLパフォーマンスの問題
- 14. バレンティーナスタジオは何百万行も挿入しています
- 15. テーブルソーターは何百万もソートしていません
- 16. Pythonでの高次元データ構造
- 17. あるテーブルの何百万もの行と別のテーブルの何百万もの行を比較する最速の方法
- 18. 多次元データでkmeansクラスタリングを可視化する方法
- 19. 高次の空間的時間的クラスタリング
- 20. 何百万ものプリミティブのマウスピッキング戦略はありますか?
- 21. デフォルト値の何百万行のテーブルを変更
- 22. MySQL - 何百万ものエントリでのランク付け
- 23. Javaで高次元データをプロットする
- 24. 何百万ものSQLクエリを処理するため
- 25. jdbcTemplate.query何百万ものレコードで低速実行中
- 26. MySQLデータベースに何百万ものダミーレコードを挿入する
- 27. Sql何百万ものレコードを検索します。可能?
- 28. Windows上に何百万ものファイルを保存する
- 29. 何百万ものセグメントを画面上に描画する
- 30. SQL Server 2012で何百万ものレコードを更新する
空き時間をチェックしたかったのですが、reduce/hadoopヘルプをマップすることができるので、正確にはわかりません。 – HRgiger
よく、私はこれを動作させるためのクラスタリングアルゴリズムを並列化しなければならないでしょう。そこにはいくつかの準備ができているソリューションがあると期待していました。 – Alexandros
R、Python、Javaのテキストマイニングを見てください... N(#rows)またはP(#dims)のいずれかが大きく、まともなテキストマイニング/クラスタリングパッケージを起動する必要があります。 – Iterator