首页 > 解决方案 > scikit-learn kmeans 用 Ja​​ccard 距离聚类文本

问题描述

我正在尝试使用 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)

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

我到底应该传递给它什么?

标签: pythonscikit-learnk-meanstext-classification

解决方案


如果在kmeans之内你通过init=initial_centroids,那么initial_centroids一定有形clusters x features。如果您只使用一项功能,您可能需要重新调整阵列,请尝试:

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

并将其作为initkmeans 的参数传递。希望这可以帮助。


推荐阅读