基于K-Means聚类的数据分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
现代制造技术与装备
8
2017第4期 总第245期
1 K-Means 聚类算法概述1.1 内涵
K-Means 算法是对对象元素之间差异问题检测的聚类算法。
它主要是从所有的样本对象中选择出K 个元素作为最开始的聚类目标,之后按照规则算法要求,对剩下元素和目标中心元素之间距离进行分析,根据计算的数值确定元素和中心元素之间的关系。
K-Means 聚类算法流程操作,如图1
所示。
图1 K-Means 聚类算法图
1.2 局限
K-Means 聚类算法包括划分法、层次法和基于模型的算法。
这些算法的缺点是对样本数据进行了假设处理,而这种假设处理方式无法在大数据收集和整理中发挥作用。
同时,K-Means 聚类算法能够挖掘的聚类个数依赖用户指定的参数信息,使用上对用户要求过高。
2 基于MapReduce 分布式K-Means 聚类数据优化分析2.1 初始阶段聚类中心优化
传统K-Means 算法中心的选择具有很强的随意性,使得算法在获得局部最优值时会停止。
K-Means 聚类算法研究的重点之一是获得算法的终止最优解。
应用Canopy 聚类能够对中心初始数据进行优化,对于在各个集群中的数据子
集,可以应用Canopy 算法计算产生多个局部中心,之后应用局部中心获得全局中心数据的集合。
2.2 迭代优化
K-Means 聚类的迭代优化过程需要计算数据对象到每一个簇中心的距离,并对簇中心所属类型进行标注。
创建Canopy 聚类时,需要保证划分后的簇至少包含这个簇的一个元素,每一个数据点都需要落在Canopy 上。
K-Means 聚类结果示意图,如图2所示,实现圈代表的是重叠之后的canopy。
实际上,数据点分布在虚线圈的五个簇中。
在这五个簇中,每一个至少包含一个canopy。
簇A 例外,被两个canopy 包含。
根据canopy 的基础上,对分布在现有站点数据子集独享进行分析,通过Map 函数计算出Canopy 聚类和哪一个簇的中心距离近。
具体方法:先判断数据对象和簇中心是否同属于一个canopy,之后通过降低聚类算法实现对全部数
据对象的精确计算。
图2 K-Means 聚类结果示意图
2.3 算法实现
实现K-means 聚类优化算法分四个阶段,应用四个Job 完成,具体流程如图3所示。
其中,Job1需要产生K 个canopy 中心;Job2需要在Job1的基础上生产K 个能够互相重叠的canopy;Job3主要是对同一个canopy 数据对象进行K-means 聚类分析,之后形成簇;Job4是通过应用稳定下来的K-means 中心簇类,获得最终的输出结果。
3 K-Means 聚类算法在学生成绩数据分析中的应用3.1 数据的预处理
应用教育统计中的标准分数,对学生的考试成绩进行分析。
学生考试成绩的标准分数是一种相对数值,不受原
基于K-Means 聚类的数据分析
易雁飞
(广东工业大学 自动化学院,广州 511400)
摘 要:K-Means 是一种常见的划分聚类算法,是在集中式系统框架无法对海量数据进行处理分析的基础上提出的。
基于K-Means 聚类数据分析算法,优化初始中心数据的选取,改革数据传输通信和计算模式。
实验证明,这种算法具有很强的执行效率和扩展性,适合应用到大量的数据挖掘分析中。
为此,文章对基于K-Means 聚类的数据进行分析。
关键词:K-Means 聚类 数据分析 算法
DOI:10.16107/ki.mmte.2017.0197
设 计 与 研 究
9
始测量数据信息的影响。
将数据标准差作为数据量,数据标准分数用符号Z 表示,计算公式是Z=(X-Y)/S。
其中,Y 代表平均分数、X 代表个体原始分数,S 代表标准差。
标准分数对原始分数的位置进行展现,如果在计算后得到的成绩是负数,则说明学生的成绩没有达到平均分标准。
学生成绩数据管理系统应用的是纵向结构系统,系统中记录
了多重信息。
图3 K-means 聚类优化算法流程
3.2 算法设计说明
算法是K-Means 聚类簇中心算法,但这种算法普遍存在四种问题。
一是算法只能在簇平均值定义后才能使用,应用范围有限。
二是要求用户在运算前获得簇的数目,不符合普遍操作经验。
三是初始聚类中心的选择对聚类结果影响较大。
四是受各簇大小和形状的影响,将平均误差准则函数作为聚类标准函数不科学。
基于这些问题,提出了平均值的改进算法,主要是在簇中去掉和簇中心距离的极点对象。
3.3 运行结果分析
以某班学生成绩作为数据,以K 从1到10的方法应用K-Means 聚类算法,对每次簇类内部簇内平方和进行计算,最终获得理想的分析结果。
在选择K=3时,应用K-Means 聚类算法,系统的运行时间是0.8s,簇的平均距离是1.013、0.682和0.903。
改进后的K-Means 聚类算法结果如图4、表1所示。
根据图4,成绩超过0时,可以证明成绩本身高
出平均分;反之,亦然。
图4 改进之后的K-Means 聚类算法结果(横坐标是学期,纵坐
标是成绩,零点是成绩平均值)表1 改进后K-Means 聚类算法各簇距离表
簇成员各簇成员距离簇中心的距离(无单位)
平均距离140.90,1.26,0.71,1.110.9952
11
0.80,0.71,0.71,0.74,0.38,0.69,
0.93,0.33,0.74,0.63,0.780.676
313 1.12,0.80,0.99,0.70,1.51,0.89,0.89,0.76,0.65,0.72,0.87,0.50,1.02
0.878
根据图4和表1可以看出,通过K-Means 聚类算法的应用聚集到了相应样本。
簇1中包含的成员总数是4,这4个成员每一个学期的标准分都没有超过平均分,成绩浮动较大。
簇2中的成员数量是11,成员的成绩在平均分之上。
簇3中的成员数量是13,成员成绩在平均分线上下波动。
可见,K-Means 聚类算法是基于距离来讲的,基本衡量的准则是成员和簇之间的距离。
综合分析得出,最合适的簇的距离是2。
另外,经过实验证明,各个簇之间数据信息如果比较密集,误差平方和准则函数是有效的。
但是,如果簇的大小、形状存在很大差异,就会出现簇分割的现象。
为此,在应用误差准则测量聚类时,聚类结果要和目标函数的极值点对应。
另外,K-Means 聚类算法是沿着目标函数变小的方向发展,
初始化数据一旦落在极小点附近,就会导致算法在极小处的收敛。
为此,初始数据聚类中心的选择要尽可能多地选择不同的初始值进行反复运算,从而获得最优化结果。
4 结语
综上所述,在阐述K-Means 聚类数据内涵和局限的基础上,提出了基于MapReduce 分布式K-Means 聚类数据优化分析,完成了K-Means 聚类废初始聚类中心优化选择。
以具体的实例分析改进后的算法,显示出优越性,且数据越多,得到的数据分析结果越理想。
可见,K-Means 聚类算法这种形式的数据挖掘算法具有重要的现实意义,值得相关人员进一步分析和应用。
参考文献
[1]冀素琴,石洪波.面向海量数据的K-means 聚类优化算法[J].
计算机工程与应用,2014,(14):143-147.
[2]周润物,李智勇,陈少淼,等.面向大数据处理的并行优化
抽样聚类K-means 算法[J].计算机应用,2016,(2):311-315,329.
[3]杨阳.数据挖掘K-means 聚类算法的研究[D].长沙:湖南师
范大学,2015.
[4]李昊凌.基于改进K-means 聚类算法的独立成分分析(ICA)在
金融数据挖掘中的应用[D].广州:广东财经大学,2015.
Data Analysis Based on K-Means Clustering
YI Yanfei
(College of Automation, Guangdong University of Technology, Guangzhou 511400)
Abstract: K-Means is a common partitioning clustering algorithm, which is based on the analysis of massive data in the centralized system frame. Based on K-Means clustering data analysis algorithm, optimize the selection of initial center data, reform data transmission and computing mode. Experiments show that this algorithm has a strong implementation efficiency and scalability, suitable for application to a large number of data mining analysis. To this end, the article based on K-Means clustering data analysis.
Key words : K-Means clustering, data analysis, algorithm。