我有一个我用来适应的字符串列表sklearn.cluster.KMeans
:
X = TfidfVectorizer().fit_transform(docs)
km = KMeans().fit(X)
现在我想以原始字符串表示形式获得集群中心。我知道km.cluster_centers_
但无法弄清楚如何获得docs
.
我有一个我用来适应的字符串列表sklearn.cluster.KMeans
:
X = TfidfVectorizer().fit_transform(docs)
km = KMeans().fit(X)
现在我想以原始字符串表示形式获得集群中心。我知道km.cluster_centers_
但无法弄清楚如何获得docs
.
k均值中没有集群中心的“原始表示” ;它们实际上不是输入集中的点(矢量化文档),而是多个点的手段。由于词袋表示破坏了术语的顺序,因此无法将此类方法转换回文档。
一种可能的近似是取一个质心向量,然后用TfidfVectorizer.inverse_transform
它来找出哪些项在其中具有非零 tf-idf 值。
您可以使用k -medoids算法实现您想要的,该算法确实将实际输入点分配为质心,但这并未在 scikit-learn 中实现。