私は、クラスタドキュメント用のPython Kmeanクラスタリングアルゴリズムを使用しています。私は私の次のタスクがgoogoleでの検索、すべてのクラスタ内のトップ用語を確認することですクラスタ内のトップ用語をクラスタリングする
km = KMeans(n_clusters=true_k, init='k-means++', max_iter=100, n_init=1)
y=km.fit(X)
は、多くのことを示唆し
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.cluster import KMeans
vectorizer = TfidfVectorizer(tokenizer=tokenize, encoding='latin-1',
stop_words='english')
X = vectorizer.fit_transform(token_dict.values())
は、その後、私は次のコードを使用してKmeanクラスタリングを適用される用語 - 文書行列を作成しました人々は)(km.cluster_centers_.argsortを使用しています[:: :, - 1]次のコードを使用してクラスタ内の最上位語を見つけるために:
print("Top terms per cluster:")
order_centroids = km.cluster_centers_.argsort()[:, ::-1]
terms = vectorizer.get_feature_names()
for i in range(true_k):
print("Cluster %d:" % i, end='')
for ind in order_centroids[i, :10]:
print(' %s' % terms[ind], end='')
print()
今、私の質問はその私の理解kにm.cluster_centers_はクラスタの中心の座標を返します。たとえば、100個のフィーチャと3つのクラスタがある場合、各クラスタの重心を表す3行と100列の行列を返します。上記のコードでクラスターの上位の用語を判別する方法を理解したい。 ありがとうコメントありがとうございます Nadeem
私はそれを見ることができると確信していますが、 'TfidfVectorizer'と' KMeans'はどのライブラリから来ていますか?そのパッケージのエキスパートでこれをターゲットにすれば、おそらくより良い対応が得られます。具体的には、この情報はタグだけでなく、質問そのものや本文の本文にも挿入できます。 –
は、私は今sklearn.clusterインポート関数kmeans – Nhqazi