Azzera filtri
Azzera filtri

evalcluster for fuzzy c-means ?

4 visualizzazioni (ultimi 30 giorni)
Vincent Moron
Vincent Moron il 5 Lug 2023
Risposto: Prathamesh il 27 Lug 2023
Dear all
I wonder if several score used to evaluate hard clusters (Silhouette, Gap, Davies-Bouldin, etc.) works also for fuzzy clusters ? For fuzzy clusters, the "optimal" number should include (1) the value of the fuzzifier (=m) and (2) the number of clusters (=n). Any idea (or code) using both informations and leading to a unique score for values of m and n will be useful.
Thank you in advance
Vincent M.

Risposte (1)

Prathamesh
Prathamesh il 27 Lug 2023
Hi,
I understand that you want to know how to get unique score matrix for the values of fuzzifier and number of clusters.
You can use fcm function from fuzzy logic toolbox to get the membership matrix ‘U’.
options = fcmOptions('NumClusters', 3, 'Exponent', 2);
[centers, U] = fcm(x, 3, options);
U is a matrix that contains the membership grades of each data point to each cluster. Each row of U corresponds to a data point, and each column corresponds to a cluster.
U transpose will be the score matrix or particular value of fuzzifier and number of clusters.
The “evalclusters” function can be used to find the optimum number of data clusters.
eva = evalclusters(x, U, criterion);
Refer to the documentation of the above function to get more information.
I hope this resolves your issue.

Categorie

Scopri di più su Fuzzy Logic Toolbox in Help Center e File Exchange

Prodotti


Release

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by