数据挖掘中基于密度的K中心点划分聚类方法.pdf

上传人:a2 文档编号:177000 上传时间:2018-01-31 格式:PDF 页数:10 大小:650.11KB
返回 下载 相关 举报
摘要
申请专利号:

CN201510208624.7

申请日:

2015.04.28

公开号:

CN104765879A

公开日:

2015.07.08

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 17/30申请日:20150428|||公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

无锡中科泛在信息技术研发中心有限公司

发明人:

袁启龙; 史海波; 周晓锋

地址:

214135江苏省无锡市新区菱湖大道200号中国传感网国际创新园C座

优先权:

专利代理机构:

无锡市大为专利商标事务所(普通合伙)32104

代理人:

殷红梅; 张涛

PDF下载: PDF下载
内容摘要

本发明涉及一种数据挖掘中基于密度的K中心点划分聚类方法,其包括如下步骤:步骤1、给定所需的数据集,并确定聚类个数K;步骤2、计算数据对象的密度及平均密度;步骤3、计算数据集内每个数据对象的最小密度距离值;步骤4、对数据集内数据对象的最小密度距离值进行降序排序,根据确定的聚类个数K,从大到小选择K个与最小密度距离值对应并且密度大于平均密度的数据对象作为聚类中心;步骤5、将数据集内的数据对象分配到与所述数据对象距离最近的初始聚类中心,得到聚类结果。本发明能够选出高质量的中心点,而不需要像K均值算法中的后续迭代更新步骤,其降低计算复杂度,提高分类的准确率,稳定性高,提高运算效率。

权利要求书

1.  一种数据挖掘中基于密度的K中心点划分聚类方法,其特征是,所述聚类方法包括如下步骤:
步骤1、给定所需的数据集,并确定聚类个数K;
步骤2、计算数据集内所有数据对象的密度,并根据得到数据对象的密度计算数据集的平均密度;
步骤3、计算数据集内每个数据对象的最小密度距离值;
步骤4、对数据集内数据对象的最小密度距离值进行降序排序,根据确定的聚类个数K,从大到小选择K个与最小密度距离值对应并且密度大于平均密度的数据对象作为聚类中心;
步骤5、根据上述获得的聚类中心,将数据集内的数据对象分配到与所述数据对象距离最近的初始聚类中心,得到聚类结果。

2.
  根据权利要求1所述的数据挖掘中基于密度的K中心点划分聚类方法,其特征是:对于数据集X={xi|i=1,2,…,n},数据对象具有m维特征,则数据对象的密度为
density(xi)=Σj=1ne-(d(xi,xj))22R2]]>
其中,d(xi,xj)为数据对象xi与数据对象xj之间的欧式距离,i=1,2,…,n;j=1,2,…,n;R为数据对象xi的邻域半径。

说明书

