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

Python K-表示定义tf idf矩阵的初始中心,python,numpy,scikit-learn,k-means,tf-idf,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.25470000

我使用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.

从这个错误中我得到了尺寸不相等的想法。如何变换初始中心以满足稀疏矩阵的维数?

质心中的特征数应与数据中的特征数相同

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

tfidf_矩阵的形状是什么?每次运行时都会发生变化。但是你可以根据最后一个例子来帮助我,那就是:(11118262)好的,但我的问题是如何变换X?