应用聚类(实验题)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 参数: 如果某个分类聚类后得到的数据小于

相关文档
最新文档