scikit-learn kmeans 用 Jaccard 距离聚类文本
Posted
技术标签:
【中文标题】scikit-learn kmeans 用 Jaccard 距离聚类文本【英文标题】: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 用 Jaccard 距离聚类文本的主要内容,如果未能解决你的问题,请参考以下文章
Scikit-learn KMeans 聚类 - 用 X 特征拟合集群,用 X-1 特征预测集群成员?
Scikit-learn,KMeans:如何使用 max_iter