0
import pandas as pd, numpy as np, scipy
import sklearn.feature_extraction.text as text
from sklearn import decomposition
descs = ["You should not go there", "We may go home later", "Why should we do your chores", "What should we do"]
vectorizer = text.CountVectorizer()
dtm = vectorizer.fit_transform(descs).toarray()
vocab = np.array(vectorizer.get_feature_names())
nmf = decomposition.NMF(3, random_state = 1)
topic = nmf.fit_transform(dtm)
印刷topic
給我留下了:Sklearn:找到簇的平均質心位置?
>>> print(topic)
[0. , 1.403 , 0. ],
[0. , 0. , 1.637 ],
[1.257 , 0. , 0. ],
[0.874 , 0.056 , 0.065 ]
這是在descs
的可能性每個元素的矢量屬於某個簇。我怎樣才能得到每個羣集質心的座標?最終,我想開發一個函數來計算descs
中每個元素與其分配給的簇的質心之間的距離。
是否最好只計算每個羣集的每個元素值的平均值?topic
?
我假設你創建了三個質心。 「nmf.components_」中每個元素表示的每個質心的座標如何?該數組中非零元素的數量似乎表示高維度。 – blacksite
nmf.components_'的尺寸是3行乘14列,它們對應於3個簇和14個不同的單詞,即表示簇質心的向量是詞彙基礎的線性組合。 – Tonechas
那麼我怎麼能找到質心本身的x-y座標?或者這是一個誤導的問題? – blacksite