Comment évaluez-vous un clustering sans étiquettes ?

Questions d’entrevue Apprentissage non supervisé

Seniorevaluationclusteringstabilite

Il faut répondre sur trois niveaux, parce qu’aucun ne suffit seul.

1. Les indices internes

Ils mesurent la géométrie du découpage : les groupes sont-ils compacts et bien séparés ?

  • Silhouette — compare, pour chaque point, sa distance moyenne à son groupe et au groupe voisin le plus proche. De −1 à 1. Le plus lisible, et celui qu’on présente.
  • Calinski-Harabasz — rapport de la dispersion entre groupes à la dispersion interne. À maximiser.
  • Davies-Bouldin — similarité moyenne d’un groupe avec son plus proche voisin. À minimiser.

Leur limite commune, qu’il faut nommer : ils récompensent des groupes sphériques et compacts. Ils sont donc biaisés en faveur de ce que k-means produit, et ils noteront mal un DBSCAN parfaitement correct sur des formes allongées. Comparer deux algorithmes différents à la silhouette est un raisonnement fautif.

2. La stabilité

C’est le critère le plus négligé et l’un des plus informatifs. On refait le clustering sur des sous-échantillons — ou avec des germes aléatoires différents — et on mesure à quel point les découpages se ressemblent, par indice de Rand ajusté ou information mutuelle ajustée.

python
from sklearn.metrics import adjusted_rand_score

a = KMeans(5, random_state=0).fit_predict(X_echantillon_1)
b = KMeans(5, random_state=1).fit_predict(X_echantillon_2)
adjusted_rand_score(a[commun], b[commun])

Le raisonnement : une structure réelle se retrouve dans un autre échantillon du même phénomène. Un découpage qui change du tout au tout est un découpage du bruit, même s’il obtient une belle silhouette.

3. L’utilité, qui est le seul vrai juge

Un clustering existe pour servir à quelque chose, et c’est là que se mesure sa qualité :

  • Chaque groupe se décrit-il en une phrase que le métier reconnaît ? On profile les groupes — moyenne des variables, écart à la population globale — et on les nomme. Un groupe qu’on ne sait pas nommer est un groupe qui ne sert à rien.
  • Les groupes diffèrent-ils sur une variable qu’on n’a pas utilisée ? C’est le test le plus convaincant : segmenter sur le comportement d’achat, puis constater que les taux de résiliation diffèrent nettement entre groupes. La structure trouvée porte alors une information réelle.
  • La décision change-t-elle ? Le juge final est un essai contrôlé : deux campagnes, l’une segmentée, l’autre non, et un écart mesuré. C’est la seule évaluation qui prouve la valeur du découpage.

Le cas particulier des étiquettes disponibles

Si un sous-ensemble étiqueté existe — même petit — il faut l’utiliser : indice de Rand ajusté ou information mutuelle ajustée entre les groupes trouvés et les classes connues. Les deux corrigent le hasard, ce que ne fait pas l’indice de Rand brut, et l’un comme l’autre sont insensibles à la numérotation des groupes, qui n’a aucune signification.

Toutes les questions Apprentissage non supervisé