在给定相异矩阵的情况下,如何在Python中执行PAM集群?

2024-06-10 16:31:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个dataframe df,其中包含id、text、lang、stemed和tfidfresult列。df有24行。我根据tfidf结果找到了相异矩阵(距离矩阵),它给出了数据帧中两行的相异程度

dataframe的外观示例如下:

   id     text                lang                    stemmed                  tf_idfresult
0 234  Hi this                  en [hi, this]                   [0.0, 0.2]
1 232  elephants ruined again   en [elephants, ruined, again]   [0.1, 0.0, 0.0]
2 441  there are palm trees     en [there, are, palm, trees]    [0.2, 0.54, 0.0, 0.823]
3 235  so much to do            en [so, much, to, do]           [0.1, 0.1, 0.0, 0.0]

借助于余弦_相似函数,找到了相异矩阵dis,如下所示:

[[0.0, 0.3, 0.1, 1, 1...]
[0.1, ...]
.
.

用于24行和24列

我使用剪影法,找到了k的最佳值,即3。我试过了

pam = kmedoids(dis, initialmedoids)

但我不知道如何找到最初的medoid。 预期的输出是三个集群中的数据帧。我没有任何特定的输出格式


Tags: 数据textiddataframedflang矩阵this
1条回答
网友
1楼 · 发布于 2024-06-10 16:31:36

我也一直在尝试与k-medoids合作,但已经迷失了方向!我读了一些做这件事的工具。其中两项是:

from pyclustering.cluster.kmedoids import kmedoids

pam = kmedoids(dis, initialmedoids)

pam.process()

clusters = pam.get_clusters()

相关问题 更多 >