6

フィットするために使用する文字列のリストがありますsklearn.cluster.KMeans

X = TfidfVectorizer().fit_transform(docs)
km = KMeans().fit(X)

ここで、クラスターの中心を元の文字列表現で取得したいと思います。私は知ってkm.cluster_centers_いますが、の関連するインデックスを取得する方法を理解できませんでしたdocs

4

1 に答える 1

7

k -meansにはクラスター中心の「元の表現」はありません。それらは実際には入力セットからのポイント(ベクトル化されたドキュメント)ではなく、複数のポイントの手段です。単語の袋の表現は用語の順序を破壊するため、このような手段をドキュメントに戻すことはできません。

考えられる近似の1つは、重心ベクトルを取得し、それを使用TfidfVectorizer.inverse_transformして、ゼロ以外のtf-idf値を含む項を見つけることです。

実際の入力ポイントを重心として割り当てるk -medoidsアルゴリズムを使用すると、目的を達成できますが、scikit-learnには実装されていません。

于 2012-07-05T13:27:39.780 に答える