使用jaccard距离的scikit-learn kmeans聚类文本

时间:2019-07-02 07:34:36

标签: python scikit-learn k-means text-classification

我正在尝试使用sklearn将一些推文作为字典进行聚类 我有25个初始质心ID(推特ID) 我是用自己的函数编写的,但是我不知道如何用sklearn来实现

# {845512:'tweet id 845512', 543115:'tweet id 543115', ...}
# initial_centroids = [845512, 546318, 84632, ...] - 25 centroids

NOTE: tweets_vec <= I need to make it by jaccard_distance
tweets_vec = Is the jaccard distance matrix (it may be wrong, i dont know)

kmeans = KMeans(n_clusters=25, init=initial_seeds).fit(tweets_vec)

我制作了一个二维矩阵,其中有jaccard距离。我不知道如何在kmeans方法中修复init。它不是ndarray的错误

我应该传递给什么?

1 个答案:

答案 0 :(得分:0)

如果在kmeans中通过init=initial_centroids,则initial_centroids必须具有形状clusters x features。如果仅使用一项功能,则可能需要重塑数组的形状,请尝试:

init_cent_array = np.asarray(initial_centroids).reshape(-1,len(initial_centroids))

并将其作为kmeans中的init自变量传递。希望这会有所帮助。