数据挖掘中基于密度的K中心点划分聚类方法
技术领域
本发明涉及一种聚类方法,尤其是一种数据挖掘中基于密度的K中心点划分聚类方法,属于聚类分析的技术领域
背景技术
数据挖掘是当今计算机研究的热题之一,聚类分析作为一种无监督的机器学习方法,是指对于一个数据对象集合,研究如何自动把数据对象划分到不同的簇中,让相同簇内的对象在某种衡量标准下具有较高的相似性,而不同簇中的数据对象具有低的相似性。聚类分析被广泛的应用在机器学习、数据挖掘、语音识别、图像分割、商业分析和生物信息处理等前沿领域。目前,传统的聚类算法主要包括五类,他们分别是:基于划分的聚类算法、基于层次的聚类算法、基于密度的聚类算法、基于网格的聚类算法和基于模型的聚类算法。
在聚类算法当中,K均值算法属于基于划分的聚类算法,它简洁而快速,以高效而著称。但原始的K均值算法存在一些缺陷:1)、原始算法要求使用者给出K值,即类簇的个数,这个值主要由经验得来,所以确定K值的难度较大;2)、算法对初始聚类中心敏感,初始中心选择的优劣,会影响聚类结果,影响算法运行的效率;3)、该算法对异常数据较为敏感,会导致结果陷入局部最优解。
目前,一些学者已对初始中心点问题做出了些改进,如为防止结果陷入局部最优,通常是选择距离较远的比较分散的点作为初始中心点。但若仅仅考虑距离因素,则容易选到异常点,进而影响到聚类效果。学者也都考虑到这些问题,进而从密度的角度出发,来过滤掉异常点。还有一个问题是初始中心点有可能会被选成同一个类簇中的点,即尽管某个点的密度比较大,但是该点对应的类簇中已经有点被选做中心点了,此时应该选择其它类中的有代表性的点,否则,也会导致结果容易陷入局部最优解。
发明内容
本发明的目的是克服现有技术中存在的不足,提供一种数据挖掘中基于密度的K中心点划分聚类方法,其能够选出高质量的中心点,然后将数据对象聚类,而不需要像K均值算法中的后续迭代更新步骤,其降低计算复杂度,提高分类的准确率,稳定性高,提高运算效率。
按照本发明提供的技术方案,一种数据挖掘中基于密度的K中心点划分聚类方法,所述聚类方法包括如下步骤:
步骤1、给定所需的数据集,并确定聚类个数K;
步骤2、计算数据集内所有数据对象的密度,并根据得到数据对象的密度计算数据集的平均密度;
步骤3、计算数据集内每个数据对象的最小密度距离值;
步骤4、对数据集内数据对象的最小密度距离值进行降序排序,根据确定的聚类个数K,从大到小选择K个与最小密度距离值对应并且密度大于平均密度的数据对象作为聚类中心;
步骤5、根据上述获得的聚类中心,将数据集内的数据对象分配到与所述数据对象距离最近的初始聚类中心,得到聚类结果。
对于数据集X={xi|i=1,2,…,n},数据对象具有m维特征,则数据对象的密度为
density(xi)=Σj=1ne-(d(xi,xj))22R2]]>
其中,d(xi,xj)为数据对象xi与数据对象xj之间的欧式距离,i=1,2,…,n;j=1,2,…,n;R为数据对象xi的邻域半径。
本发明的优点:从类的内部特性出发考虑,将类内部普通点与密度最大点区分开来,因为同一个类中的点密度具有一定的相关性,这种相关性可以从点到高于其密度的点的最小距离值反应出来,普通点的这个距离值对应的点一定是和自己同一个簇中的点,距离值较小;而类的中心点也就是类中密度最大的点的这个距离值,对应着的会是其它类中的高密度点,距离值较大,即能把普通点和中心点给区分开。另外,异常点的这个距离值也较大,通过平均密度过滤掉就可以了。如此,便可筛选出高质量的聚类中心点,最后将数据对象分配到与之最近的中心点,如此便得到聚类结果,而不需要像K均值算法中的后续迭代更新步骤,在不影响聚类结果的前提下达到节省运算时间的目的。仿真结果表明,该方法比现有的K均值方法,本发明具有中心点准确性高,运算效率快,聚类结果稳定,并且不需要多次迭代。
附图说明
图1为利用随机选取方式选定聚类中心点的示意图。
图2为本发明获取初始聚类中心点的示意图。
图3为含有240个数据对象的分布情况。
图4为本发明获取的中心点和再经K均值迭代后最终的中心点对比图。
图5为本发明的流程图。
具体实施方式
下面结合具体附图和实施例对本发明作进一步说明。
如图5所示:为了提高分类的准确率,稳定性高,提高快速收敛,本发明聚类方法包括如下步骤:
步骤1、给定所需的数据集,并确定聚类个数K;
本发明实施例中,对于数据集X={xi|i=1,2,…,n},数据对象具有m维特征,Cj(j=1,2,…,K)表示聚类的K个类别,cj(j=1,2,…,K)表示初始聚类中心。
步骤2、计算数据集内所有数据对象的密度,并根据得到数据对象的密度计算数据集的平均密度;
本发明实施例中,数据集内数据对象的密度为
density(xi)=Σj=1ne-(d(xi,xj))22R2]]>
其中,d(xi,xj)为数据对象xi与数据对象xj之间的欧式距离,i=1,2,…,n;j=1,2,…,n;R为数据对象xi的邻域半径。数据对象的邻域半径为:计算所有数据对象间的距离,对距离进行升序排序,取半径值R为位于位置的值,其中,num为距离个数,对于给定的数据集,距离个数num为数据对象间的距离个数,根据数据集内数据对象能唯一确定;percent为覆盖度百分比,在具体实施时,percent设为1%-2%时效果较好。对于任一数据对象xi,以数据对象xi为中心,R为半径的圆形区域,称为数据对象xi的邻域,即neighbourhood={x|0<d(x,xi)<R}。数据集的平均密度可以根据所有数据对象的密度通过算术平均方法计算得到,具体计算过程为本技术领域人员所熟知,此处不再赘述。
步骤3、计算数据集内每个数据对象的最小密度距离值;
本发明实施例中,对于数据对象xi,计算数据对象xi到比它密度大的数据对象的距离,则最小密度距离值为数据对象xi到比它密度大数据对象的距离中的最小值;当所述数据对象xi为密度最大的数据对象时,则最小密度距离值为数据对象xi与数据集内数据对象间的最远距离。
步骤4、对数据集内数据对象的最小密度距离值进行降序排序,根据确定的聚类个数K,从大到小选择K个与最小密度距离值对应并且密度大于平均密度的数据对象作为聚类中心;
本发明实施例中,对数据集内数据对象的最小密度距离值进行降序排序,然后选取与前K个最小密度距离值对应且密度大于平均密度的数据对象作为聚类中心,即能得到cj(j=1,2,…,K)。
步骤5、根据上述获得的聚类中心,将数据集内的数据对象分配到与所述数据对象距离最近的初始聚类中心,输出聚类结果。
为了验证本发明聚类方法的有效性,在相同的实验环境下分别运行本文算法和传统的随机获取中心点的方法,对比它们的运行效果。实验环境为:操作系统Mac OS X 10.10.1,编译软件Matlab2014a,eclipse,硬件Intel Core i7 2.4GHz,内存8GB。
首先,测试算法选取代表性中心点的效果。
数据集采用自定义数据集合,它有6个类别,所述数据集是用来测试中心点选取算法在不规则数据集上为每个类选取代表点的有效性,以及对普通高密度点和有代表性中心点的区分性。数据分布如图1与图2所示。图1是随机选取的方法获取的中心点,图2是本发明聚类方法获取的中心点。星号为算法选取的中心点,圆圈为普通点。
从图1中可以看出,现有的随机选择方法获取的中心点具有不稳定性,代表性不是很强,没有将普通高密度点和有效的中心点区分开来,有的点位于同一个簇中。在图2中,获取的中心点分别分布于各个类中,为每个类别选取了具有代表性的中心点,很好的区分出了有效中心点和普通高密度点,避免了中心点被选在同一个类簇中的现象。并且,选取中心点时还通过平均密度过滤掉了异常点,为算法的后续步骤做好了铺垫。
然后,测试算法选取中心点的准确性。
测试数据集采用UCI数据库中的Iris(3类,4个属性,150个对象),经查阅,Iris数据集的实际中心,分别为(5.003.421.460.24),(6.582.975.552.02),(5.932.774.261.32)。本文算法参数percent,选取percent=2%时,聚类效果较好。本发明的聚类方法与现有随机选取方法所得的实验结果,与Iris实际数据中心进行对比,结果见表1。
表1与原始Iris数据集中心的比较

