私はScikit-LearnのLatentDirichletAllocationモデルを使用しています。 Xは、5000個の特徴(100×5000)を有する100個の文書のマトリックスである。私は次のコードを実行しました:scikit learnのLDAメソッドの変換結果をどのように解釈しますか?
from sklearn.decomposition import LatentDirichletAllocation
lda = LatentDirichletAllocation(n_topics = 5)
X_new = lda.fit_transform(X)
X_newは、各文書のトピック配布でなければなりません。しかし、私はどのように実際の値を解釈するか分からない。各配列は合計100ではないので、それ自体がディストリビューションではありません。たとえば、最初の2つのドキュメントの配列は次のとおりです。
[66404.6, 0.2, 2004.7, 0.2, 0.2]
[0.2,47.3,0.2,14.0,02]
これらの数値を解釈/正規化するにはどうすればよいですか?
つまり、各セルの値を行の合計で割って正規化することは正常ですか? – runawaykid
はい。これは1文書あたりの分布を与え、文書を比較することはできません(たとえば、正規化した後、[1,2,3,4,5]と[100,200,300,400,500]のベクトルは同じになります) - 第2の文書は各対象に100倍以上関連している)。 –