在Python编程中使用numpy和nltk或CLUTO对单词进行聚类

时间:2013-12-26 13:46:00

标签: python cluster-analysis nltk cluto

我正在尝试将一些词汇聚在一起 我的部分数据如下(仅作为示例)。

    cat dog horse ostrich 
cat  8   2.3  3.4  4.7
dog  7   8    3   2.4
horse 3.4 2.5 8  1.5
ostrich 3.4 3.2 4.4 8

数字越大意味着两个单词之间的相似性越高。 根据这种格式数据,我想制作一个集群(例如,(猫,狗),(马),(鸵鸟)共3个集群)。

首先,我尝试使用CLUTO ...来制作一些群集和一个(非常漂亮的)图表,如下所示。 enter image description here

但我不能......我已经看过手册,但这并不容易理解。 所以,我尝试在nltk中使用一些聚类库,例如k-means..etc。但我不知道如何创建如上图。 (我还必须根据输入数据制作一些聚类)

1 个答案:

答案 0 :(得分:1)

您出示的图片为hierarchical cluster。与“典型”聚类分析不同,它不是一种聚类数据的方式,而是所有可能的聚类方式。通过计算层次结构与层次结构图像中任意水平线的交点来获得一个“聚类集”。

K-means算法OTOH取决于您提供所需的群集数量,因此无法从中生成层次结构。 NLTK doesn't seem为分层聚类分析提供工具。

在决定您想要的输出之前,您应该熟悉basic clustering concepts