【问题标题】:Cluster a Distance Matrix in Python在 Python 中聚类距离矩阵
【发布时间】:2015-04-21 07:57:35
【问题描述】:

我有一个形式的距离矩阵:

        str1    str2    str3    str4    ...     strn
str1    0.8     0.4     0.6     0.1     ...     0.2
str2    0.4     0.7     0.5     0.1     ...     0.1
str3    0.6     0.5     0.6     0.1     ...     0.1
str4    0.1     0.1     0.1     0.5     ...     0.6
.       .       .       .       .       ...     .
.       .       .       .       .       ...     .
.       .       .       .       .       ...     .
strn    0.2     0.1     0.1     0.6     ...     0.7

每个元素包含两个字符串之间的距离,字符串 i 和字符串 j 是根据它们的相似性计算得出的。如果字符串相似,则值更高。从矩阵可以看出,同一个字符串不会得到1或0,但是值很高。

我的要求是根据字符串的值对字符串进行聚类,以便将最相似的字符串聚集在一起。比如这里的五个字符串应该是聚类的:[str1, str2, str3], [str4, strn]。

我正在寻找一个 python 库来执行此操作。

【问题讨论】:

    标签: python algorithm machine-learning nlp cluster-analysis


    【解决方案1】:

    既然您已经有了相似度值,请尝试hierachical clustering。 例如,scipy lib 为其提供了多种方法。

    *不要忘记将相似度矩阵转换为距离一。

    【讨论】:

    • 谢谢。您是否能够获取矩阵(例如 X)并显示使用 scipy 进行聚类的步骤(可能在程序代码中)。这就是我卡住的地方。这对我很有帮助。
    猜你喜欢
    • 2016-03-20
    • 1970-01-01
    • 2011-04-13
    • 2013-04-21
    • 2014-07-28
    • 2019-02-05
    • 2011-08-08
    • 2014-07-09
    • 2014-10-24
    相关资源
    最近更新 更多