scikit-learn kmeans 用 Ja​​ccard 距离聚类文本

Posted

技术标签:

【中文标题】scikit-learn kmeans 用 Ja​​ccard 距离聚类文本【英文标题】:scikit-learn kmeans clustering text with jaccard distance 【发布时间】:2019-11-12 19:23:01 【问题描述】:

我正在尝试使用 sklearn 将一些推文聚类为字典 我有 25 个初始质心 id(tweet 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

我究竟应该传递给它什么?

【问题讨论】:

可能与:***.com/questions/5529625/… 重复,您可以在最佳答案中找到您的解决方案。 这不是我要找的。我可能会含糊地说出这个问题。我将对其进行编辑以使其更清晰。 【参考方案1】:

如果在 kmeans 内传递 init=initial_centroids,则 initial_centroids 必须具有形状 clusters x features。如果您只使用一项功能,您可能需要重新调整阵列,请尝试:

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

并在 kmeans 中将其作为 init 参数传递。希望这会有所帮助。

【讨论】:

以上是关于scikit-learn kmeans 用 Ja​​ccard 距离聚类文本的主要内容,如果未能解决你的问题,请参考以下文章

Scikit-learn KMeans 聚类 - 用 X 特征拟合集群,用 X-1 特征预测集群成员?

Scikit-learn的kmeans聚类

Scikit-learn,KMeans:如何使用 max_iter

我如何分发小批量 kmeans(scikit-learn)的处理?

kmeans scikit-learn 教程

[机器学习与scikit-learn-23]:算法-聚类-KMeans算法的工作原理