博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
R对term进行层次聚类完整实例(tm包)
阅读量:6831 次
发布时间:2019-06-26

本文共 1491 字,大约阅读时间需要 4 分钟。

#和上一篇基本一样,只是聚类对象不同 ##连接数据库,将数据库中的文件读取出来#加载包library(RMySQL) #建立连接conn <- dbConnect(dbDriver("MySQL"), dbname = "eswp", user="root", password="root")#读取 表2008yearnewtext = dbReadTable(conn, "2008yearnew")[,2:2]#只读取mesh词的那一列,通过前面的第一个下标修改读取的行数#加载tm包library(tm)#建立语料库corpus=Corpus(VectorSource(text))#从语料库建立词-文档矩阵,用tf-idf来表示,stopwords = stopwords("mesh")表示使用mesh停用词表,停用词表放在tm包中的stopwords文件夹中tdm = TermDocumentMatrix(corpus,control = list(stopwords=stopwords("mesh"), weighting = weightTfIdf))#用夹角余弦计算词之间相似度,这种方法在R中好像不能计算词之间的cosine,只能计算文档之间的夹角,因此需要使用别的方法,即计算距离而不是相似度#dist_tdm <- dissimilarity(tdm, method = 'cosine')#R中计算距离的方法有euclidean,maximum,manhattan,canberra,minkowski,binary等,在这里使用euclidean距离,即欧氏距离dist_tdm <- dist(tdm, method = 'euclidean')#根据相似度进行层次聚类,距离使用average即类平均法距离,可以使用的其他距离有,single,complete,median,mcquitty,average,centroid,ward等hc <- hclust(dist_tdm, method = 'ave')#聚类图plot(hc)#如果类数目较多,则会重合看不清楚,使用下列方法画出大像素图形png("test.png",width=3000,height=3000) #将输出设备改为png,像素尽可能的大,但是如果改的过大容易出现问题。#cex为标签的大小,同时,可以使用cex.axis属性来改变坐标系上数字的大小,使用cex.lab改变下面矩阵名字的大小#使用cex.main改变上方标题的大小,使用cex.sub改变下方聚类方法名称的大小,lwd是图形中线的宽度,此时图形将会在工作目录中看到plot(hc,cex=2,cex.axis=3,cex.lab=3,cex.main=3,cex.sub=3,lwd=1.5)dev.off()#使用cutree函数查看聚类结果,k=3表示将结果分成三类,这种方法分成的类第一类永远很多,除非你的分类特别多,我的600个词,分成400类才能看出点东西。ct = cutree(hc,k=3)#使用h参数进行分类,这种方式可以看着图形进行分类,设定参数ct1 = cutree(hc,h=0.5)#还需要继续进行测试#对聚类结果进行数量统计,得到每个类中term的数量table(ct)#查看第一类中的termct1 <- ct[ct==1];ct1

转载于:https://www.cnblogs.com/todoit/archive/2012/07/19/2599764.html

你可能感兴趣的文章
js 判断输入是否为正整数
查看>>
「收藏」一些有趣的图
查看>>
探索虚函数(二)
查看>>
李青云老人的长寿秘诀【转】
查看>>
Springboot Thymeleaf 发邮件 将html内容展示在邮件内容中
查看>>
BZOJ2434:[NOI2011]阿狸的打字机——题解
查看>>
第5件事 做一个有taste的产品人
查看>>
暂时记录
查看>>
MicroPython开发之物联网快速开发板
查看>>
Mysql分布式部署高可用集群方案
查看>>
PHP中常用的输出语句比较?
查看>>
android&nbsp;setBackgroundColor
查看>>
UVa11181 条件概率
查看>>
<Linux> xm 命令
查看>>
linux 常用命令
查看>>
ecna 2017 J Workout for a Dumbbell (模拟)
查看>>
用Quick3.3开发微信打飞机 (二) -------------------- 子弹和敌人的配置和创建
查看>>
Tui-x 自适应屏幕 (转) ----- 6
查看>>
解题思路
查看>>
AngularJS - Apply方法监听model变化
查看>>