mapreduce中的canopy算法
来源:互联网 发布:淘宝网毛衣女装 编辑:程序博客网 时间:2024/06/01 08:04
Canopy聚类是一种简单、快速、但不太准确的聚类方法。
该算法需一种快速的近似距离度量方法和两个距离阈值T1>T2。
while(没有标记的数据点){
选择一个没有强标记的数据点p
把p看作一个新Canopy c的中心
离p距离<T1的所有点都认为在c中,给这些点做上弱标记
离p距离<T2的所有点都认为在c中,给这些点做上强标记
}
Canopy聚类常作为更强聚类方法的初始步骤。
mahout Canopy聚类实现 ,采用了两个map-reduce job
第一个Job org.apache.mahout.clustering.canopy.CanopyDriver:
mapper:org.apache.mahout.clustering.canopy.CanopyMapper
对划分到每个mapper的点根据阈值T1,T2标记Canopy,输出在该mapper上所有Canopy的中心;
mahout实现对原算法略做改动,而避免需先保存所有的点
修改后的算法org.apache.mahout.clustering.canopy.addPointToCanopies
对于一个数据点,遍历已有Canopy{
该点到某Canopy距离<T1,则加入该Canopy;
若点到某Canopy距离<T2,则标记该点已于该Canopy强关联;
}
若该点不存在强关联的Canopy,则为其创建一个新Canopy
reducer:org.apache.mahout.clustering.canopy.CanopyReducer
整个Job就一个reduce任务,对mapper输出的所有点再次使用Canopy聚类,并输出中心点
第二个Job org.apache.mahout.clustering.canopy.ClusterDriver
使用第一个Job输出的中心点,采用最近距离原则对原数据点进行聚类
用Canopy聚类作为其他方法的初始步骤时,通常不执行该Job
参数调整:
当T1过大时,会使许多点属于多个Canopy,可能会造成各个簇的中心点间距离较近,各簇
间区别不明显;
当T2过大时,增加强标记数据点的数量,会减少簇个个数;T2过小,会增加簇的个数,同时
该算法需一种快速的近似距离度量方法和两个距离阈值T1>T2。
while(没有标记的数据点){
选择一个没有强标记的数据点p
把p看作一个新Canopy c的中心
离p距离<T1的所有点都认为在c中,给这些点做上弱标记
离p距离<T2的所有点都认为在c中,给这些点做上强标记
}
Canopy聚类常作为更强聚类方法的初始步骤。
mahout Canopy聚类实现 ,采用了两个map-reduce job
第一个Job org.apache.mahout.clustering.canopy.CanopyDriver:
mapper:org.apache.mahout.clustering.canopy.CanopyMapper
对划分到每个mapper的点根据阈值T1,T2标记Canopy,输出在该mapper上所有Canopy的中心;
mahout实现对原算法略做改动,而避免需先保存所有的点
修改后的算法org.apache.mahout.clustering.canopy.addPointToCanopies
对于一个数据点,遍历已有Canopy{
该点到某Canopy距离<T1,则加入该Canopy;
若点到某Canopy距离<T2,则标记该点已于该Canopy强关联;
}
若该点不存在强关联的Canopy,则为其创建一个新Canopy
reducer:org.apache.mahout.clustering.canopy.CanopyReducer
整个Job就一个reduce任务,对mapper输出的所有点再次使用Canopy聚类,并输出中心点
第二个Job org.apache.mahout.clustering.canopy.ClusterDriver
使用第一个Job输出的中心点,采用最近距离原则对原数据点进行聚类
用Canopy聚类作为其他方法的初始步骤时,通常不执行该Job
参数调整:
当T1过大时,会使许多点属于多个Canopy,可能会造成各个簇的中心点间距离较近,各簇
间区别不明显;
当T2过大时,增加强标记数据点的数量,会减少簇个个数;T2过小,会增加簇的个数,同时
增加计算时间
- mapreduce中的canopy算法
- canopy算法
- Canopy算法
- Canopy聚类算法与Mahout中的实现
- mahout中的聚类算法(Canopy的主场)
- Canopy Clustering和Mahout中的Canopy Clustering
- Canopy算法原理
- Canopy算法原理
- Canopy Method算法
- 聚类算法-canopy
- Canopy聚类算法
- Canopy算法原理
- Spark canopy算法
- Spark canopy算法
- Canopy聚类算法
- Canopy聚类算法
- Canopy聚类算法
- python实现Canopy算法
- 排序问题的算法实现
- is this right? swindler
- 【编程珠玑】兄弟单词(侧边栏)
- Core Data-Structure Layer
- 笔试题_12_05_07
- mapreduce中的canopy算法
- 生产者/消费者模式
- 自己整理的ASP.NET基础 (不断的更新)
- iOS:决战三国的续命分析
- 如何恢复oracle误删除、更新、插入的数据
- sitefactory 4.5模板解析引擎——外部程序集使用
- IT人的级别
- go语言Exercise: Maps
- 如何选择防晒霜