龙空技术网

文本聚类分析(一)-python

统计小宋 102

前言:

现在我们对“凝聚层式聚类算法”大约比较着重,我们都想要知道一些“凝聚层式聚类算法”的相关内容。那么小编也在网摘上搜集了一些关于“凝聚层式聚类算法””的相关知识,希望各位老铁们能喜欢,各位老铁们一起来学习一下吧!

1 聚类是将数据对象分组为多个类或簇(cluster),同类对象间具有较高的相似性,不同类的对象间具有较大的差异性。聚类的过程属于无监督学习,数据样本不需要预先标记类别,也没有预先定义的类别。直观地理解,聚类是设法通过特征和聚类模型来挖掘隐含在各种样本数据内部的相似关系,并把相似的样本数据聚集在一起。聚类方法的性能完全依赖样本特征的表示、相似度的计算以及聚类的工作原理(聚类方法)。聚类方法类型:基于质心的聚类方法,如k-均值、k-中心点聚类;层次聚类方法,如凝聚型层次聚类、分裂型层次聚类。基于密度的聚类方法,流行的算法是DBSCAN和OPTICS;基于分布的聚类模型。

2 文本聚类(Text Cluster)是自动地按照内容的相似度将文本分组聚为若干类。在文本聚类过程中,文档特征、文档相似度和聚类模型是三个主要问题。文本聚类的目标:通过聚类,找到满足如下条件的一些类的集合:类内部的文本相似度尽可能大,而类之间的文本相似度尽可能小。文本聚类的性能与所使用的特征和模型密切相关,常用的模型包括k-均值(k-means)聚类、k-中心点(k-medoids)聚类、近邻传播(Affinith Propagation, AP)聚类。

3 文本聚类的常用特征表示

文本聚类是将相似的文档聚在一起,而文本分类是一具文档的内容将文档归到相应的类别中,二者都需要文档特征的表示。目前许多文本聚类的特征表示方法与文本分类相同。词袋模型;TF-IDF模型等;通过将文本中的词项表示为向量后,文本就处于向量空间中,对文本内容的聚类处理就转化为向量空间中的向量运算,并且它以空间上的相似度表达语义的相似度。

2.1 k-均值聚类

基本思想:事先确定常数k,常数k意味着最终的聚类类别数。首先随机选定初始点为质心,并通过计算每一个样本与质心之间的欧式距离,将样本点归到最相似的类中,接着重新计算每个类的质心(即为类中心),重复该过程,直到质心不再改变,最终就确定了每个样本所属的类别以及每个类的质心。质心:同一类中所有对象求均值作为该类的质心。质心并不一定是聚类中的真实对象,可看作是一个虚拟对象。聚类结果:每个对象对所在类的质心的距离相比到其他类质心的距离都小。

2.1 k-均值聚类

工作过程:1.初始划分:从n个数据对象任意选择(或按照某种策略选择)k个对象作为初始聚类中心。2.对象划分到类:计算各个对象与聚类中心的距离,然后将他们分别归到最近的中心所在的类中。3.计算新的聚类中心:依据上一步的聚类结果,计算各个类中所有对象的均值,并将其作为新的各个聚类中心。4.终止条件:如果新的聚类中心与上一次聚类中心没有变化(即各个对象的类别不发生变化),或达到指定的迭代次数则聚类完成;否则回到步骤2进行下一次迭代计算。

2.1 k-均值聚类

特点:1.k值需要预先指定。2.初始聚类中心的选择对聚类结果有较大影响。3.k-均值算法通过距离衡量到聚类中心的接近程度,各个类属于球形聚类空间,不能解决非球形聚类。4.对噪声和离群值非常敏感。

实现(python)

KMeans()中的可选参数:

n_clusters:类的个数,即你想聚成几类

max_iter:最大迭代次数

N_init:用不同的初始化质心运行算法的次数,默认为10.

init:选择初始质心的方式,默认为k-means++

KMeans()中的属性

cluster_centers_:返回最终聚类质心的坐标,向量形式,[n_clusters, n_features]

Labels_: 每个对象的类别

inertia_: 每个点到所在类的质心的距离之和

KMeans()中的方法:

fit(X[,y]): 计算数据X的k-means聚类

fit_predict(X[,y]): 计算所在类质心并给每个样本预测类

fit_transform(X[,y]):聚类并 transform X to cluster-distance space。

predict(X):predict(X) :给每个样本估计最接近的簇。

score(X[,y]): 计算聚类误差 transform(X[,y]): 将X转换为群集距离空间。

标签: #凝聚层式聚类算法