我正在尝试将一些词汇聚在一起 我的部分数据如下(仅作为示例)。
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 ...来制作一些群集和一个(非常漂亮的)图表,如下所示。
但我不能......我已经看过手册,但这并不容易理解。 所以,我尝试在nltk中使用一些聚类库,例如k-means..etc。但我不知道如何创建如上图。 (我还必须根据输入数据制作一些聚类)
答案 0 :(得分:1)
您出示的图片为hierarchical cluster。与“典型”聚类分析不同,它不是一种聚类数据的方式,而是所有可能的聚类方式。通过计算层次结构与层次结构图像中任意水平线的交点来获得一个“聚类集”。
K-means算法OTOH取决于您提供所需的群集数量,因此无法从中生成层次结构。 NLTK doesn't seem为分层聚类分析提供工具。
在决定您想要的输出之前,您应该熟悉basic clustering concepts