Get from Ico-github-logo

Highlights from
Graph Agglomerative Clustering (GAC) toolbox

  • gacBuildDigraph(distance_...
    Build directed graph
  • gacBuildDigraph_c(distanc...
    Build directed graph
  • gacBuildLlinks_cwarpper(d...
    Build l-links by NN propagation (ALL NNs PROPAGATION);
  • gacCluster (distance_matr...
    Graph Agglomerative Clustering toolbox
  • gacFindKcCluster (affinit...
    input should be symmetric
  • gacMerging(graphW, initCl...
    Cluster merging for Graph Agglomerative Clustering
  • gacMink (X, k, dim)
    check the first k elements
  • gacNNMerge(distance_matri...
    merge each vertex with its nearest neighbor
  • gacPathCondEntropy (Iminu...
    Compute conditional complexity from the subpart of the weighted adjacency matrix
  • gacPathEntropy (subIminuszW)
    Compute structural complexity from the subpart of the weighted adjacency matrix
  • gacZetaCondEntropy (Iminu...
    Compute conditional complexity from the subpart of the weighted adjacency matrix
  • gacZetaEntropy (subIminuszW)
    Compute structural complexity from the subpart of the weighted adjacency matrix
  • gdlAffinity (graphW, clus...
    Compute conditional complexity from the subpart of the weighted adjacency matrix
  • gdlAffinity_increment (gr...
    Compute conditional complexity from the subpart of the weighted adjacency matrix
  • gdlCluster (distance_matr...
    Graph Agglomerative Clustering toolbox
  • gdlDirectedAffinity (grap...
    Compute conditional complexity from the subpart of the weighted adjacency matrix
  • gdlMergingKNN_c(graphW, i...
    Cluster merging for Graph Degree Linkage
  • gdlMerging_c(graphW, init...
    Cluster merging for Graph Degree Linkage
  • compileMexFiles.m
  • gdlCompileMex.m
  • View all files

5.0

5.0 | 3 ratings Rate this file 56 Downloads (last 30 days) File Size: 126 KB File ID: #38018
image thumbnail

Graph Agglomerative Clustering (GAC) toolbox

by

 

05 Sep 2012 (Updated )

Graph Degree Linkage: Agglomerative Clustering on a Directed Graph. ECCV 2012.

| Watch this File

File Information
Description

Gactoolbox is a summary of our research of agglomerative clustering on a graph. Agglomerative clustering, which iteratively merges small clusters, is commonly used for clustering because it is conceptually simple and produces a hierarchy of clusters. Classical agglomerative clustering algorithms, such as average linkage and DBSCAN, were widely used in many areas. Those algorithms, however, are not designed for clustering on a graph. This toolbox implements the following algorithms for agglomerative clustering on a directly graph.
1) Structural descriptor based algorithms (gacCluster.m). We define a cluster descriptor based on the graph structure, and each merging is determined by maximizes the increment of the descriptor. Two descriptors, including zeta function and path integral, are implemented. You can also design new descriptor (creating functions similar to gacPathEntropy.m and gacPathCondEntropy.m) and develop new algorithms with our code.

2) Graph degree linkage (gdlCluster.m). It is a simple and effective algorithm, with better performance than normalized cuts and spectral clustering, and is faster.

MATLAB release MATLAB 7.10 (R2010a)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (11)
04 May 2014 lei  
10 Apr 2014 Ling

In the implementation, should we feed a dense graphW matrix other than a sparse matrix? Since there is a lot of zeros if the graph is constructed by the knn strategy, full(graphW) will waste a lot of storage...

01 Feb 2014 Wei Zhang

Please check out latest version at github which supports compiling mex files in linux.
https://github.com/waynezhanghk/gactoolbox

13 May 2013 Jing Shao

Thanks for the code. BTW, I find that in your algorithm, the group number must be determined, but not adaptive, like meanshift, right? Could you please give me some suggestions to improve your algorithm if I can not provide a determined group number? Thank you very much.

08 Jan 2013 Wei Zhang

@Gerard: you can record the merging in each iteration to get dendogram (in gdlMerging_c.m). I didn't implement that but it should be simple to add.

05 Dec 2012 Gerard SanromĂ 

Thanks for the code. Is there any way of obtaining the dendogram of the whole merging process ?

15 Nov 2012 Wei Zhang

@Ben: there's an example included in readme.txt
it's simple, you only need to compute distance_matrix by yourself. E.g., you can download MNIST data from the link in my paper, and compute Euclidean distance matrix. distance_matrix is n x n if there're n samples. groupNumber is number of clusters. K is for K-NN graph.

14 Nov 2012 om  
13 Nov 2012 Ben

Could you provide even a very simple example of how to use your code? That would be appreciated!

26 Sep 2012 Wei Zhang

@Tallha Akram: will post some example in the future. can u post your error message?

26 Sep 2012 Tallha Akram

Can you please give some sample code, i have used distance matrix from spectral clustering, but only got an error.

Updates
10 Sep 2012

add a missing file
gacPartialMin_triu_c.cpp

25 Jul 2013

We provide MATLAB implementation of structural descriptor based clustering and MATLAB-C++ mixed implementation of graph degree linkage.

23 Apr 2014

Update link to github

Contact us