R语言文本挖掘(三)—文本聚类

浏览: 2641

前言

请岛民结合昨天和前天的文章一起看,这是个系列

(前言是大管家自己加的...可任性了呢!)


分类和聚类算法,都是数据挖掘中最常接触到的算法。分类、聚类算法分别有很多种,我们这里暂时不用深究算法细节。关于分类和聚类大家可以上网看到很多介绍的文章。但R中已经有成熟的算法程序包可以直接调用了。

分类和聚类的差异。。。照我的理解

相同点分类算法和聚类算法最后实现的效果是相同的,都是给一个集合划分成几个类别。不同点分类算法是根据已知的确定类别去做划分,所以分类需要训练集,有训练、测试、预测这个过程;聚类算法则未规定类别,它是基于给定集合的里面的内容,根据内容的相似度去给集合划分成指定的几个类(你可以指定划分成多少个类,而不是指定有哪些类),这些相似度的测量就是聚类算法的核心,这个度量标准可以是欧几里得距离、是曼哈顿距离、是切比雪夫距离等等。

它们分别叫做有监督分类和无监督分类,这种说法不是很确切,他们之间是存在差异的。

今天我们主要来看文本聚类

做聚类不需要训练集的,我们就接着之前的处理的分词去做,常用的聚类算法有5种,这里主要给大家介绍1种——系谱聚类

1首先我们载入tm包


2然后代入数据集,转变成矩阵才能进行聚类算法


3接下来就是做聚类了

a.  使用dist()函数计算并返回使用指定的距离测量,计算一个数据矩阵中的行之间的距离,计算距离矩阵。


b.  利用hclust(d, method = "complete", members = NULL)函数用来实现系谱聚类,将之前处理好的矩阵带入,参数method选择默认的值,得到:


 c.  我们利用plot()做一下系谱图

>plot(hclustRes)


d.  用cutree()函数对系谱图做剪枝,按聚类结果分5个类别,进行简单的处理之后我们得到


e.  调出数据编辑器,我们就能看清楚哪一句话属于哪一个分类



当然啦,我们这个案例主要是为了让大家理清楚文本挖掘的思路,并没有太大的实际的意义,文本挖掘是数据挖掘工程师面试必问的问题,因为它涉及到的范围很广。其实在代码中还有一种聚类算法,这里我就不给大家解释了!

这几天大家应该也是很烧脑的,but 其实岛主还准备有文本挖掘的Part4—《利用电商用户评论看用户对商品的反馈》。这个实操的部分,我会在下周给大家带到!

岛主小喇叭

希望大家多多关注菜鸟数据岛,这里不仅有实用的技术分享,更有数据分析的应用以及商业思维、商业价值应用干货。当今企业不再需要不懂业务的“马后炮”型、纯技术流数据分析师,而是需要具有商业思维、战略眼光的“企业医生”型分析师。单纯从数据分析推进企业发展的方面,中国还有很大的发展蓝海。在信息化的未来,数据分析思维必将成为基础性需求,成为管理者、运营、产品、市场、IT从业者的必备技能。菜鸟数据岛致力于帮助岛民成为具备娴熟技术、全新商业思维、战略决策视野的数据分析精英。愿我们一起进步,共同成长,毕竟我们的心愿是,让兜里充满钱,让心里充满爱!!!



推荐 1
本文由 菜鸟数据岛 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册