文章聚类(续)

继续 文章聚类 一文中没有解决的问题。 这里利用余弦距离进行分析。

这里从文档词频矩阵开始,在生成这个矩阵以后,使用词频倒数决定每个单词的信息量,然后与文档词频矩阵相乘,得到DF * IDF 矩阵。

代码如下:

mcop=blogCluster::loadBlogCop()
dtm=tm::DocumentTermMatrix(mcop)

freq = apply(dtm,2,sum)
minfo = 1/freq

#乘到dtm中
mdtm=as.matrix(dtm)
fm=diag(minfo)

res=mdtm %*% fm

得到上面的矩阵以后,将各行正规化成模为1的向量,进一步计算文章之间的余弦距离

res=akmeans::quick.norm(res)
dres=blogCluster::cosDist(res)

输出为一个700行x700行的方阵,表示个文章之间的余弦距离。此后,利用余弦距离进行分类。后来我在分类时发现,我的博文之间的距离基本上是接近垂直的。最小的距离也是0.8以上(除了0以外),由此,前面的kmeans分类结果不佳也可以解释了。



本文地址: http://www.bagualu.net/wordpress/archives/6234 转载请注明




“文章聚类(续)”的2个回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注