推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

一种基于Python的K-means聚类算法分析

更新时间:2019-12-25 16:03:17 大小:2M 上传用户:songhuahua查看TA发布的资源 标签:python 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

聚类是数据挖掘核心技术之一,是一门新兴的学科。聚类技术要使一个类簇内的实体是相似的,不同类簇的实体是相异的。从聚类研究现状谈起,描述聚类概念和分类方法,介绍K-means算法的思想,并利用K-mean算法实现了iris数据集的分类,完成相关测试和实验验证。


部分文件列表

文件名 大小
一种基于Python的K-means聚类算法分析.pdf 2M

【关注B站账户领20积分】

部分页面预览

(完整内容请下载后查看)
数字技术  
与应用  
算法分析  
一种基于 Python 的 K-means 聚类算法分析  
陈伟 李红 王维  
(咸阳师范学院 计算机学院,陕西咸阳 712000)  
摘要:聚类是数据挖掘核心技术之一,是一门新兴的学科类技术要使一个类簇内的实体是相似的,不同类簇的实体是相异的从  
聚类研究现状谈起, 描述聚类概念和分类方法,介绍K-means算法的思想,并利用K-mean算法实现了iris数据集的分类,完成相关测试和实  
验 验 证 。  
关键词:聚类分析K-Means算法据挖掘  
中图分类号:TP301.6  
文献标识码:A  
文章编号:1007-9416(2017)10-0118-02  
聚类是数据挖掘技术中一个非常重要的分支,它是在没有任何  
先验知识的前提下,从海量数据中提取出有价值的知的数据实  
现满足要求的簇的集合。  
更高(更相似),簇间的相异性更高(差异更大)。  
划分法的代表算法有:K-Medoids算法CLARANSK-  
Means算法。  
2.2 层次法  
1 聚类分析研究现状  
对给定的数据,进行层次分解,直到某种条件满足次法构建  
聚类的方法有分为两种:  
聚类分析是一个将数据集划分成若干个子集的过程,并使同一  
集合内的数据对象具有较高的相似度,而不同集合中的数据对象不  
相似内外对聚类分析的研究已经有很多年,学者们研究的主要  
内容是基于距离的聚类分析,K-Medoids算法K-Means算法以及  
其他的聚类算法的挖掘工具在众多的统计软件或者系统中得到广  
泛的应用。  
(1)凝聚层次法(自底向上法):首先将类库中的每一个数据划分  
每一个单独的类,通过递归的方法,将相似的或者相近的类合并成  
为一个类,最后使得一个类中所包含的数据或者分类结果满足某种  
条件。  
(2)分裂层次法(自顶向上法):开始将所有的对象划分成为一个  
类,然后将总类划分成为若干个子类,接着在划分出子类的子类,一  
直迭代划分,直到获得满意的聚类结构。  
1967年,MacQueen首次提出K均值聚类算法(K-means算法)。  
迄今为止,很多聚类任务都选择该经典算法算法的核心思想是  
找出K个聚类中心 c ,…, ,使得每一个数据点 和与其最近的  
聚类中cv 的平方距离和被最小化。  
ck  
x
c1  
2
i
2.3 基于密度的方法  
基于密度的方法是假定每个簇中的数据对象点是按照一个特  
定的概率分布绘制的,数据的整体分布被假设成为几个分布的混合  
体,这种方法是识别出簇以及他们的分布函数于密度方法的思  
想:对于一个给定的簇,这个簇持续的增长,直至周围的密度(对象的  
数目或者说是数据点的数目)大于一个阀值时为止。  
2.4 基于模型的方法  
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算法中。  
基于模型的方法(model-basedmethods)给每一个聚类假定一  
个模型,然后试图去寻找能很好的满足这个模型的数据集方法  
识别对象的组别,可以很快地发现每个组的特征描述,每组代表一  
个概念或者是一个类常用的方法有决策树和神经网络法。  
2.5 基于网格的方法  
基于网格的方法(grid-basedmethods)是将所有的数据划分为  
若干个有限数据细胞单元格,从而形成一个可以进行聚类操作的网  
格结构,这样的分割,是所有的数据对象都可以在数据网络格上进  
行操作,和原始数据本身无关于网络的方法最主要的优点是其  
快速的处理速度。  
基于网格的方法的主要算法有:STING算法CLIQUE算法、  
WAVE-CLUSTER法。  
2 聚类分析算法  
2.1 划分法  
K - M E A N S 算法K - M e d o i d s 法是典型的划分法  
(partitioningmethods)法的处理思路基本是:给定一个类库D,  
D中含有N个数据对象,用户输入需要获得的类簇个数K,将类库D  
中N个数据对象划分成K个分组或者簇,然后通过迭代的方式更新  
簇的中心,当整体的差异收敛时结束处理过程使得簇内的相似度  
3 K-means算法  
K-means算法是根据聚类中的均值进行聚类划分的聚类算法。  
输入:聚类个数 ,以及包含 个数据对象的数据;  
n
k
k
输出:满足方差最小标准的 个聚类;  
处理流程:  
收稿日期:2017-10-24  
作者简介:陈伟(1976 —),男,汉族,陕西西安人,讲师,硕士,主要研究方向:机器学习与网络集成。  
118  
数字技术  
与应用  
算法分析  
图1 K-Means法结果  
Step1:从 个数据对象任意选择 个对象作为初始聚类中心;  
图2 K-Means法结果  
5 算法实现与分析  
n
k
Step2:循环Step 3到Step 4直到每个聚类不再发生变化为止;  
Step3:根据每个聚类对象的均值(中心对象),计算每个对象与  
这些中心对象的距离,并根据最小距离重新对相应对象进行划分;  
Step4:重新计算每个(有变化)聚类的均值(中心对象)k-means  
Iris数据集是以鸢尾花的花瓣长度瓣宽度萼长度萼  
宽度作为数据源,数据集中包含了150个数据对象,由3种不同类型  
的鸢尾花的50个样本数据构成。  
根据上述K-Means算法在IRIS数据集中的应用,可得到两  
个结论:  
算法的工作过程说明如下:首先从 个数据对象任意选择 个对象  
n
k
作为初始聚类中心,而对于所剩下的其它对象,则根据它们与这些  
聚类中心的相似度(距离),分别将它们分配给与其最相似的(聚类中  
心所代表的)聚类;然后,再计算每个所获新聚类的聚类中心(该聚类  
中所有对象的均值),不断重复这一过程直到标准测度函数开始收敛  
为止般都采用均方差作为标准测度函数,具体定义如下:  
(1)初始均值设置的不同会影响迭代的次数以及各次迭代所产  
生的聚类中心,但它不会影响最后的分类结果。  
(2)数据的输入顺序不同,同样影响迭代次数,而对聚类结果没  
有太大的影响。  
(3)采用二分K-Means算法,避免了局部最优的结果的出现。  
通过改进K-means算法实现中离群点的设置K值等可以提高  
K-means算法的执行效果。  
(公式1.1)  
( :数据库中所有对象的均方差和; :对象的空间中的一个  
E
P
参考文献  
p
;m :聚类 的均值( 和 均是多维的))  
Ci  
m
i
i
[1]孟海东,宋飞燕,宋宇辰.面向复杂簇的聚类算法研究与实现[J].计  
算机应用与软件,2008,10:162-165.  
4 改进K-means算法  
二分K-均值算法的伪代码形式如下:  
将所有的点看成一个簇。  
[2]张琳,陈燕,汲业,张金松.一种基于密度的k-means算法研究[J].  
计算机应用与软件,2011,28(11):4073-4085.  
[3]李曼,赵松林.K — means 聚类算法分析应用研究[J].魅力中国,  
2011,(7):243-243.  
当簇数目小于K时。  
对于每一个簇:  
计算总误差。  
[4]李卫平.对k-means聚类算法的改进研究[J].中国西部科技,2010,  
(24):49-50.  
在给定的簇上面进行K-均值聚类(k=3)。  
计算将该簇一分为二的总误差。  
选择使得误差最小的那个簇进行划分操作。  
[5]王娟.一种高效的 K-means 聚类算法[J].科技信息,2012,(25):  
168-168.  
Analysis of K-means Clustering Algorithm Based on Python  
Chen Wei,Li Hong,Wang Wei  
(xianyang normal university,College of Computer Science,Xianyang Shaanxi 712000)  
Abstract:Clustering is one of the core technology of data mining, is an emerging discipline. Clustering technology to make a class within the cluster  
entities are similar and different kind of entity is distinct clusters from the cluster using the same typeThe paper analyzes the research progress of  
clustering technology ,described the idea of K-means algorithm, and using K-mean algorithm classified iris data set, complete testing and experiments.  
Key Words:Cluster analysisK-Means algorithmData mining  
119  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单
  • 21ic下载 打赏310.00元   2天前

    用户:w178191520

  • 21ic下载 打赏310.00元   2天前

    用户:小猫做电路

  • 21ic下载 打赏310.00元   2天前

    用户:zhengdai

  • 21ic下载 打赏220.00元   2天前

    用户:gsy幸运

  • 21ic下载 打赏220.00元   2天前

    用户:jh0355

  • 21ic下载 打赏210.00元   2天前

    用户:jh03551

  • 21ic下载 打赏60.00元   2天前

    用户:sun2152

  • 21ic下载 打赏60.00元   2天前

    用户:xuzhen1

  • 21ic下载 打赏80.00元   2天前

    用户:xzxbybd

  • 21ic下载 打赏60.00元   2天前

    用户:铁蛋锅

  • 21ic下载 打赏60.00元   2天前

    用户:liqiang9090

  • 21ic下载 打赏20.00元   2天前

    用户:方中禾

  • 21ic下载 打赏20.00元   2天前

    用户:w1966891335

  • 21ic下载 打赏30.00元   2天前

    用户:玉落彼岸

  • 21ic下载 打赏15.00元   2天前

    用户:kk1957135547

  • 21ic下载 打赏15.00元   2天前

    用户:w993263495

  • 21ic下载 打赏15.00元   2天前

    用户:x15580286248

  • 21ic下载 打赏20.00元   2天前

    用户:WK520077778

  • 21ic下载 打赏25.00元   2天前

    用户:hp860629

  • 21ic下载 打赏15.00元   2天前

    用户:sbfd010

  • 21ic下载 打赏10.00元   2天前

    用户:严光辉

推荐下载