数据分析方法与技术聚类分析实验报告
电子科技大学政治与公共管理学院本科教学实验报告
(实验)课程名称:数据分析技术系列实验
电子科技大学教务处制表
电子科技大学
实验报告
学生姓名:学号:
指导教师:
一、实验室名称:电子政务可视化实验室
二、实验项目名称:聚类分析
三、实验原理
基于划分的聚类:
基于划分的聚类分析(partitioning-based cluster analysis) 与层次聚类分析不同, 事先需要指定将数据分为几类。
给定一个有 n 个个体的数据集, 将它划分为 k 个部分( k≤n ), 每个小部分即为一类。它需要满足以下两个条件:
(1) k 类中任意一类不为空集,即每一类中至少有一个个体;
(2) 每一个体都属于且仅属于 k 类中的一类。
在新近发展起来的一些基于划分的聚类分析算法中,第二个条件可以被适当放松。总之,限制条件不是绝对的。
1.初始凝聚点的选择
凝聚点即各类的代表点, 基于划分的聚类分析算法中首先需要找到 k 个凝聚点分别作为 k 类的中心, 用来形成初始分类。初始凝聚点的选择主要有以下几种方法:
(1)经验选择, 根据对问题背景的了解,选择合适的点作为初始凝聚点。这是最理想的一种方法, 利用对问题本身背景信息的了解,既可以通过较少的迭代次数达到稳定分类, 又能够满足问题在聚类中的一些特殊需求。
(2) 随机选取 k 个点或者选择数据中前 k 个点作为凝聚点。在缺少已知信息的情况下常常使用这种方法。
(3) 将数据人为地分为 k 类, 将每一类的重心作为初始凝聚点。
(4) 密度法
人为地指定两个正数 d1 和 d2 (d2 > d1), 以每个样本点为中心, 落在与该点距离
小于 dl 的球内的样本个数即为该点的密度。
首先选择具有最大密度的点作为第一个凝聚点, 然后选择次大密度的样本点, 如果它和第一凝聚点之间的距离小于d2, 则该点取消;如果它与第一凝聚点之间的距离大于d2, 则该点作为第二个凝聚点。按照这个方法一直选下去, 每个新选出的凝聚点与已经选好的凝聚点之间的距离均要大于d2, 直到选出 k 个凝聚点为止。
若无法选出 k 个凝聚点, 则应适当调整d1 和 d2 的大小使过程能够进行下去。
2. 初始分类
最常用的初始分类方法有以下几种。
(1) 根据样本点间距离的定义, 每个样本归入与其距离最近的凝聚点所代表的类中。
(2) 将选出的每个凝聚点视为一类,第一个样本点进入时,归入与其距离最近的凝聚点所代表的一类,并对更新的类重新计算中心作为修正后的凝聚点替代原有凝聚点, 此后各个样本点按此方法依次进入。
(3) 首先人为指定一个正数 d , 将第一个样本点视为第一类。此后第二个样本点进入, 若它与第一个样本点之间的距离 d
12
>d, 则第二个样本点视为第二类; 若它与第一个
样本点之间的距离d
12
≤ d, 则第二个样本点进入第一类。
当第l个样本点进入时已经有 m 个划分好的类, 每个类第一次进入的样本点记为
x i1, x
i2
, …,x
im
。若min d iij≤d, 则第l 个样本进入与其距离最近的点所代表的那一类;
否则, 第 l 个样本自成为新的一类。
注意, 这个方法不需要选择初始凝聚点就能够进行初始分类。
3.修改分类的方法
修改分类的方法主要有两种:
(1) 按批修改法
1) 选择一批初始凝聚点, 定义点与点之间的距离;
2) 所有样本点按照最近初始凝聚点分类;
3) 计算每一类的重心, 将类的重心作为新的凝聚点,重新对所有样本点分类, 当所有凝聚点与上一次凝聚点重合时过程停止。
按批修改法的优点是计算量较小, 计算速度快; 其缺点是最终聚类结果与初始凝聚点选择有关。
逐个修改法
(2) 逐个修改法
按批修改法在每一次迭代的过程中凝聚点不变, 另一种想法是在每一个样本进入之后随之调整凝聚点, 这就是逐个修改法。
逐个修改法又被称为“K-means”方法, 由MacQueen在1967年提出, 现在已经成为聚类分析中最常用的方法之一。其步骤为:
1) 在 n 个数据中选取 k 个作为凝聚点, 并且定义点与点之间的距离;
2) 其余 n-k 个点逐个进入, 每个点进入时归入与相应凝聚点距离最近的类中,每个点进入之后重新计算每一类的重心作为该类新的凝聚点;
3) 重复2)直至所有类的凝聚点均不再变化为止。
EM 聚类
EM聚类是一种基于模型的聚类方法。即试图使给定数据与某个数学模型达到最佳拟合。主要有统计方法和神经网络方法。 EM聚类主要基于数理统计模型和概念进行聚类。
EM聚类方法认为:
样本点都是来自服从某种分布的总体,
属于不同类的个体分别来自具有不同分布或者参数的总体,而整个样本就是来
自多个分布的数据的一个混合, 每一个分布成为一个子总体。
EM聚类即要在一定的分布假定基础上找到一系列参数来拟合不同的子总体, 再根据每个样本落入不同总体的概率来判定该样本来自哪一个子总体, 进而对样
本进行聚类。
EM聚类算法的具体过程如下:
1) 确定数据被聚为多少类,即需确定 k 。
2) 对数据的分布类型作出假定。
3) 给出各子总体的初始参数初始参数的选择对最终结果有很大影响。
4) 利用EM方法对初始参数迭代进行修正,直到满足终止条件。
1. E步骤
E 代表 expectation
根据贝叶斯公式计算样本点 xi 来自第 m 个子总体的概率。
可以理解为在先验分布条件下 xi 来自第 m 个子总体的概率的期望值, 公式如下:
2. M步骤
M 代表 maximization
利用 E 步骤中得到的每个样本点来自不同子总体的概率对子总体参数进行更新, 使数据似然函数达到最大值,
这里假定每个子总体均服从高斯分布, 则参数更新公式如下:
似然函数计算公式为:
四、实验目的
掌握Statistica软件的基本运用,运用基于划分的聚类方法(K-means)和EM模型进行聚类分析,理解相关参数设置的具体含义。
五、实验内容及步骤
实验内容:
根据花萼的长度(sepal length)和宽度(sepal width),花瓣的长度(petal length)和宽度(petal width)把鸢尾花分为三类。
运用基于划分的聚类方法:K-means 进行分析和EM聚类算法。
实验步骤:
基于K-means聚类算法的步骤:
选择聚类方法
选择聚类变量
聚类参数(细节)设置
总的输出结果
EM模型聚类步骤:
聚类参数(细节)设置
EM聚类总体输出窗口
六、实验器材(设备、元器件):
计算机、打印机、硒鼓、碳粉、纸张
七、实验数据及结果分析
基于K-means 聚类算法结果分析:
表1
如表1所示,三个类别中心位置分别为(5.006,3.428,1.462,0.246)、(6.846,3.082,5.703
,2.079)和(5.889,2.738,4.397,1.418),包含的个体分别为50、39和61个。各类别在总体中所占的比例分别为33.33%、26%和40.67%。
表2
如表2所示,类1与类2的距离为1.175699,类2和类3的距离为0.465071,类1和类3的距离为0.792921。
表3
表3反映了四个变量在各类中的均值,第一类与另二类差别较大。
表4
表4展示了该变量取值在不同类别之间分布的不同。
EM模型结果分析:
表5
如图5所示,最终分入第1类所占比例为25.208%,分入第2类所占的比例为33.333%,分入第3类所占的比例为41.4586%。
27 0.0000000.000000 1.0000003
如表6所示,输出每个样本点指定到每个子总体的权数。该权数即成为每个样本点归属的依据。
表7反映了四个变量在各类中的均值,第二类与另二类差别较大。
273 6.700000 3.000000 5.200000 2.300000 1.000000
表9展示了该变量取值在不同类别之间分布的不同。
八、实验结论
Statistica在数据分析方面提供了强大的能力,可以快速地得到丰富的描述性统计分析结果供数据分析人员选用,重点在于理解各输出参量的含义及其与数据分析对象属性之间的关系。本实验的结果让我比较好地掌握了聚类分析的具体方法。
九、总结及心得体会
利用软件来进行复杂的统计数据分析确实可以带来极大的便利,应加深原理以及基本概念的理解。应主动学习掌握Statistica软件基本操作,这样在实验时才能事半功倍。
十、对本实验过程及方法、手段的改进建议
老师应该在实验前要求学生复习,理解实验原理,避免在不清楚原理的情况的实验下进行实验。对基于K-means聚类方法和基于EM模型的基本操作应熟练。