文档章节

Canopy Clustering(Canopy聚类)

片刻
 片刻
发布于 2014/06/22 23:14
字数 375
阅读 6K
收藏 2


Canopy Clustering

Canopy算法是基于Kmeans算法的一种优化的聚类方法。

优化体现在:

1.前期能通过一些低性能的算法,快速的获取聚类中心

2.分好的每个聚类内部在进行k-means计算(不同聚类之间不进行相似度计算)

实现原理:(借助网上的一张截图)

算法步骤:

  (1 ) 将数据集向量化,然后放到list集合中,同时设定两个距离阈(yu)值:T1和T2

  (2)循环从list中去取一个,作为一个聚类中心,放到centerlist中,并从list中移除该点

  (3)循环从centerlist中 比较 与周围的点于阈(yu)值之间的关系,小于最小T1阈值,说明两个值相似,放到一个聚类中,并从list中移除;如果大于最大阈值T2,那么就单独作为一个聚类中心,并从list中移除;否则在T1和T2之间就不分别加到各个聚类中心去,但依然保留在list中

  (4)迭代2~3步直至list中元素为null,算法结束。


伪代码:(借鉴于炼数成金)



Canopy算法的优缺点:

1.不需要事先指定k值(即clustering的个数)

2.精度较低,但其速度上有很大的优势

3.前期可以使用Canopy聚类先对数据进行“粗”聚类,得到k值后再使用K-means进行进一步的“细”聚类




© 著作权归作者所有

片刻
粉丝 107
博文 271
码字总数 308453
作品 0
海淀
高级程序员
私信 提问
Apache Mahout中的机器学习算法集

Apache Mahout中的机器学习算法集 Apache Mahout 是 ApacheSoftware Foundation (ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创...

yuzh
2012/12/27
420
0
实战Mahout聚类算法Canopy+K-means

Mahout是Apache的顶级开源项目,它由Lucene衍生而来,且基于Hadoop的,对处理大规模数据的机器学习的经典算法提供了高效的实现。其中,对经典的聚类算法即提供了单机实现,同时也提供了基于h...

Breath_L
2012/05/20
1.9W
1
【机器学习】--Kmeans从初识到应用

一.前述 Kmeans算法一般在数据分析前期使用,选取适当的k,将数据分类后,然后分类研究不同聚类下数据的特点。 Kmeans算法是一种无监督的算法。 二.概念及原理 Kmeans原理: 1 随机选取k个中...

LHWorldBlog
2018/01/27
0
0
探索推荐引擎内部的秘密,第 3 部分: 深入推荐引擎相关算法 - 聚类

聚类分析 什么是聚类分析? 聚类 (Clustering) 就是将数据对象分组成为多个类或者簇 (Cluster),它的目标是:在同一个簇中的对象之间具有较高的相似度,而不同簇中的对象差别较大。所以,在很...

Endeavour
2015/08/12
732
0
mahout基于用户推荐的简单例子(1)

mahout是机器学习的一个工具,里面封装了大量的机器学习的算法。 在Mahout实现的机器学习算法: 算法类 算法名 中文名 分类算法 Logistic Regression 逻辑回归 Bayesian 贝叶斯 SVM 支持向量...

刘新全
2016/01/04
902
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring AOP-06-切入点类型

切入点是匹配连接点的拦截规则。之前使用的是注解@Pointcut,该注解是AspectJ中的。除了这个注解之外,Spring也提供了其他一些切入点类型: • 静态方法切入点StaticMethodMatcherPointcut •...

moon888
昨天
90
0
Class Loaders in Java

1. Introduction to Class Loaders Class loaders are responsible for loading Java classes during runtime dynamically to the JVM (Java Virtual Machine). Also, they are part of the ......

Ciet
昨天
78
0
以Lazada为例,看电商系统架构演进

什么是Lazada? Lazada 2012年成立于新加坡,是东南亚第一电商,2016年阿里投资10亿美金,2017年完成对lazada的收购。 业务模式上Lazada更偏重自营,类似于亚马逊,自建仓储和为商家提供服务...

春哥大魔王的博客
昨天
60
0
【自用】 Flutter Timer 简单用法

dart: void _startTime() async { _timer = Timer(Duration(seconds: sec), () { fun(xxx,yyy,zzz); }); } @override void dispose() { _timer.cancel()......

Tensor丨思悟
昨天
65
0
计算机实现原理专题--自动化(六)

目前实现的加减法器可以扩充到更高位宽的数值范围,不仅可以实现连续n个数的相加减,还可以实现其中几个数的相加减,并保存相应的结果。但是还不能应对某些场景,例如需要复用中间的临时结果...

FAT_mt
昨天
58
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部