1

我正在尝试聚类一些单词。
我的部分数据如下(只是示例)。

    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。但我不知道如何创建像上面这样的图表。(我也必须根据输入数据制作一些集群)

4

1 回答 1

1

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

K-means算法 OTOH 取决于您提供所需的集群数量,因此您无法从中生成层次结构。NLTK似乎没有提供用于层次聚类分析的工具。

在决定想要什么输出之前,您可能应该熟悉基本的聚类概念

于 2013-12-26T14:17:10.260 回答