Classification ascendante hiérarchique comment ça marche?

Apprenez à utiliser simplement une CAH en comprenant le fonctionnement de l’algorithme.

lovely analytics CAH

La CAH est un algorithme de machine learning qui permet, comme les K-means d’identifier des groupes homogènes dans une population. C’est par exemple la méthode de prédilection pour faire des segmentations clients sur des volumes de données acceptables (sinon on préférera utiliser la méthode mixte qui combine CAH et k-means). C’est une méthode que j’adore parce qu’elle m’a toujours surprise par son efficacité et sa capacité à mettre en avant des groupes très cohérents d’un point de vue métier. Typiquement avec la CAH on se dit toujours « Mais c’est tellement évident » en voyant les résultats.

Regardons de plus près comment ça marche :

Avant de commencer votre CAH : un peu de nettoyage

Pour commencer il faut savoir que la CAH est une méthode non supervisée, également appelée clustering qui s’applique sur des données quantitatives. Si certaines données de votre dataset sont qualitative, vous pouvez faire au-préalable une ACM pour les convertir (vous utiliserez alors les axes de l’ACM comme nouvelles données).

Si vos données sont quantitatives il peut quand même être intéressant de réaliser dans un premier temps une ACP pour réduire le nombre de dimensions du problème (comme pour l’ACM, on utilisera alors les coordonnées des premiers axes de l’ACP comme nouvelles données).

Encore un dernier traitement pour les variables extrêmes. On les identifie et on les traite. Il n’y a pas de règle toute faite, vous pouvez appliquer des règles métier. Quand je n’ai pas de référence, je considère comme valeur extrême tout ce qui est supérieur à moyenne + 3*écart-type ou inférieur à moyenne – 3*écart-type (pour les distributions qui peuvent être considérées comme Gausiennes)

La CAH

Les données sont prêtes, nettoyées, et le nombre de dimensions du problème a été réduit, la CAH peut être appliquée. C’est une méthode hiérarchique qui se construit étape par étape en partant du niveau le plus fin où chaque individu est seul dans son groupe jusqu’au niveau le plus agrégé où tous les individus sont dans le même groupe. Pour présenter la manière dont tout cela s’organise on construit un dendrogramme.

Comme toujours, c’est plus simple avec un exemple. Prenons 10 clients pour lesquels on connait l’ancienneté et le panier moyen. On cherche à identifier des typologies de clients.

lovely analytics CAH 1

Etape 0 : Initialisation

On considère que chaque client est seul et isolé dans son groupe. Dans notre cas, on suppose donc qu’on a 10 groupes.lovely analytics CAH 2

Etape itérative  :

On calcule la distance entre chaque groupe. Comme d’habitude plusieurs distances peuvent être utilisées. Pour la CAH, j’aime bien utiliser la distance de WARD qui permet de pondérer la distance en fonction du nombre d’individus appartenant au groupe. Cela permet d’éviter d’isoler les outliers (valeurs extrêmes) dans un groupe (ce qui aurait peu de sens métier en général).

On fusionne les 2 groupes les plus proches et on les relie dans le dendrogramme. Le trait qui nous permet de relier les 2 groupes dans le dendrogramme est d’autant plus long que la distance entre les groupes est élevée.

lovely analytics CAH 3

Et on va continuer cette étape itérative encore et encore  …

lovely analytics CAH 4

… jusqu’à ce qu’il ne reste plus qu’un seul et unique groupe réunissant tous les individus.

lovely analytics CAH 5

Choix du nombre de classes :

Vous obtenez finalement un dendrogramme qui présente l’emboitement de tous les cas possibles. On arrive à l’étape cruciale du choix du nombre de groupe. Il y a 3 règles à avoir en tête :

1- Le nombre de groupe doit être cohérent d’un point de vue métier. C’est l’interprétation des résultats qui vous permettra de vérifier que vos groupes ont du sens.
2- Le nombre de groupe doit être exploitable : une segmentation de 8 groupes ça commence déjà à faire beaucoup pour une exploitation opérationnelle.
3- Les groupes doivent être le plus homogènes possible (les individus d’un groupe se ressemblent et les groupes sont différents les uns des autres). Cela se traduit, sur le dendrogramme, par le fait de couper au niveau d’une branche « longue »

Dans notre cas on pourrait couper au niveau de 2 groupes ou de 3. On choisit d’en faire 3 ce qui nous donne ces résultats.

Résultats :

C’est très simple maintenant, en coupant le dendrogramme au bon niveau, vous obtenez vos clusters.

lovely analytics CAH 6

Encore un peu de travail pour comprendre et interpréter ces classes. Vous pouvez calculer les moyennes de chaque groupe ou utiliser des valeurs tests pour mettre en avant les spécificités de chaque population.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s