应用聚类(实验题)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
聚类方法---K 均值算法(K-means )应用举例
一.算法
按照聚类的原理和方法,主要的聚类算法可以分为以下几类:
(1) 基于划分的聚类:包括 1)k 平均算法或称k 均值算法
(K-means );2)k 中心点算法。
(2) 基于层次的聚类;
(3) 基于密度的聚类;
(4) 基于网格的聚类;
(5) 基于模型的聚类.
k 均值(K-means )算法是一种简单使用的无监督学习算法,此种方法能够用于已知类数K 的数据聚类和分析,基本步骤如下:
初始化:给定类的个数k,置j=0,从样本向量中任意选定k 个向量j k j
j c c c ,...,,21作为聚类中心,],...,,[21j in
j i j i j i c c c c =,(k i ,...,2,1=)。 其中,n 为输入向量的维数,并记中心为j i c 的聚类块j i C 。
(1) 将每个样本向量T n
l l l l x x x x ],...,,[21=,按下列欧几里得距离归入中心为j
i c
的类中。
j m l k m j i l c x c x -=-≤≤1m in (1)
(2) 从新调整聚类中心,新的聚类中心1
+j i c 由下式计算得出,即 i C x m l j im N x c j i i l i ∑==+1, 式中:i N 是聚类块j
i C 中的向量数。
(3)
如果(1)中的聚类中心j i c (k i ,...,2,1=)不再明显
变换,就终止,否则1+=j i ,转(1)。
上述方法是一种迭代算法,可以采用下面的目标函数进行
迭代,直到J 不再明显改变为止。 ∑∑-==∈n k C x i k i k c x J
1 二.算法应用
在本例中,利用k 均值聚类方法,分析大中城市城镇居民家庭情况的相似性,表1为35个大中城市城镇居民家庭基本情况表。
把35个大中城市分为五类,每个城市用7个属性描述,即样本个数为35,样本向量维数7,采用K 均值聚类算法进行分类,在算法公式
(1)中,向量的维数n=7,聚类个数k=5,样本向量个数=l
35。
本例采用SQL Server 2005平台工具进行数据挖掘。
表1
三. 实验结果
通过K均值算法把35个大中城市聚成五个类,每类的城市数量:分类1为13,分类2为9,分类3为8,分类4为3,分类5为2,下表所示。
分类1 分类2 分类3 分类4 分类5
附录:
SQL Server 2005数据挖掘平台——Microsoft聚类分析算法参数介绍:
CLUSTER COUNT 参数:指定将由算法生成的大致分类数,如果无法基于相应的数据生成该大致数目的分类,则算法将生成
尽可能多的分类,在实际问题中,待分类数据的属性
越多,则分类的数目也应该相应增多。
CLUSTER_SEED 参数:它指定在为建模初始阶段随机生成分类时所要
使用的种子数字。默认值0。
CLUSTERING_METHOD 参数:指选用何种方法进行聚类划分,SQL
Server 2005 Microsoft聚类挖掘提供了以下4
种方法:
1---Scalable EM(default):可缩放聚类分析框架下的EM方法(默
认);
2---Vanilla(non-scalable) EM:普通的(非可缩放聚类分析框架)
EM方法;
3---Scalable K-means: 可缩放聚类分析框架下的K方法;
4---Vanilla(non-scalable) K-means: 普通的(非可缩放聚类分析
框架)K方法。
注:SQL Server 2005 Microsoft聚类分析提供的上面4种方法都是基于划分的方法,其中包括EM方法和K方法(K-means)。
EM方法:又称为最大期望方法(expectation maximization,简称EM)该方法没有直接采用计算距离的方法,而是采用概率方法来
将每一个数据分配到待定分类中,该方法在每一个维度上设
置一个封闭曲线作为聚类标准,并计算平均数与标准差。如
果一个点落在这个封闭曲线内,则认为这个点有一定的几率
属于这个给定分类。由于不同分类所对应曲线并不唯一,因
此某个数据点可能同时落在多个分类曲线中,并被赋予相应
概率。由于EM方法可以允许分类边界模糊而又有重叠,故被
称为软聚类,这种方法比较适合不脱节的聚类。
K方法(K-means):通过测量数据与预先划分好的分类的“距离”来
决定数据属于哪一个分类,这里所谓的“距离”
采用最简单的欧几里得距离定义,每一个对象被
划分到距离分类中心最近的分类中。这里K方法
的K就是指划分分类的数目,因为K方法可以将每
一个数据不重不漏地分配到每一个待定分类中,
故被称为硬聚类。
何谓可缩放聚类分析框架:在进行聚类分析时,通常会遇到这样问题,
为了得到较好的分类划分方式,需要不断的采用已
有的数据对给定的划分方式进行测试,对于小的测
试数据集,可以存储在内存中,存储都十分迅速,
在时间上一切都没有问题,可随着测试数据的增
长,数据已经无法完全存储在内存中,就无法对每
个数据进行计算比较,且时间上也无法忍受,可以
采用可缩放聚类分析框架,对数据集进行高效的聚
类分析而不考虑数据量的大小,这样当进行重复训
练时,将不会在不同分类之间来回移动地测试数据
压缩,不把这些数据载入内存,从而腾出更多的空
间存储数据。
MAXIMUM_INPUT_ATTRIBUTES 参数:用于设置聚类分析中,在进行自动特征识别前需要考虑每一个数据特征量的数目,如果数据集中拥有多于这个数目的数据特征,则特征识别会选择数据集中最常见的特征,而其他的数据特征将被忽略,因为特征量的数目会对分析效率产生较大的影响,故被设置为一个有限值,默认值为255。
MAXIMUM_STATES 参数:该参数用于设置每一个数据特征拥有集中状态,如果一个数据特征拥有的状态数超过这个数值,则系统会选择最常见的状态,其他的状态被设置为others,同样因为这个量会影响到分析效率与内存占用,故被设置为一个有限值,默认值100。MINIMUM_SUPPORT 参数: 如果某个分类聚类后得到的数据小于