File Exchange

image thumbnail

Spectral Clustering Algorithms

version 1.1 (4.78 KB) by

Implementation of four key algorithms of Spectral Graph Clustering using eigen vectors : Tutorial

12 Ratings



View License

The code for the spectral graph clustering concepts presented in the following papers is implemented for tutorial purpose:
1. Ng, A., Jordan, M., and Weiss, Y. (2002). On spectral clustering: analysis and an algorithm. In T. Dietterich, S. Becker, and Z. Ghahramani (Eds.), Advances in Neural Information Processing Systems 14 (pp. 849 – 856). MIT Press.

2. P. Perona and W. T. Freeman, "A factorization approach to grouping",In H. Burkardt and B. Neumann, editors, Proc ECCV, pages 655-670, 1998.

3. J. Shi and J. Malik, "Normalized Cuts and Image Segmentation", In Proc. IEEE Conf. Computer Vision and Pattern Recognition, pages 731-737, 1997.

4. G.L. Scott and H. C. Longuet-Higgins, "Feature Grouping by Relocalisation of Eigenvectors of the Proxmity Matrix", In Proc. British Machine Vision Conference, pages 103-108, 1990.

Evolution of spectral clustering methods and the various concepts proposed by the above authors are demonstrated in this implementation.

Comments and Ratings (16)

Daniel Wang

Xin Hong

Marwan Riad

@Asad Ali
i have adjacent matrix how to replace input data or convert it to this data in file
another data type i have source node to target node how can i use
Thanks alot


chocho (view profile)

what this code take as input, I mean what the data looks like?

Asad Ali

Asad Ali (view profile)

@JohnDapper: The code is correct. Your interpretation and understanding of the original research paper is wrong. Ignore the comment in the file which is confusing you and read the research paper again and compare it to the code not the comment in the code.


Your code is wrong. You're keeping the smallest eigenvectors instead of the largest. The largest eigenvectors are associated with the smallest eigenvalues. The matlab "eigs" function returns the eigenvectors/values in ascending order.


X CF (view profile)

Wentian zhou


H (view profile)

Carlos Lara


Yunwen (view profile)


qin xuzhen

John Sarkar



no change (version 1.0 was first released on 12-Jan-2010)


A comment in the file Shi_Malik has been updated to avoid confusion.
Another file Jordan_Weiss has been renamed to Ng_Jordan_Weiss
The output of all files remains the same.

MATLAB Release
MATLAB 7 (R14)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Win prizes and improve your MATLAB skills

Play today