Cluster with custom metric

조회 수: 7 (최근 30일)
teresa
teresa 2011년 4월 29일
답변: arushi 2024년 8월 22일
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

답변 (1개)

arushi
arushi 2024년 8월 22일
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!

Translated by