基于质心的划分方法是研究最多的算法,包括k-mean聚类算法及其各种变体,这些变体依据初始簇的选择,对象的划分、相识度的计算方法、簇中心的计算方法不同而不同。基于质心的划分方法将簇中所有对象的平均值看做簇的质心,根据一个数据对象与簇质心的距离,将该对象赋予最近的簇。在这类方法中,需要给定划分的簇个数k,首先得到k个初始划分的集合,然后采用地带重定位技术,通过将对象从一个簇移到另外一个簇来改进划分的质量。
算法:k-mean
输入:数据集D,划分簇的个数k
输出:k个簇的集合
从数据集合D中任意选择k个对象作为初始簇中心;、
Repeat
For 数据集D中每个对象P do
计算对象P到k个簇中心的距离
将对象P指派到与其最近(距离最短)的簇
End for
计算每个簇中心对象的均值,作为新的簇的中心
Until k个簇的簇中心不再发生变化
(1)本例子的样本集合是选择搜狗语料库中的三类文章,每类10篇,如图
(2)对于文本聚类,使用中科院的分词库ICTCLAS,接口封装在split.h和split.cpp中,在分词时,本例子只选用了动词和名词
(3)特征词选取使用tf-idf方法来提取每篇文章的前100个根据tf-idf大小排序的特征词
词频tf(Term Frequency)是指一个词条在一个文本出现的频数。频数越大,则该词语对文本的贡献度越大。其重要