unit3 文本聚类

2018-05-11  本文已影响0人  巴拉巴拉_9515

《集体智慧编程》第三单元“发现群组”主要亮点是文本的聚类。故针对第三单元的博客文本聚类做记录。

1、数据对象

通过读取每个博客的词汇,统计词频,形成如下单词表作为本次文本聚类的数据资料。第一列为所有博客名称,第一行为博客中出现的词汇,中间数值表示某个博客出现该词汇的次数。

2、分级聚类

分级聚类通过连续不断地将最为相似的群组两两合并,来构造出一个群组的层级结构。
每个群组都是从单一元素开始的。在每次迭代的过程中,分级聚类算法会计算每两个群组间的距离,并将距离最近的两个群组合并成一个新的群组。这一过程会一直重复下去,直至只剩一个群组为止。

【相似度定义】元素的相似度由相对位置体现,距离越近越相似。
【缺点】计算量太大,必须计算每两个配对项之间的关系,并且在合并之后还需要重新计算新距离,在处理大规模的数据集时,该算法的运行速度会非常缓慢。

考虑分级聚类的实质,在实际运行中我只处理了部分博客数据,产生的聚类划分结果如下所示:

3、K均值聚类

【要求】预先告诉算法希望生成的聚类数量.
【缺点】由于初始中心的随机选取,每次聚类结果是不一样的
【优点】算法执行速度更快

对部分博客数据进行k均值聚类,当划分为5类博客时,划分结果如下所示:

4、实际结合

上一篇 下一篇

猜你喜欢

热点阅读