K-表示定义tf-idf矩阵的初始中心

时间:2017-01-05 06:18:13

标签: python numpy scikit-learn k-means tf-idf

我正在使用k-means进行聚类文章,它运作正常。现在我想定义初始中心以获得更合理的结果。

我的Python代码:

tfidf_matrix = tfidf_vectorizer.fit_transform(articles)
X = np.array([[-19.67480000,  -8.546],
            [22.010807000,-10.9737],
            [11.959700000,19.2701],
            [12.254700000, 11.2381],
            [16.649700000,-15.2251],
            [19.859700000, 13.2601]] , np.float64)
km = KMeans(n_clusters=6,init=X, n_init=1).fit(tfidf_matrix)

当我尝试定义初始质心时,我收到以下错误:

ValueError: The number of features of the initial centers 2 does not match the number of features of the data 4602.

从错误中我得出维度不相等的想法。如何转换初始中心以满足稀疏矩阵的维数?

1 个答案:

答案 0 :(得分:0)

质心中的要素数量应与数据中的要素数量相同。

您的输入数据(tfidf_matrix)是(1111,8262),即具有8262个特征的1111个样本。 然后,你的6个质心也应该有8262个特征。 X的形状应为(6,8262)。