全文链接:http://tecdat.cn/?p=30832
常用的聚类算法
常用的聚类算法有:K-MEANS、K-MEDOIDS、BIRCH、CURE、DBSCAN、STING。
相关视频
主要聚类算法分类
聚类算法的性能比较
由表可得到以下结论:1)大部分常用聚类算法只适合处理数值型数据;2)若考虑算法效率、初始聚类中心影响性和对异常数据敏感性,其中BIRCH算法、CURE算法以及STING算法能得到较好的结果;3)CURE算法、DBSCAN算法以及STING算法能发现任意形状的聚类。
改进聚类的主要步骤
聚类的主要步骤由以下几个方面组成:
(1)数据预处理:根据聚类分析的要求,对输入数据集进行特征标准化及降维等操作。
(2)特征选择及特征提取:将由数据预处理过程得到的最初始的特征中的最有效的特征选择出来,并将选取出来的最有效特征存放于特定的向量中,然后对这些有效特征进行相应的转换,得到新的有效突出特征。
(3)聚类(分组):根据需要选择合适的相似性度量函数对数据集中的数据对象相似程度进行度量,以此进行数据对象的聚类(分组)。
(4)对聚类结果进行评估:依据特定的评价标准对聚类的结果进行有效评估,评估聚类结果的优劣,以此对聚类分析过程进行进一步的改进和完善。
聚类的主要步骤可以用图来表示。
改进聚类分析中的数据类型及聚类准则函数
聚类算法的数据结构:数据矩阵、相异度矩阵。
相异度矩阵:相异度矩阵用来存储的是实体之间的差异性,n个实体的相异度矩阵表示为 n×n维的矩阵,用d(A,B)来表示实体A与实体B的相异性,一般来讲,是一种量化的表示方式,则含有n个实体的集合X=的相异度矩阵表示如下:
d(i,j)表示对象i和j之间的相异性的量化表示,通常它是一个非负的数值,当对象i和j 越相似或接近,其值越接近0;两个对象越不同,其值越大。并且有d(i,j)=d(j,i),d(i,i)=0。目前最常用的的相似性度量函数为欧式距离。
在MATLAB中应用K-MEANS算法
数据的预处理
本研究的数据是某高校学生的期末考试成绩,成绩表包括以下字段:x1为“电子商务”科目成绩,x2为“C语言概论”科目基础知识。其中,数据已经经过标准化和中心化的预处理:
(1)补充缺失值。对退学、转学、休学、缺考造成的数据缺失采用平均值法,以该科目的平均分数填充。
(2)规范化数据。运用最小-最大规范化方法对数据进行规范化处理,将数据映射到[0,1]区间,计算公式如下:
过程及结果分析
(1)读取数据
选择MATLAB的Data.mat,通过ImpoMatlabt Files,将所有数据读入。
(2)K-Means 模型设置
1)NumbeRs of clusteR:制定生成的聚类数目,这里设置为3.
2)定义了分割数据集,选择训练数据集作为建模数据集,并利用测试数据集对模型进行评价。
(3)执行和输出
设置完成后,选中Execute 按钮,即可得到改进聚类执行并观察到结果。
可以以图表的形式来显示模型的统计信息以及各个属性在各簇中的分布信息,结果如下图所示。
(4)聚类结果
结果表明:簇1中的学生都是考试成绩中等的,簇2中的学生考试成绩较高,簇2中的学生考试成绩较差,可见,大部分学生的期末考试成绩处于中等水平;各变量在各簇中的显著程度均较大,表明学生对各科目的学习分化程度较高,差异显著。
参考文献
[1] 贺玲, 吴玲达, 蔡益朝. 数据挖掘中的聚类算法综述[J]. 计算机应用研究, 2007(1).
[2] 蒋帅. K-均值聚类算法研究[D]. 陕西师范大学, 2010.
[3] 周涓, 熊忠阳, 张玉芳, 等. 基于最大最小距离法的多中心聚类算法[J]. 计算机应用, 2006, 26(6).
[4] A.K.Jain, MATLAB.C.Dubes. AlgoMatlabithms foMatlab ClusteMatlabing Data [J]. PMatlabentice-Hall Advanced MATLABefeMatlabence SeMatlabies, 1988(1).
领取专属 10元无门槛券
私享最新 技术干货