← retour aux snippets

seaborn clustermap: corrélation clusterisée

visualiser une matrice de corrélation avec clustering hiérarchique

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.