seaborn clustermap: corrélation clusterisée
objectif
Expliquer et montrer comment visualiser une matrice de corrélation avec clustering hiérarchique.
code minimal
import numpy as np, pandas as pd, seaborn as sns
rng = np.random.RandomState(0)
df = pd.DataFrame(rng.randn(200, 12), columns=[f"f{i}" for i in range(12)])
corr = df.corr()
# sns.clustermap(corr, cmap="vlag", center=0, figsize=(6,6))
utilisation
# sélectionner sous-blocs de features similaires
# clusters = sns.clustermap(corr).dendrogram_row.reordered_ind
variante(s) utile(s)
# standardiser par colonnes avant corr
# corr = df.apply(lambda c: (c - c.mean())/c.std(ddof=0)).corr()
notes
- clustermap effectue un clustering sur lignes/colonnes.
- Peut être coûteux pour grands nombres de variables.