`
gushuizerotoone
  • 浏览: 173872 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

我写的Ap聚类备忘

阅读更多
1. StartDriver.java是程序入口,只需运行这个程序即可
ApClusterParameters.java是程序的一些参数设置。必须由你自己重新设定的是“pointsTotalNum”=总共多少个点,“inputSARFilePath”=包含similarity/availability/responsibility的输入文件。 可以自由设定(不一定重新设定)的参数是“expectedInputFileNum”= inputSequenceFiles的个数(程序把pointIndexes 均匀地写入这些文件中,格式为<pointIndex,"">...expectedInputFileNum实际上等于map.task.num,所以你想要多少个maptasks的话就设这个数expectedInputFileNum为多少), “iterateNum”=迭代计算responsibility&availability的次数,"lam"=收敛系数,不知道怎么设定,按论文的先设定为0.5

其他参数不用管

2.注意我原来的输入文件(inputSARFile即Data_25,可参照package的底下Data_25这个文件)的格式(保留原来hyp的格式): rowIndex/columnIndex:similarity/availability/responsibility ...如果你要用自己的输入格式,ok,只需模仿着去改ApUtil.java中的putSARIntoHBaseTable函数,把similarity和availability(初始为0)和responsibility(初始为0)的值放进hbase即可。一定注意存在hbase中一行(一个row_key)的responsibility是实际中的responsiblity这个矩阵的一列(即按列存到hbase里面)为什么要按列存,因为计算一列avail的时候是要取一列respo的。

3.所有mapreduce的任务的输入文件路径都是ApClusterParameters.inputSequenceFilePath.文件中只存point index<new IntWritable(pointIndex), new Text("")>,真正计算是到hbase里拿值,计算,存值到hbase

4.CalResponsibility(Driver/Mapper):计算responsibility(参照论文的公式1),一个map函数计算一行(第ith行)responsiblity(需要取出第ith行 similairty 和第ith行availability).注意比论文的公式中多了一个lam 收敛系数,见论文本的第9页matlab代码

5.CalAvailability(Driver/Mapper):计算availability(参照论文公式2(i==k),公式3(i!=k)).一个map函数计算一列(第kth列)availability(需要取出第kth列的respo(所以一开始时resposibility按列存,可以一次性取出一列)).注意也比论文的公式中多了一个lam[/color] 收敛系数

所以注意CalResponsibility时map函数是按行计算的。CalAvailability时map是按列计算的

6. FindClusters(Driver/Mapper/Reducer)是找出中心,矩阵a+r中对角元素大于0的可以作为中心center.

7.AssignPointsToCluster(Driver/Mapper/Reducer)是把各个点赋到各个中心上去。对于点i,寻找a+r这一行中使a(i,center)+r(i,center)最大值的那个center作为i的中心。

8.cluster result输出格式为sequenceFile,只是打印出来,如要把结果输出到文本格式中,请自行处理一下。
分享到:
评论

相关推荐

    AP聚类算法和案例.rar_AP 聚类_AP聚类数据_AP聚类算法_三维分类_三维聚类

    AP聚类,全称为Affinity Propagation(亲和传播)算法,是一种无中心的非层次聚类方法。它由Scott D. Reid和Michael I. Jordan于2007年提出,与K-means等传统聚类算法不同,AP算法不需要预先设定聚类的数量,而是...

    AP聚类_AP聚类有监督_ap聚类_

    **AP聚类(Affinity Propagation)**是一种无监督学习的聚类算法,由David M. Blei、Michael I. Jordan、Yuan Liu和Andrew Y. Ng在2007年提出。它与传统的K-means等聚类方法不同,AP聚类不需要预先指定聚类的数量,...

    apcluster.zip_AP算法_AP聚类python_AP聚类算法python实现_ap聚类_ap聚类 python

    AP聚类,全称为Affinity Propagation(亲和传播)算法,是一种无中心的非层次聚类方法。它由Scott E. Dreyfus和Martin E. Felzenszwalb等人于2007年提出,不同于传统的K-means、DBSCAN等聚类算法,AP算法不需要预先...

    matlab AP聚类算法.zip

    AP(Affinity Propagation)聚类算法是其中的一种,由Scott D.浚和Michael I. Jordan在2007年提出。MATLAB作为一个强大的数学计算环境,提供了实现各种算法的工具箱,包括AP聚类算法。 1. **AP聚类算法介绍** - AP...

    AP聚类算法的源代码

    AP聚类算法,全称Affinity Propagation (亲和传播)算法,是一种无中心的非划分聚类方法,由Scott E. Dreyfus、Brendan J. Frey和Delbert Dueck在2007年提出。与K-means等传统聚类算法不同,AP算法不需要预先设定聚类...

    AP聚类算法代码

    AP聚类算法,也称为Affinity Propagation(亲和传播)算法,是一种非监督学习方法,用于数据聚类。在机器学习和数据挖掘领域,它提供了一种寻找数据中的模式和结构的方式,尤其是当簇的大小和形状未知时。与K-means...

    基于MapReduce的分布式AP聚类算法.pdf

    AP聚类算法是一种基于网络中数据点之间相似度传播的聚类算法。该算法通过消息传递机制发现数据集中的聚类中心,即通过数据点间的迭代信息交换来更新吸引度矩阵和归属度矩阵,从而达到数据点自动聚集的效果。其算法...

    ap聚类算法 c#实现

    AP聚类算法,即Affinity Propagation(亲和传播)算法,是一种无中心、无参数的非层次聚类方法,由M. E. J. Newman和M. Girvan在2004年提出。该算法不同于传统的K-means或者层次聚类,它不需要预先设定聚类的数量,...

    AP_ap聚类_聚类个数_

    对数值进行分析,AP聚类算法是基于数据点间的&quot;信息传递&quot;的一种聚类算法。与k-均值算法或k中心点算法不同,AP算法不需要在运行算法之前确定聚类的个数。AP算法寻找的&quot;examplars&quot;即聚类中心点是...

    AP.rar_ap聚类_聚类_聚类算法

    **AP聚类算法详解** AP(Affinity Propagation)聚类算法是一种无中心、无参数的新型聚类方法,由M. E. J. Newman和M. Girvan于2004年提出。与传统的K-means或层次聚类等算法不同,AP算法不依赖于预先设定的簇数量...

    AP_;matlab代码_seriouswh2_AP聚类算法_聚类算法MATLAB_

    AP聚类算法,全称为Affinity Propagation,是一种基于样例间相似度的无中心、非参数的聚类方法。MATLAB作为一种强大的数值计算和数据分析工具,被广泛用于实现各种机器学习和数据挖掘算法,包括AP聚类。在这个项目中...

    毕业设计:基于C++的AP聚类算法设计与实现.zip

    毕业设计:基于C++的AP聚类算法设计与实现 毕业设计:基于C++的AP聚类算法设计与实现 毕业设计:基于C++的AP聚类算法设计与实现 毕业设计:基于C++的AP聚类算法设计与实现 毕业设计:基于C++的AP聚类算法设计与实现 ...

    AP(Affinity Propagation)聚类聚类算法介绍(发表在Science杂志上)

    AP 聚类算法介绍 AP 聚类算法是 Science 杂志上的一篇论文中的核心内容,该算法是基于 Affinity Propagation 算法的聚类算法。 Affinity Propagation 是一种基于消息传递的聚类算法,它能够自动地确定簇的数量和簇...

    AP方法聚类及改进

    AP方法,全称为Affinity Propagation(亲和传播),是一种非中心化的聚类算法,它与传统的K-means等算法不同,不需要预先指定聚类的数量。AP算法在处理大规模数据集时表现出色,尤其适用于发现数据中的自然层级结构...

    AP聚类算法代码.txt

    AP聚类算法各类代码

    ap聚类算法(java实现版本)

    AP聚类算法,即Affinity Propagation(亲和传播)算法,是由Michael E. Fisher、David M. Bickel和Seth S. Meyer等人在2007年提出的一种无中心、非层次的聚类方法。它不同于传统的K-means或层次聚类,AP算法不需要...

    论文研究-一种迭代加权更新的带加速算子的半监督AP聚类算法.pdf

    为了提高AP算法的数据集分类准确度和收敛速度,提出一种基于改进AP算法的迭代加权更新的带加速算子的半监督AP聚类算法(AP-SSM)。该算法采用带约束的标签映射的方法对样本所属子簇进行分类,在采用传统AP聚类算法上...

    AP聚类算法matlab

    function [idx,netsim,i,unconverged,dpsim,expref]=apcluster(s,p,varargin); % Handle arguments to function if nargin('Too few input arguments'); else maxits=500; convits=50; lam=0.5;...

Global site tag (gtag.js) - Google Analytics