- Determine the minimum distance between observations in different clusters (inter-cluster distance).
- Determine the maximum diameter (the largest distance between any two points) of all the clusters (intra-cluster distance).
- Calculate the Dunn index as the ratio of the minimum inter-cluster distance to the maximum intra-cluster distance.
calculate dunn index matrix?
9 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi I have a big matrix and woulk like to calculate dunn index for that. I have seen dunn index function in Matworks but unfortunatly it did not work on my matrix. Please let me know your comments and also if you have any example
0 Commenti
Risposte (1)
BhaTTa
il 11 Giu 2024
To calculate the Dunn index manually, you need to follow these steps:
Here's a simple example of how you might implement this in MATLAB. This example assumes you have a dataset X and the cluster assignments idx for each observation in X.
function dunnIndex = calculateDunnIndex(X, idx)
uniqueClusters = unique(idx);
nClusters = length(uniqueClusters);
% Calculate inter-cluster distances
minInterClusterDistance = inf;
for i = 1:nClusters
for j = i+1:nClusters
clusterIDistance = pdist2(X(idx==uniqueClusters(i),:), X(idx==uniqueClusters(j),:), 'euclidean', 'Smallest', 1);
minInterClusterDistance = min(minInterClusterDistance, min(clusterIDistance));
end
end
% Calculate intra-cluster distances (diameters)
maxIntraClusterDistance = 0;
for i = 1:nClusters
clusterIDistance = pdist(X(idx==uniqueClusters(i),:), 'euclidean');
maxIntraClusterDistance = max(maxIntraClusterDistance, max(clusterIDistance));
end
% Calculate Dunn index
dunnIndex = minInterClusterDistance / maxIntraClusterDistance;
end
0 Commenti
Vedere anche
Categorie
Scopri di più su Matrix Indexing in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!