Fuzzy c-means clustering gives every observation a membership degree in every cluster, replacing the hard labels of k-means with soft assignments.
FCM minimizes a membership-weighted within-cluster distance, with the fuzzifier m controlling softness: m → 1 recovers crisp k-means behaviour, larger m spreads membership across clusters. Hard labels (for the plot and sizes) take each observation's maximum membership.
Dunn's partition coefficient (Σu²/n) summarizes decisiveness: 1/k means totally fuzzy (uniform memberships), 1 means fully crisp. Mean max-membership reads similarly on a per-observation basis.
Useful when cluster boundaries are genuinely gradual — observations near a boundary get split membership instead of an arbitrary hard label.
Numeric feature columns + number of clusters k + fuzzifier m (2 = standard) + standardize toggle.
Cluster sizes (by max membership), partition coefficient, mean max-membership, PCA 2D scatter colored by cluster.
Partition coefficient near 1: crisp, k-means would say the same. Near 1/k: memberships are near-uniform — reconsider k or whether clusters exist.