2016-11-03 8 views
0

私は、テキストクラスタリングのためのk-means、特に英語の文章を実装しようとしています。これまでは、各文書(文)の用語頻度行列がある時点にいます。私は、テキストデータに対するk-meansの実際の実装について少し混乱しています。どのように動くべきか、私の推測です。すべての文章でのユニークワード(多数、nそれを呼び出す)の数うちk-テキストクラスタリングの手段

  1. 図。

  2. (どのように私はこれらの数値の範囲が何であるかを決めるのですか?)kn次元ベクトル(クラスタ)を作成し、いくつかのランダムな番号を持つkベクトルの値を入力

  3. からのユークリッド距離を決定しますランダムkクラスタへq文章の各クラスタを再配置など(nは、英語のような非常に大きい場合は、これらのベクトルのユークリッド距離は非常に高価である計算ではないでしょうか?)

ありがとうございました!

答えて

1

これはコメントのために少し長いです。

文書用語行列がある場合は、(共分散行列の)主成分を見つけます。主成分空間における元のデータの係数を決定する。この空間でk-meansクラスタリングを行うことができます。

テキストデータでは、通常、20,50,100、またはそれ以上のサイズの束が必要です。また、k-meansの代わりにガウス混合モデル/期待値最大化クラスタリングをお勧めしますが、それは別の話です。ここで少し古い質問を復活

1

が、一般的には2 ...

をリンクする価値が、あなたの代わりに単語の出現頻度に頼るのでローカルに敏感なハッシュのいくつかの種類を使用すると思います。しかし、いずれの方法でも、フィーチャマトリックスを手動で組み立てることは非常に面倒です。

このSO answerは、scikit-learnと手順の説明を使用して、ドキュメントのリストからそのフィーチャマトリックスを作成する方法のガイドを提供します。私はそれがあなたに必要なステップの順序を示すのに役立つと思います。