从表1可以看出,本发明聚类方法获得的中心点与原始Iris数据集中心标准误差较小,更加接近实际中心,准确性高且稳定,更具有代表性,说明该算法对原始Iris数据集有效。
采用KDD Cup’99提供的经典数据集,用于将本发明算法和原始K均值算法对比,测试发明聚类结果的正确性。
表2.给出本发明算法和原始K均值算法对数据集的聚类结果。测试结果表明,两种方法错误率基本相当,从而验证了本发明基于密度的K中心点划分聚类方法的正确性。
表2本发明算法与原始K均值算法运算正确性对比

再测试算法运行时间。
K均值算法适合于凸形结构的数据集,以下实验数据为分别以(1.01.0),(3.33.3),(-3.253.25),(-3.25-2.25),(3.25-2.25)为均值向量,然后分别以[0.90;00.3],[0.70;00.5],[1.50;00.9],[0.30;01.3],[1.10;00.7]为协方差矩阵,分别生成的共有240个,1100个,4500个和11000个点的满足正态分布的二维数据集。生成240个点时的数据集合分布如图3所示。
本发明获取的中心点代表性强,质量高,不必像K均值算法那样更新中心点而进行多次迭代,节省了运算时间,在每个数据集上运行20次,测试算法在不同数据量时的平均运行时间,如表3所示。
表3两种方法在不同数据量时的运行时间对比

