在Python中聚类距离矩阵

时间:2015-02-19 19:39:59

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

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

        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.但是,该值很高。

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

我正在寻找一个python库来做到这一点。

1 个答案:

答案 0 :(得分:0)

由于您已有相似度值,请尝试hierachical clustering。 例如,scipy lib为它提供了几种方法。

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