Cluster with custom metric

7 views (last 30 days)
teresa
teresa on 29 Apr 2011
Answered: arushi on 22 Aug 2024
Hi
I want to cluster my data using a custom distance metric, so I have some data vector V and a matrix with distances between the rows of V, pairwise. How to do it? I saw that linkage might solve it but I have no idea how to pass my metric there

Answers (1)

arushi
arushi on 22 Aug 2024
Hi Teresa,
To cluster your data using a custom distance metric in MATLAB, you can use the linkage function, which supports clustering based on a precomputed distance matrix. If you already have a matrix of pairwise distances, you can pass it directly to the linkage function.
Steps to Cluster Using a Custom Distance Matrix
  1. Compute the Distance Matrix: If you haven't already, compute the pairwise distance matrix for your data vector V. This matrix should be a square, symmetric matrix where the element at position (i, j) represents the distance between the ith and jth elements of V.
  2. Convert the Distance Matrix to a Vector: The linkage function requires the distance matrix to be in vector form, as returned by the pdist function.
  3. Perform Hierarchical Clustering: Use the linkage function with your custom distance vector. You can specify the linkage method (e.g., 'single', 'complete', 'average').
  4. Form Clusters: Use the cluster function to form clusters from the hierarchical tree.
Hope this helps.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!