ELKIのクラスタリング アルゴリズムを試してみてください。私が深く関わっているプロジェクトを恥知らずに宣伝して申し訳ありません。しかし、同等の方法で実装されているクラスタリングおよび外れ値検出アルゴリズムの最大のコレクションです。(一部のR パッケージで利用可能なすべてのクラスタリング アルゴリズムを使用すると、より多くのアルゴリズムが得られる可能性がありますが、実装の違いにより、それらは実際には比較できません)
また、ベンチマークでは、同じアルゴリズムの実装が異なると、速度が大幅に異なることが示されました。k-means などの単純なアルゴリズムでもパフォーマンスがどの程度変化するかについては、ベンチマークWeb サイトを参照してください。
Canopy Clustering はまだありません。その理由は、実際のクラスタリング アルゴリズムというよりは、前処理インデックスに近いからです。M ツリーまたは DBSCAN クラスタリングのプリミティブ バリアントのようなものです。ただし、そのような前処理ステップとして、提供されたキャノピー クラスタリングを確認したいと考えています。
文字列を処理する ELKI の能力も、これまでのところ少し制限されています。典型的な TF-IDF ベクトルを問題なく読み込むことができ、スパース ベクトル クラスと類似関数がいくらか最適化されています。ただし、彼らはまだ k-means のスパース性を完全に活用しておらず、球形の k-means もまだありません。しかし、スパース ベクトルの k-means の結果があまり意味のあるものであると期待できない理由はさまざまです。それはヒューリスティックです。
しかし、あなたの問題のためにそれを試してみて、あなたの経験を報告することができれば面白いでしょう. パフォーマンスは、実装とある程度競争力がありましたか? また、さらに最適化された類似度関数や球形の k-means バリアントなど、テキスト処理用のモジュールが提供されることを期待しています。
更新: ELKI には実際に CanopyClustering : CanopyPreClusteringが含まれるようになりました (0.6.0 の一部になります)。しかし、現時点では、これは別のクラスタリング アルゴリズムにすぎず、k-means などの他のアルゴリズムを高速化するためにまだ使用されていません。アルゴリズムを高速化するための何らかのインデックスとして最適に使用する方法を確認する必要があります。T1=epsilon および T2=0.5*T1 に設定すると、DBSCAN の高速化にも役立つと想像できます。CanopyClustering IMHO の大きな問題は、適切な半径を選択する方法です。