码迷,mamicode.com
首页 > 数据库 > 详细

初识聚类算法:K均值、凝聚层次聚类和DBSCAN

时间:2014-08-08 17:40:26      阅读:425      评论:0      收藏:0      [点我收藏+]

标签:blog   http   os   strong   数据   art   ar   代码   

原文地址http://blog.sina.com.cn/s/blog_62186b460101ard2.html

这里只是将比较重要的部分转一下

另外还有一篇关于层次聚类的 http://blog.csdn.net/jwh_bupt/article/details/7685809

聚类分析就仅根据在数据中发现的描述对象及其关系的信息,将数据对象分组(簇)。其目标是,组内的对象相互之间是相似的,而不同组中的对象是不同的。组内相似性越大,组间差别越大,聚类就越好。

先介绍下聚类的不同类型,通常有以下几种:

(1)层次的与划分的:如果允许簇具有子簇,则我们得到一个层次聚类。层次聚类是嵌套簇的集族,组织成一棵树。划分聚类简单地将数据对象划分成不重叠的子集(),使得每个数据对象恰在一个子集中。

(2)互斥的、重叠的与模糊的:互斥的指每个对象都指派到单个簇。重叠的或是模糊聚类用来反映一个对象同时属于多个组的事实。在模糊聚类中,每个数据对象以一个01之间的隶属权值属于每个簇。每个对象与各个簇的隶属权值之和往往是1。

(3)完全的与部分的:完全聚类将每个对象指派到一个簇中。部分聚类中,某些对象可能不属于任何组,比如一些噪音对象。

...

基本K均值

根据该算法,实现如下代码:

    https://github.com/intergret/snippet/blob/master/Kmeans.py

    或是 http://www.oschina.net/code/snippet_176897_14731

凝聚层次聚类

根据该算法,实现如下代码。开始时计算每个点对的距离,并按距离降序依次合并。另外为了防止过度合并,定义的退出条件是90%的簇被合并,即当前簇数是初始簇数的10%:

    https://github.com/intergret/snippet/blob/master/HAC.py

    或是 http://www.oschina.net/code/snippet_176897_14732

 DBSCAN

根据该算法,实现如下代码:

    https://github.com/intergret/snippet/blob/master/Dbscan.py

    或是 http://www.oschina.net/code/snippet_176897_14734    

 

初识聚类算法:K均值、凝聚层次聚类和DBSCAN,布布扣,bubuko.com

初识聚类算法:K均值、凝聚层次聚类和DBSCAN

标签:blog   http   os   strong   数据   art   ar   代码   

原文地址:http://www.cnblogs.com/guolei/p/3899509.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!