File Exchange

image thumbnail

Adaptive Affinity Propagation clustering

version (34.5 KB) by Kaijun Wang
advantage of speed & performance appears under large number of clusters & large dataset


Updated 26 Jul 2009

View License

Affinity propagation clustering (AP) is a clustering algorithm proposed in "Brendan J. Frey and Delbert Dueck. Clustering by Passing Messages Between Data Points. Science 315, 972 (2007)". It has some advantages: speed, general applicability, and suitable for large number of clusters. AP has two limitations: it is hard to known what value of parameter ‘preference’ can yield optimal clustering solutions, and oscillations cannot be eliminated automatically if occur.

Adaptive AP improves AP in these items: adaptive adjustment of the damping factor to eliminate oscillations (called adaptive damping), adaptive escaping oscillations, and adaptive searching the space of preference parameter to find out the optimal clustering solution suitable to a data set (called adaptive preference scanning). With these adaptive techniques, adaptive AP will outperform AP algorithm in clustering quality and oscillation elimination, and it will find optimal clustering solutions by Silhouette indices.

Cite As

Kaijun Wang (2020). Adaptive Affinity Propagation clustering (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (12)

Do Dustin

Can you send me your paper or documents of this demo code ? My gmail: Thanks a lot !

Is there a possibility to combine multiple similarity measures?
E.g. Jaccard similarity for patient questionnaire answers or patient symptoms lists
Mahalanobis distance (transformed into similarity) for quantitative measures from patients.

I had very nice results for the symptoms list alone, while quantitative measures were not as good but okayish,
and I would now like to combine the two similarity measures.

wen chen


verry usefull

liu winni

it is very useful for the multiple modeling

xi Jiang

Hi, I'm wondering if I already know that a part of data should be in a cluster, that's to say, I heve a priori modal, how can combine it into the adaptive AP clustering method to guide the clustering process? Thanks!

hou jinxuan

good very useful

Kaijun Wang

Note: When you use Matlab, the Statistics Toolbox of Matlab needs to be installed, since it contains routines such as Silhouette index and etc. Otherwise, the program cannot find function "silhouette.m".

udaya kumar

very nice ,useful website dsp

Mark Brown

The demo bombs at line 84...

??? Undefined function or method 'silhouette' for input arguments of type 'double'.

Error in ==> solution_evaluation at 42
Smax = silhouette(data, Y, type);

Error in ==> Main_adaptAP_demo at 84
[NC,Sil,Silmin] = solution_evaluation(data,M,labels,NCs,...

I tried renaming silhouette2, but that didn't work either.


Readme and Notice files are updated

update the license

help file is updated

Help files ReadmeEnglish.txt and ReadmeChinese.txt are updated.

MATLAB Release Compatibility
Created with R2006a
Compatible with any release
Platform Compatibility
Windows macOS Linux