一种基于PythonK―means聚类算法分析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种基于PythonK―means聚类算法分析

一种基于Python的K―means聚类算法分析   摘要:聚类是数据挖掘核心技术之一,是一门新兴的学科。聚类技术要使一个类簇内的实体是相似的,不同类簇的实体是相异的。从聚类研究现状谈起, 描述聚类概念和分类方法,介绍K-means算法的思想,并利用K-mean算法实现了iris数据集的分类,完成相关测试和实验验证。   关键词:聚类分析;K-Means算法;数据挖掘   中图分类号:TP301.6 文献标识码:A 文章编号:1007-9416(2017)10-0118-02   聚类是数据挖掘技术中一个非常重要的分支,它是在没有任何先验知识的前提下,从海量数据中提取出有价值的、未知的数据。实现满足要求的簇的集合。   1 聚类分析研究现状   聚类分析是一个将数据集划分成若干个子集的过程,并使同一集合内的数据对象具有较高的相似度,而不同集合中的数据对象不相似。国内外对聚类分析的研究已经有很多年,学者们研究的主要内容是基于距离的聚类分析,K-Medoids算法、K-Means算法以及其他的聚类算法的挖掘工具在众多的统计软件或者系统中得到广泛的应用。   1967年,MacQueen首次提出K均值聚类算法(K-means算法)。迄今为止,很多聚类任务都选择该经典算法。该算法的核心思想是找出K个聚类中心、,…,,使得每一个数据点和与其最近的聚类中心的平方距离和被最小化。   1998年,Huang为克服K-Means算法仅适合于数值属性数据聚类的局限性,提出了一种适合分类属性数据聚类的K-Modes算法,该算法对K-Means算法进行了3点扩展:引入了处理分类对象的新的相异性度量方法,使用modes代替means,并在聚类过程中使用基于频度的方法修正modes,以使聚类代价函数值最小。   2002年,Sun等人将Bradley等人的迭代初始点集求精算法应用于K-Modes算法。尽管Huang的K-Modes算法能够聚类分类数据,但它需要预先决定或随机选择类的初始modes,并且初始modes的差异常常会导致截然不同的聚类结果。文中,Sun等人给出了一个关于应用Bradley等人的迭代初始点求精算法于K-Modes聚类的实验研究。   2010年,李卫平[7]提出对K-Means算法进行改进。他针对K-Means算法对初值的依赖性,基于最小生成树原理选择聚类中心进行聚类。根据寻找最优初值的思想提出了一种改进K-Means算法,并将卡斯克鲁尔算法以及?心算法的思想引入到K-Means算法中。   2 聚类分析算法   2.1 划分法   K-MEANS算法、K-Medoids算法是典型的划分法(partitioning methods)。算法的处理思路基本是:给定一个类库D,D中含有N个数据对象,用户输入需要获得的类簇个数K,将类库D中N个数据对象划分成K个分组或者簇,然后通过迭代的方式更新簇的中心,当整体的差异收敛时结束处理过程。使得簇内的相似度更高(更相似),簇间的相异性更高(差异更大)。   划分法的代表算法有:K-Medoids算法、CLARANS算法、K-Means算法。   2.2 层次法   对给定的数据,进行层次分解,直到某种条件满足。层次法构建聚类的方法有分为两种:   (1)凝聚层次法(自底向上法):首先将类库中的每一个数据划分每一个单独的类,通过递归的方法,将相似的或者相近的类合并成为一个类,最后使得一个类中所包含的数据或者分类结果满足某种条件。   (2)分裂层次法(自顶向上法):开始将所有的对象划分成为一个类,然后将总类划分成为若干个子类,接着在划分出子类的子类,一直迭代划分,直到获得满意的聚类结构。   2.3 基于密度的方法   基于密度的方法是假定每个簇中的数据对象点是按照一个特定的概率分布绘制的,数据的整体分布被假设成为几个分布的混合体,这种方法是识别出簇以及他们的分布函数。基于密度方法的思想:对于一个给定的簇,这个簇持续的增长,直至周围的密度(对象的数目或者说是数据点的数目)大于一个阀值时为止。   2.4 基于模型的方法   基于模型的方法(model-basedmethods)给每一个聚类假定一个模型,然后试图去寻找能很好的满足这个模型的数据集。该方法识别对象的组别,可以很快地发现每个组的特征描述,每组代表一个概念或者是一个类。最常用的方法有决策树和神经网络法。   2.5 基于网格的方法   基于网格的方法(grid-basedmethods)是将所有的数据划分为若干个有限数据细胞单元格,从而形成一个可以进行聚类操作的网格结构,这样的分割,是所有的数据对象都可以在数据网络格上进行操作,和原始数据本身无关。基于网络的方法最主要的优点是其快速的处

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档