随着数据对象的增多,两种方法的运行时间都在增加。但本发明的聚类方法所用时间最少。本发明的聚类方法相比传统随机选取中心点的方法在计算最小距离密度(MDD)选取中心点的时候花了时间,但算法实际运行时间却少于传统K均值算法,分析原因是由于选取的初始聚类中心点的代表性强、质量高,将数据集直接划分聚类,节省了后续的多次迭代更新运算的时间,所以本发明具有较高的运算效率,能够快速得到聚类结果。
最后,将上一个实验1100个点的数据集作为实验数据集。本发明获取的中心点作为K均值算法的初始中心点进行聚类运算,其最终聚类结束后的中心点与本发明获取的中心点进行对比,如图4所示。其中,星号为本发明获取的中心点,三角号为经K均值算法聚类结束后的中心点。
由图4可以看出,经K均值算法迭代运算后中心点与本发明选择的中心点非常接近,更直观的反映出本发明获取的中心点代表性较强,可以作为中心直接进行划分聚类。
K均值算法的初始聚类中心的选取对于聚类的效果影响较大,选的不好会使得聚类结果不稳定,容易陷入局部最优解。本发明在计算数据对象密度的基础上,进一步计算最小密度距离,以此过滤了密度虽高,但代表性不强的点,通过平均密度过滤掉异常点,为数据集选出具有代表性的聚类中心点,并根据这些中心点直接将数据集合进行分类,而没有进行迭代运算。从实验结果可以看出,本发明的聚类方法在保证聚类结果正确性的前提下,省去了迭代步骤,提高了运行效率,本发明聚类结果稳定、准确,摒弃了K均值算法对初始中心点和异常值敏感的缺点,验证了算法的有效性。
本发明从类的内部特性出发考虑,将类内部普通点与密度最大点区分开来,因为同一个类中的点密度具有一定的相关性,这种相关性可以从点到高于其密度的点的最小距离值反应出来,普通点的这个距离值对应的点一定是和自己同一个簇中的点,距离值较小;而类的中心点也就是类中密度最大的点的这个距 离值,对应着的会是其它类中的高密度点,距离值较大,即能把普通点和中心点给区分开。另外,异常点的这个距离值也较大,通过平均密度过滤掉就可以了。如此,便可筛选出高质量的聚类中心点,最后根据这些中心点进行数据划分聚类。仿真结果表明相比传统K均值方法,本发明具有运行效率高,准确率高并且聚类结果稳定的特点。

数据挖掘中基于密度的K中心点划分聚类方法.pdf_第1页
第1页 / 共10页
数据挖掘中基于密度的K中心点划分聚类方法.pdf_第2页
第2页 / 共10页
数据挖掘中基于密度的K中心点划分聚类方法.pdf_第3页
第3页 / 共10页
点击查看更多>>
资源描述

《数据挖掘中基于密度的K中心点划分聚类方法.pdf》由会员分享,可在线阅读,更多相关《数据挖掘中基于密度的K中心点划分聚类方法.pdf(10页珍藏版)》请在专利查询网上搜索。

本发明涉及一种数据挖掘中基于密度的K中心点划分聚类方法,其包括如下步骤:步骤1、给定所需的数据集,并确定聚类个数K;步骤2、计算数据对象的密度及平均密度;步骤3、计算数据集内每个数据对象的最小密度距离值;步骤4、对数据集内数据对象的最小密度距离值进行降序排序,根据确定的聚类个数K,从大到小选择K个与最小密度距离值对应并且密度大于平均密度的数据对象作为聚类中心;步骤5、将数据集内的数据对象分配到与所。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1