Apprentissage non supervisé

30 questions en accès libre

k-means et choix de k, DBSCAN, classification hiérarchique, ACP, t-SNE, détection d’anomalies et évaluation sans étiquettes : le clustering en entretien.

Niveau

Cliquez sur une question pour dérouler la réponse attendue.

  1. 01Qu’est-ce que l’apprentissage non supervisé ?Juniorfondamentaux

    C’est apprendre une structure dans les données sans étiquette. Il n’y a pas de réponse attendue à reproduire : l’algorithme cherche une organisation déjà présente dans les données, et c’est à nous de juger si elle a un sens.

    Les trois tâches à nommer :

    • Le regroupement (clustering) : rassembler les observations qui se ressemblent. k-means, DBSCAN, classification hiérarchique.
    • La réduction de dimension : décrire les données avec moins de variables en gardant l’essentiel de l’information. ACP, t-SNE, UMAP, auto-encodeurs.
    • La détection d’anomalies : repérer ce qui ne ressemble à rien du reste. Isolation Forest, méthodes de densité.

    La conséquence qui change tout, et qu’il faut énoncer d’emblée : sans étiquette, il n’y a pas de bonne réponse à comparer, donc pas de métrique objective. Un modèle supervisé se mesure — 0,84 d’AUC, on sait où l’on est. Un clustering ne se mesure pas ainsi : deux découpages différents peuvent être tous les deux corrects, et le seul juge final est l’utilité pour le métier.

    C’est pour cela que ces projets échouent différemment des projets supervisés. Un modèle supervisé échoue en donnant un mauvais score, ce qui se voit. Un clustering échoue en donnant des groupes que personne ne sait interpréter ni utiliser, ce qui ne se voit qu’à la présentation des résultats.

    Et la raison pour laquelle on s’y intéresse malgré tout : les données non étiquetées sont abondantes, les étiquettes sont rares et coûteuses. C’est cette asymétrie qui explique l’importance prise par l’apprentissage auto-supervisé, où le modèle fabrique sa propre supervision à partir des données brutes — c’est ce qui a rendu possibles les grands modèles de langage.

  2. 02Quelle différence avec l’apprentissage supervisé ?Juniorfondamentaux

    L’étiquette, et tout ce qui en découle.

    SuperviséNon supervisé
    Donnéespaires (entrées, réponse)entrées seules
    Objectifprédire la réponsetrouver une structure
    Évaluationmétrique sur données réservéesindices internes, puis jugement métier
    Vérité de référenceconnueinexistante
    Échec typiquemauvais scoregroupes ininterprétables

    La différence pratique la plus importante n’est pas l’algorithme, c’est la façon de conclure. En supervisé, la validation croisée tranche : ce modèle est meilleur que celui-là. En non supervisé, on peut produire quatre découpages plausibles et aucun critère mathématique ne dira lequel est le bon — il faut le confronter à un usage.

    Les deux régimes intermédiaires à connaître, parce qu’ils sont souvent la vraie réponse en entreprise :

    • Semi-supervisé : quelques centaines d’exemples étiquetés, des centaines de milliers sans étiquette. On exploite les deux ensemble.
    • Auto-supervisé : on fabrique une tâche supervisée à partir des données brutes — prédire le mot suivant, reconstruire une partie masquée d’une image. Il n’y a pas d’étiquette humaine, et pourtant l’entraînement est supervisé au sens technique. C’est ce qui a permis les grands modèles de langage.

    Et le cas à part, à citer pour compléter le tableau : l’apprentissage par renforcement, où il n’y a ni étiquette ni structure à trouver, mais une récompense obtenue en agissant sur un environnement.

  3. 03Qu’est-ce que le clustering, et à quoi sert-il ?Juniorclusteringfondamentaux

    Regrouper les observations de façon que celles d’un même groupe se ressemblent davantage entre elles qu’avec celles des autres groupes. La ressemblance est mesurée par une distance, et le choix de cette distance est une décision aussi importante que le choix de l’algorithme.

    Les usages réels, à donner en exemples concrets :

    • Segmentation client : construire des groupes de comportement pour adresser des messages différents. C’est l’usage le plus fréquent, et le plus souvent mal fait.
    • Compression et prétraitement : remplacer des milliers de références produit par vingt groupes utilisables comme variable dans un modèle supervisé.
    • Exploration : comprendre la structure d’un jeu de données qu’on découvre, avant toute modélisation.
    • Détection d’anomalies : ce qui n’appartient à aucun groupe dense mérite un regard.
    • Regroupement de documents ou d’images, aujourd’hui sur des plongements plutôt que sur les données brutes.

    Ce qu’il faut ajouter pour montrer qu’on connaît le piège du sujet : un algorithme de clustering renvoie toujours des groupes. Même sur des données uniformément réparties, sans aucune structure, k-means découpera consciencieusement l’espace en k morceaux. L’existence d’un résultat ne prouve donc rien, et la première question à se poser n’est pas « combien de groupes » mais « y a-t-il une structure de groupes dans ces données ».

    Et la distinction à faire, si on veut être précis : la plupart des algorithmes produisent une partition stricte — chaque point appartient à un groupe et un seul. D’autres produisent une appartenance graduée, où un point relève de plusieurs groupes avec des probabilités : c’est le cas des mélanges gaussiens, et c’est souvent plus fidèle à la réalité d’un comportement client.

  4. 04Comment fonctionne l’algorithme k-means ?Juniorkmeansclustering

    Par une alternance de deux étapes, répétée jusqu’à stabilisation :

    1. Placer k centres, au départ selon une initialisation choisie.
    2. Affecter chaque point au centre le plus proche.
    3. Recalculer chaque centre comme la moyenne des points qui lui sont affectés.
    4. Reprendre à l’étape 2 tant que les affectations changent.

    Ce qu’il faut savoir dire sur ce que l’algorithme optimise, parce que c’est ce qui explique tous ses comportements : il minimise l’inertie, c’est-à-dire la somme des distances au carré entre chaque point et le centre de son groupe. Chacune des deux étapes fait baisser cette quantité, donc l’algorithme converge toujours — mais vers un minimum local, pas nécessairement le meilleur découpage possible.

    Les conséquences directes de cette fonction de coût, et c’est là qu’un candidat se distingue :

    • Les groupes sont sphériques et de taille comparable. Minimiser une distance au carré à un centre unique ne peut produire que des formes convexes, séparées par des frontières droites. Un croissant ou deux cercles concentriques sont hors d’atteinte.
    • La moyenne est sensible aux valeurs extrêmes. Un seul point aberrant déplace le centre de son groupe. La variante k-médoïdes utilise un point réel comme représentant plutôt qu’une moyenne, ce qui la rend plus robuste et plus lente.
    • k doit être fixé d’avance. L’algorithme ne peut pas décider qu’il y a trois groupes plutôt que cinq : ce choix est le nôtre.
    • La distance impose la normalisation. Sans mise à l’échelle, la variable exprimée dans les plus grands nombres décide seule des groupes.

    Le coût, si on le demande : linéaire en nombre de points, en dimensions et en itérations, ce qui en fait le seul algorithme de cette famille réellement confortable sur des millions de lignes. C’est la raison principale de sa popularité, plus que sa qualité.

  5. 05Comment choisissez-vous le nombre de clusters ?Intermédiairekmeansevaluationclustering

    La méthode du coude et le coefficient de silhouette donnent une plage plausible, jamais une valeur. C’est la contrainte d’usage qui tranche, parce qu’aucun critère mathématique ne le fait.

    Lire la réponse détaillée
  6. 06Quelles sont les limites de k-means ?Intermédiairekmeansclustering

    Elles découlent toutes de ce qu’il optimise : la somme des distances au carré à un centre unique par groupe.

    • Il ne trouve que des formes convexes. Deux cercles concentriques, un croissant, une spirale : k-means échoue, quelle que soit la valeur de k, parce que ses frontières sont des droites. Le contre-exemple canonique est le jeu make_moons, et savoir le citer montre qu’on a manipulé le sujet.
    • Il suppose des groupes de tailles et de densités comparables. Face à un gros groupe diffus et un petit groupe dense, il découpe le gros en deux plutôt que d’isoler le petit — parce que couper le gros fait davantage baisser l’inertie.
    • k doit être fixé d’avance, et rien dans l’algorithme n’aide à le choisir.
    • Il est sensible à l’initialisation et converge vers un minimum local. C’est le seul défaut réellement corrigé en pratique, par k-means++ et par plusieurs départs.
    • Il est sensible aux valeurs aberrantes, puisqu’un centre est une moyenne.
    • Il affecte tous les points. Il n’y a pas de catégorie « aucun groupe », donc le bruit est réparti de force dans les groupes, dont il déplace les centres.
    • Il exige une normalisation, et se dégrade en grande dimension avec toutes les méthodes fondées sur la distance euclidienne.

    Ce qu’il faut ajouter, parce que la question invite à jeter l’algorithme et que ce serait une erreur : k-means reste le bon premier essai. Il est linéaire en nombre de points, prévisible, disponible partout, et il fournit une base de comparaison en quelques secondes. On l’essaie, on regarde ce qu’il donne, et on change d’algorithme quand ses hypothèses ne tiennent pas.

    Les remplaçants, avec le défaut qu’ils corrigent :

    LimiteAlgorithme à préférer
    formes non convexesDBSCAN, clustering spectral
    groupes de tailles inégalesmélange gaussien
    k inconnuDBSCAN, hiérarchique
    bruit et valeurs extrêmesDBSCAN, k-médoïdes
    appartenance graduéemélange gaussien
  7. 07Pourquoi k-means dépend-il de son initialisation ?Intermédiairekmeansstabilite

    Parce que la fonction qu’il minimise n’est pas convexe : elle possède plusieurs minima locaux, et l’alternance affectation-recalcul descend jusqu’au premier atteint sans jamais en ressortir. Deux départs différents mènent donc à deux découpages différents, tous deux stables.

    Le cas d’école : deux centres initiaux tombés dans le même vrai groupe. Ils se le partagent, et deux autres vrais groupes se retrouvent fusionnés. L’algorithme converge, l’inertie est stable, et le résultat est faux.

    Les deux réponses à donner :

    k-means++, qui est le défaut de scikit-learn depuis longtemps. Le premier centre est tiré au hasard, puis chaque centre suivant est tiré avec une probabilité proportionnelle au carré de sa distance aux centres déjà placés. Les centres partent donc écartés les uns des autres, ce qui rend le mauvais cas beaucoup plus rare — avec une garantie théorique sur la qualité obtenue.

    Plusieurs départs, et on garde le meilleur au sens de l’inertie :

    python
    KMeans(n_clusters=5, init='k-means++', n_init=10, random_state=42)

    Le n_init fait dix exécutions complètes et retient la meilleure. C’est du calcul en plus, sur un algorithme rapide, donc c’est un très bon échange — et le baisser à 1 pour gagner du temps est une fausse économie.

    Ce qu’il faut ajouter pour montrer qu’on va plus loin que le réglage : l’instabilité résiduelle est une information, pas seulement un défaut à corriger. Si dix départs avec k-means++ donnent dix découpages nettement différents, le problème n’est plus l’initialisation — c’est que les données ne contiennent pas k groupes bien séparés. Comparer les découpages obtenus, par indice de Rand ajusté, transforme ce symptôme en diagnostic.

    Et la précision qui compte pour la reproductibilité : fixer random_state rend le résultat reproductible, ce qui est indispensable dès qu’un clustering alimente un traitement en aval. Sans cela, les identifiants de groupes changent à chaque exécution — et même avec, les numéros de groupes n’ont aucune signification stable entre deux entraînements. Un groupe se désigne par son contenu, jamais par son numéro.

  8. 08Faut-il normaliser avant un clustering ?Juniorpreparationdistance

    Oui, presque toujours, et pour une raison mécanique : un clustering repose sur une distance, et une distance additionne des écarts exprimés dans des unités différentes.

    L’exemple qui règle la question. Sur une segmentation client avec un âge en années — de 18 à 80 — et un revenu annuel en euros — de 20 000 à 200 000 — un écart de revenu de 10 000 pèse 10 000 dans la distance, un écart d’âge de trente ans pèse 30. Le clustering obtenu est un découpage par tranches de revenu, et l’âge n’a rien décidé. Ce n’est pas un choix, c’est un accident d’unité.

    Ce qui s’applique donc à tout ce qui utilise une distance ou une variance : k-means, DBSCAN, classification hiérarchique, ACP, k plus proches voisins.

    Les transformations, avec leur cas d’usage :

    • Standardisation — centrer et ramener l’écart-type à 1. Le choix par défaut.
    • Min-max — ramener dans [0, 1]. À éviter en présence de valeurs extrêmes, qui compriment tout le reste.
    • RobustScaler — médiane et écart interquartile. Le bon choix sur des données à valeurs aberrantes, fréquentes sur des montants.
    • Logarithme puis standardisation — pour les variables très asymétriques comme un chiffre d’affaires ou un nombre de commandes. Sans cette étape, quelques très gros clients dominent la géométrie entière.

    Deux nuances qui font la différence, parce qu’elles montrent qu’on ne suit pas une recette :

    Normaliser est un choix de pondération, pas une opération neutre. Standardiser revient à décider que toutes les variables comptent autant. Si le métier estime que le revenu doit compter davantage que l’ancienneté, cela s’exprime en pondérant les variables après normalisation — explicitement, plutôt que par le hasard des unités.

    Il y a des cas où il ne faut pas normaliser. Quand les variables sont déjà dans la même unité et que leurs amplitudes relatives portent le sens : des coordonnées géographiques, les canaux d’une image, ou des dépenses par catégorie exprimées en euros. Standardiser colonne par colonne détruirait alors l’information « ce client dépense dix fois plus en une catégorie qu’en une autre ».

  9. 09Comment fonctionne DBSCAN, et quand le préférer ?Intermédiairedbscanclusteringanomalies

    Il regroupe par densité plutôt que par distance à un centre : il trouve des formes quelconques, décide lui-même du nombre de groupes et isole le bruit au lieu de le répartir.

    Lire la réponse détaillée
  10. 10Qu’est-ce que la classification hiérarchique ?Intermédiairehierarchiqueclustering

    Une construction emboîtée de groupes, qui produit non pas une partition mais un arbre — le dendrogramme — que l’on coupe ensuite à la hauteur voulue.

    La version courante est agglomérative, ascendante : chaque point commence seul, puis on fusionne à chaque étape les deux groupes les plus proches, jusqu’à n’en avoir qu’un. La version descendante, divisive, part du tout et sépare ; elle est beaucoup moins utilisée.

    Son intérêt principal, à énoncer d’emblée : on n’a pas à choisir le nombre de groupes avant de voir la structure. On lit l’arbre, on repère les fusions qui se font à grande distance — signe que les groupes réunis étaient réellement distincts — et on coupe là. C’est l’inverse de la démarche k-means, où il faut parier sur k d’abord.

    Le paramètre qui compte vraiment est le critère de liaison, c’est-à-dire la définition de la distance entre deux groupes :

    LiaisonDistance entre groupesComportement
    minimaleles deux points les plus prochessuit les formes allongées, sujette au chaînage
    maximaleles deux points les plus éloignésgroupes compacts, sensible aux extrêmes
    moyennemoyenne des pairescompromis
    Wardhausse d’inertie induitegroupes de tailles proches, le défaut recommandé

    L’effet de chaînage de la liaison minimale mérite une phrase, parce que c’est le piège classique : une passerelle de quelques points entre deux groupes denses suffit à les fusionner, puisqu’il existe un chemin de proche en proche. Ward, qui fusionne les paires dont la réunion augmente le moins l’inertie, est le choix par défaut sur des données tabulaires normalisées.

    Les limites, à donner honnêtement : le coût est quadratique en mémoire — il faut la matrice des distances entre toutes les paires — ce qui plafonne l’usage vers quelques dizaines de milliers de points. Et les fusions sont définitives : une erreur commise tôt dans l’arbre ne se corrige jamais.

    Ce qui explique une pratique courante en entreprise, et qu’il est bon de citer : sur un gros volume, on lance d’abord un k-means à quelques centaines de groupes, puis une classification hiérarchique sur les centres obtenus. On garde la lisibilité de l’arbre pour un coût compatible avec les données.

  11. 11Quelle différence entre k-means et un mélange gaussien ?Seniorgmmkmeansclustering

    Un mélange gaussien modélise les données comme provenant de plusieurs lois normales, et estime pour chaque point la probabilité d’appartenir à chacune. k-means affecte chaque point à un groupe et un seul.

    Trois différences qui comptent :

    L’appartenance est graduée. Un point situé entre deux groupes reçoit 0,55 et 0,45 au lieu d’être arbitrairement rangé d’un côté. Sur une segmentation client, cela change la nature du livrable : on peut réserver un traitement particulier aux clients ambigus au lieu de les forcer dans une case.

    La forme des groupes est libre. k-means impose implicitement des groupes sphériques de même taille. Un mélange gaussien apprend une matrice de covariance par composante, donc des groupes allongés, inclinés, de tailles différentes. Le paramètre covariance_type règle jusqu’où va cette liberté, et le restreindre à spherical redonne à peu près k-means.

    Le critère de sélection est statistique. Puisqu’il s’agit d’un modèle probabiliste, on dispose d’une vraisemblance, donc de l’AIC et du BIC pour choisir le nombre de composantes. C’est un critère mieux fondé que le coude de k-means, et le seul de cette famille qui pénalise formellement la complexité.

    Le lien à connaître, parce qu’il fait bonne impression : k-means est un cas limite du mélange gaussien. L’algorithme espérance-maximisation qui ajuste le mélange alterne lui aussi deux étapes — estimer les appartenances, puis remettre à jour les paramètres. Avec des covariances sphériques identiques et des appartenances forcées à 0 ou 1, on retrouve exactement k-means. C’est la même mécanique, en version dure contre version souple.

    Les contreparties, à donner sans les cacher : plus de paramètres à estimer donc plus de données nécessaires — une covariance complète en vingt dimensions représente deux cent dix paramètres par composante ; une convergence plus lente et toujours vers un minimum local ; et l’hypothèse gaussienne elle-même, qui n’est pas gratuite. Sur des données franchement non gaussiennes, la souplesse annoncée ne se matérialise pas.

    Et le cas où le choix est évident : quand la question métier est « à quel point ce client ressemble-t-il au segment premium », il faut une probabilité, donc un mélange gaussien. Quand la question est « dans quel groupe le ranger », k-means suffit et coûte dix fois moins.

  12. 12Comment évaluez-vous un clustering sans étiquettes ?Seniorevaluationclusteringstabilite

    Par un indice interne, par la stabilité sur des sous-échantillons, et par l’utilité pour le métier. Les deux premiers écartent les mauvais découpages ; seul le troisième valide le bon.

    Lire la réponse détaillée
  13. 13Que mesure le coefficient de silhouette ?Intermédiaireevaluationclustering

    Pour un point donné, il compare deux distances : sa distance moyenne aux points de son propre groupe, et sa distance moyenne aux points du groupe voisin le plus proche. Le coefficient est la différence des deux, ramenée entre −1 et 1 par la plus grande des deux.

    La lecture est directe :

    • proche de 1 — le point est bien plus proche de son groupe que du voisin : il est bien classé ;
    • proche de 0 — il est à égale distance des deux : il est sur une frontière ;
    • négatif — il est plus proche du groupe voisin que du sien : il est probablement mal classé.

    Le score global est la moyenne sur tous les points, et c’est ce nombre qu’on utilise pour comparer des valeurs de k.

    Ce qu’il faut savoir ajouter, et qui vaut mieux que la formule : la moyenne cache l’essentiel, il faut regarder le diagramme. Un score global de 0,45 peut correspondre à trois groupes nets à 0,7 et un groupe informe à 0,05 — auquel cas l’action n’est pas de changer k mais d’examiner ce quatrième groupe. Le tracé des silhouettes par groupe, trié, montre en un coup d’œil quels groupes tiennent et lesquels sont douteux.

    Les trois limites à connaître :

    • Il favorise les groupes compacts et convexes, puisqu’il repose sur des distances à des groupes entiers. Il notera donc mal un DBSCAN correct sur des formes allongées, et il ne permet pas de comparer honnêtement deux familles d’algorithmes.
    • Il est coûteux : le calcul exact demande les distances entre toutes les paires, soit un coût quadratique. Sur un gros volume, on l’estime sur un échantillon.
    • Il se dégrade en grande dimension, comme toute mesure fondée sur la distance euclidienne.

    Et l’ordre de grandeur utile en entretien, parce qu’on demande souvent « qu’est-ce qu’un bon score » : au-delà de 0,5, la structure est nette ; entre 0,25 et 0,5, elle est faible mais peut être exploitable ; en dessous, il n’y a probablement pas de groupes — et il vaut mieux le dire que de livrer une segmentation.

  14. 14Qu’est-ce que l’ACP et que fait-elle exactement ?Junioracpreduction

    Elle réexprime les données dans de nouveaux axes, orthogonaux, classés par la variance qu’ils portent. Garder les premiers réduit la dimension en conservant l’essentiel de l’information.

    Lire la réponse détaillée
  15. 15Combien de composantes garder dans une ACP ?Intermédiaireacpreduction

    Cela dépend de l’objectif, et c’est la première chose à dire : le nombre de composantes n’est pas une propriété des données, c’est une conséquence de l’usage.

    Pour visualiser : deux ou trois, sans discussion. On note simplement la part de variance conservée, parce qu’un graphique qui n’en explique que 18 % ne prouve pas grand-chose.

    Pour réduire avant un modèle : on fixe une part de variance à conserver, typiquement 90 ou 95 %, et on laisse le nombre s’en déduire.

    python
    # Garde le nombre minimal de composantes couvrant 95 % de la variance.
    acp = PCA(n_components=0.95).fit(X_entrainement)
    print(acp.n_components_)

    Pour débruiter : on garde peu de composantes, en assumant que les dernières sont du bruit.

    Les critères classiques, à connaître avec leur valeur réelle :

    • La variance cumulée, tracée en fonction du nombre de composantes. C’est le critère utilisé en pratique.
    • Le coude de l’éboulis (scree plot), qui repère le décrochage des valeurs propres. Même faiblesse que le coude de k-means : souvent ambigu.
    • Le critère de Kaiser — garder les composantes de valeur propre supérieure à 1 sur données standardisées, c’est-à-dire celles qui portent plus d’information qu’une variable d’origine. Simple, et réputé retenir trop de composantes.

    Ce qui distingue une réponse expérimentée : le vrai critère est la performance en aval. Quand l’ACP sert de prétraitement à un modèle supervisé, le nombre de composantes est un hyperparamètre comme un autre, et on le règle par validation croisée sur la métrique finale — pas sur un pourcentage de variance choisi par habitude.

    python
    pipeline = make_pipeline(StandardScaler(), PCA(), LogisticRegression())
    grille = {'pca__n_components': [5, 10, 20, 40]}

    Et l’avertissement qui va avec, parce qu’il est contre-intuitif : la variance n’est pas l’information utile. L’ACP ignore la cible ; rien ne garantit que les directions les plus étalées soient celles qui la prédisent. Il arrive qu’une composante mineure porte le signal discriminant, et qu’on l’élimine en gardant 95 % de la variance. Quand la prédiction est l’objectif, une sélection de variables supervisée ou une analyse discriminante linéaire répondent mieux au problème.

  16. 16ACP, t-SNE ou UMAP : lequel utiliser ?Seniorreductionvisualisationacp

    L’ACP pour réduire et pour interpréter, t-SNE et UMAP pour visualiser. Les deux derniers ne préservent pas les distances globales : leurs graphiques se regardent, ils ne se mesurent pas.

    Lire la réponse détaillée
  17. 17Qu’est-ce que la malédiction de la dimension ?Seniordimensiondistancereduction

    À mesure que le nombre de variables augmente, l’espace se vide et les distances perdent leur pouvoir de discrimination. C’est le second point qui compte pour l’apprentissage non supervisé, et c’est celui que la plupart des réponses omettent.

    Le phénomène central, à énoncer précisément : en grande dimension, la distance au plus proche voisin et la distance au plus lointain se rapprochent l’une de l’autre. Quand tous les points sont à peu près à la même distance de tous les autres, « le plus proche voisin » ne veut plus rien dire — et tout ce qui repose sur cette notion s’effondre : k-means, DBSCAN, k plus proches voisins, silhouette.

    Les autres facettes, plus connues :

    • Le volume explose. Dix intervalles par variable font cent cases en deux dimensions et dix milliards en dix dimensions. Le nombre d’exemples nécessaires pour couvrir l’espace croît exponentiellement.
    • Les données deviennent creuses. Chaque case est vide ou contient un point, donc il n’y a plus de densité locale à estimer.
    • Le volume se concentre en périphérie. Dans une sphère en grande dimension, presque tout le volume est près de la surface : la notion de « centre » perd son sens.

    Ce qu’on fait

    • Réduire la dimension — ACP, UMAP, auto-encodeur — avant tout algorithme fondé sur une distance. C’est la réponse principale, et un clustering précédé d’une ACP donne souvent des résultats sans commune mesure avec le même clustering sur les données brutes.
    • Sélectionner les variables plutôt que toutes les garder : cinquante colonnes dont quarante sont du bruit, c’est quarante dimensions de dilution pure.
    • Changer de distance. La distance cosinus résiste mieux que l’euclidienne sur des données creuses de grande dimension — c’est pourquoi elle est la norme sur les plongements de texte.
    • Utiliser des méthodes qui ne dépendent pas d’une distance globale. Les arbres coupent variable par variable et ne souffrent pas du même problème, ce qui explique en partie leur robustesse sur données tabulaires larges.

    Et la nuance qui fait une bonne fin de réponse : la dimension apparente n’est pas la dimension réelle. Une image de mille pixels ne vit pas dans un espace à mille dimensions utiles ; les données réelles se concentrent sur une variété de dimension bien inférieure. C’est l’hypothèse de la variété, et c’est précisément ce qui rend la réduction de dimension possible — et ce qui explique que les modèles profonds fonctionnent malgré cette malédiction.

  18. 18Comment détectez-vous des anomalies sans étiquettes ?Senioranomaliesevaluation

    En modélisant le normal pour mesurer l’écart : densité, isolation, reconstruction ou frontière. La difficulté n’est pas l’algorithme, c’est le seuil et l’absence de vérité pour le régler.

    Lire la réponse détaillée
  19. 19Comment fonctionne l’Isolation Forest ?Intermédiaireanomaliesarbres

    Elle renverse la logique habituelle : au lieu de modéliser ce qui est normal pour mesurer l’écart, elle mesure la facilité avec laquelle un point s’isole du reste.

    Le mécanisme : on construit des arbres en choisissant à chaque nœud une variable au hasard et un seuil au hasard entre son minimum et son maximum, jusqu’à isoler chaque point dans sa propre feuille. Le score d’un point est alors sa profondeur moyenne dans la forêt.

    L’intuition qui fait tout comprendre : un point situé loin des autres est séparé du nuage dès les premières coupures aléatoires, parce qu’il occupe une région vide où n’importe quel seuil le détache. Un point au cœur d’une zone dense demande beaucoup de coupures avant d’être seul. Faible profondeur, forte anomalie.

    Pourquoi c’est un bon choix par défaut :

    • Aucune distance calculée, donc pas de matrice de distances et une bonne tenue en dimension moyenne — là où LOF s’essouffle.
    • Coût quasi linéaire, et les arbres sont construits sur des sous-échantillons de quelques centaines de points : c’est utilisable sur des millions de lignes.
    • Pas de normalisation nécessaire, puisque les coupures sont des comparaisons à des seuils.
    • Aucune hypothèse de distribution.

    Les paramètres qui comptent : contamination, la proportion d’anomalies attendue, qui ne change pas les scores mais le seuil appliqué pour trancher ; et max_samples, la taille des sous-échantillons — que les auteurs recommandent de garder petite, autour de 256, parce qu’un sous-échantillon réduit isole mieux les anomalies qu’un échantillon complet où elles se noient.

    python
    detecteur = IsolationForest(contamination=0.01, max_samples=256, random_state=42)
    scores = -detecteur.fit(X).score_samples(X)   # plus le score est haut, plus c'est atypique

    Les limites à donner honnêtement :

    • Elle détecte mal les anomalies locales : un point de densité anormale au sein d’un groupe dense reste profond dans les arbres. C’est ce que LOF trouve et qu’elle rate.
    • Ses coupures sont perpendiculaires aux axes, donc elle traite mal les structures obliques — d’où la variante Extended Isolation Forest, qui utilise des coupures inclinées.
    • Le score n’est pas une probabilité. Il ordonne, il ne quantifie pas, et sa valeur absolue ne se compare pas d’un jeu de données à l’autre.
  20. 20Quelle distance choisir pour un clustering ?Intermédiairedistanceclustering

    C’est une décision aussi structurante que le choix de l’algorithme, et souvent plus : la distance définit ce que « se ressembler » veut dire pour le problème traité.

    • Euclidienne — la longueur du segment entre deux points. Le défaut, exigé par k-means, qui suppose cette distance dans sa définition même de l’inertie. Elle réagit fortement aux grands écarts sur une seule variable.
    • Manhattan — la somme des écarts en valeur absolue. Plus robuste aux valeurs extrêmes, et souvent préférable en grande dimension.
    • Cosinus — l’angle entre deux vecteurs, qui ignore leur norme. C’est la bonne distance dès que la direction compte et l’intensité non : deux textes traitent du même sujet indépendamment de leur longueur, deux clients ont la même répartition d’achats indépendamment de leur volume. C’est la norme sur les plongements.
    • Corrélation — proche de la cosinus après centrage. Utile pour regrouper des séries temporelles selon leur forme plutôt que leur niveau.
    • Jaccard — pour des ensembles ou des variables binaires : la part d’éléments communs. Le bon choix sur des paniers d’achat ou des listes d’options souscrites.
    • Gower — pour des données mixtes, numériques et catégorielles, qu’elle combine par une moyenne pondérée de distances adaptées à chaque type.
    • Distance d’édition — pour des chaînes de caractères ou des séquences, et la déformation temporelle dynamique pour des séries de longueurs différentes.

    L’exemple qui montre l’enjeu, et qu’il vaut la peine de donner : deux clients qui achètent les mêmes catégories dans les mêmes proportions, l’un dépensant dix fois plus que l’autre. En euclidien, ils sont très éloignés — le clustering séparera les gros et les petits budgets. En cosinus, ils sont quasi identiques — le clustering séparera les styles de consommation. Aucune des deux n’est fausse ; ce sont deux segmentations qui répondent à deux questions différentes, et c’est le métier qui dit laquelle il veut.

    Deux contraintes pratiques à connaître :

    • k-means impose l’euclidienne. Sa mise à jour par la moyenne n’a de sens que pour cette distance. Pour une autre distance, il faut k-médoïdes, ou une classification hiérarchique, qui accepte n’importe quelle matrice de distances.
    • Une astuce courante : sur des vecteurs normalisés en norme, la distance euclidienne devient monotone à la distance cosinus. Normaliser chaque ligne permet donc d’utiliser k-means tout en travaillant, de fait, en cosinus.
  21. 21Comment regrouper des données mixtes ?Seniorpreparationclusteringdistance

    Le problème est réel et fréquent : k-means calcule des moyennes, ce qui n’a aucun sens pour une variable catégorielle. Encoder la catégorie en un-parmi-n puis lancer k-means fonctionne mécaniquement, mais mélange deux géométries — et le résultat est difficile à défendre.

    Les quatre approches, de la plus simple à la plus fondée :

    Un-parmi-n puis k-means. L’écart entre deux modalités différentes vaut alors racine de deux, quelle que soit la paire. Cela marche à peu près quand les catégories ont peu de modalités et qu’on pondère pour qu’elles ne dominent pas le total. Le piège est là : une variable à vingt modalités devient vingt colonnes, donc pèse vingt fois plus qu’un âge normalisé.

    La distance de Gower. Elle calcule une distance adaptée à chaque type — écart normalisé pour le numérique, égalité pour le catégoriel — et en fait une moyenne pondérée. C’est la réponse propre au problème, et elle s’utilise avec une classification hiérarchique ou k-médoïdes, puisque k-means n’accepte pas une matrice de distances.

    k-prototypes. Une variante de k-means qui utilise la moyenne pour les variables numériques et le mode pour les catégorielles, avec un paramètre pondérant les deux contributions. Conçue exactement pour ce cas, et elle passe à l’échelle.

    Un plongement appris. On réduit d’abord les données mixtes à une représentation dense — auto-encodeur, ou UMAP qui accepte des métriques distinctes par bloc de variables — puis on regroupe dans cet espace. C’est ce qui donne les meilleurs résultats sur des données larges, au prix de l’interprétabilité.

    Le point de méthode qui vaut mieux que le choix de l’outil, et qu’il faut poser d’abord : les variables catégorielles doivent-elles vraiment entrer dans le clustering ? Segmenter sur le comportement — variables numériques — puis croiser les groupes obtenus avec les catégories est souvent plus utile et beaucoup plus lisible. On obtient des phrases exploitables du type « le groupe des gros acheteurs réguliers est à 70 % en région parisienne », là où un clustering mixte produit des groupes que personne ne sait décrire.

    Et la précaution qui reste vraie dans tous les cas : la pondération entre les blocs numérique et catégoriel est un choix explicite. Si on ne le fait pas, il est fait par le nombre de colonnes que produit l’encodage, ce qui n’est pas une décision.

  22. 22Comment construire une segmentation client utile ?Seniorsegmentationmetierclustering

    En partant de la décision que la segmentation doit servir, pas des données disponibles. Le nombre de groupes se déduit de ce que l’équipe peut exécuter, et chaque groupe doit se nommer en une phrase.

    Lire la réponse détaillée
  23. 23Deux exécutions donnent deux clusterings : que faire ?Seniorstabiliteevaluationkmeans

    D’abord distinguer les deux causes possibles, parce qu’elles n’appellent pas la même réponse.

    Une différence d’étiquetage seulement. Les groupes sont les mêmes, leurs numéros ont changé. C’est le cas le plus fréquent et ce n’est pas un problème : les identifiants de groupes n’ont aucune signification stable. On le vérifie par un indice de Rand ajusté entre les deux découpages — s’il vaut 0,97, il n’y a rien à corriger, seulement une numérotation à ne jamais utiliser comme référence durable.

    Une différence réelle de découpage. Les frontières ne sont pas au même endroit. Là il y a quelque chose à comprendre.

    Les causes, dans l’ordre de fréquence :

    • L’initialisation. k-means converge vers un minimum local. On corrige par k-means++ et plusieurs départs — n_init=10 — ce qui règle la plupart des cas.
    • Un k trop grand. Découper en huit groupes des données qui en contiennent trois oblige l’algorithme à trancher arbitrairement dans des zones homogènes, et il tranche différemment à chaque fois. L’instabilité est alors le symptôme d’un mauvais k, et c’est le diagnostic le plus utile qu’on puisse en tirer.
    • L’absence de structure. Si les données ne contiennent pas de groupes séparés, aucun réglage ne stabilisera le résultat. Il faut le dire, plutôt que de livrer une segmentation reproductible par germe fixé mais dépourvue de sens.
    • Des valeurs extrêmes qui déplacent les centres selon les échantillons.

    Le retournement à opérer

    La phrase qui montre la maturité : l’instabilité n’est pas seulement un défaut à masquer, c’est un critère de validation. On peut la mesurer volontairement — refaire le clustering sur des sous-échantillons et comparer les découpages par indice de Rand ajusté — puis choisir le k qui donne les résultats les plus reproductibles. C’est la sélection par stabilité, et elle est souvent plus fiable que le coude ou la silhouette.

    python
    scores = []
    
    for germe in range(20):
        echantillon = rng.choice(len(X), size=int(0.8 * len(X)), replace=False)
        scores.append(KMeans(k, random_state=germe).fit_predict(X[echantillon]))
    # puis comparer les paires de decoupages sur leurs points communs

    Et les deux mesures d’hygiène qui vont avec, indispensables dès qu’un clustering alimente un traitement en aval : fixer le germe pour la reproductibilité, et désigner les groupes par leur contenu — un profil, un nom métier — jamais par leur numéro. Le jour où le modèle est réentraîné, les numéros changent, et tout code qui s’appuyait sur « le groupe 3 » devient faux sans erreur visible.

  24. 24Un cluster contient 90 % des points : que faire ?Intermédiairediagnosticclustering

    Ce n’est presque jamais un défaut de l’algorithme : c’est un symptôme, et il faut le lire avant de changer quoi que ce soit. Les causes, dans l’ordre où on les vérifie.

    Des variables non normalisées ou très asymétriques. La cause la plus fréquente. Sur des montants ou des fréquences à longue queue, quelques valeurs énormes s’écartent tellement du reste que l’algorithme dépense ses groupes à les isoler — parfois un groupe pour trois clients — et laisse tout le monde ensemble dans le dernier. Le remède est en amont : passage au logarithme, puis standardisation, ou RobustScaler.

    Des valeurs aberrantes. Même mécanisme en plus concentré : un seul point à 1000 fois l’échelle habituelle capte un groupe entier. On les traite avant, en les écartant ou en les bornant, et on les examine — ce sont souvent des erreurs de saisie ou des comptes techniques, pas des clients.

    Une seule variable qui domine. Si une colonne a une variance très supérieure aux autres après normalisation — parce que sa distribution est bimodale, par exemple — elle décide seule du découpage. On le vérifie en profilant les groupes : si un seul écart explique tout, on a la réponse.

    Une structure réellement déséquilibrée. C’est parfois la bonne réponse : la clientèle est peut-être composée d’une masse homogène et de quelques niches. Dans ce cas, la conclusion n’est pas de forcer l’équilibre mais de reconnaître que k-means est le mauvais outil, puisqu’il favorise les groupes de tailles comparables.

    Un k mal choisi, ou une distance inadaptée — l’euclidienne quand seule la direction compte.

    Ce qu’on fait ensuite

    Deux voies, selon ce que le diagnostic a montré :

    • Changer d’algorithme. Un mélange gaussien accepte des groupes de tailles et de formes différentes ; DBSCAN isole le bruit au lieu de le ranger et ne cherche pas à équilibrer.
    • Segmenter en deux temps, ce qui est souvent la réponse la plus utile en pratique : on garde le gros groupe et on le re-segmente seul. Il y a fréquemment une structure fine à l’intérieur, invisible tant que les niches extrêmes dominaient la géométrie. Cette approche hiérarchique par étapes donne des segmentations bien plus exploitables qu’un unique clustering à grand k.

    Et le réflexe qui doit venir avant tout : regarder les points du gros groupe. Combien sont-ils, à quoi ressemblent-ils, et le métier les reconnaît-il comme un ensemble ? La réponse à cette question tranche entre « défaut de préparation » et « réalité de la clientèle » plus sûrement que n’importe quel indice.

  25. 25Qu’est-ce que l’apprentissage semi-supervisé ?Intermédiairesemi-supervisefondamentaux

    C’est apprendre à partir de quelques exemples étiquetés et de beaucoup d’exemples sans étiquette. C’est la situation réelle de la plupart des projets : des millions de lignes en base, et deux cents cas qu’un expert a pris le temps de qualifier.

    Les méthodes, par ordre de simplicité :

    L’auto-apprentissage (self-training). On entraîne un modèle sur les exemples étiquetés, on lui fait prédire les autres, on ajoute à l’entraînement ceux dont il est le plus sûr, et on recommence. Simple et efficace, avec un danger évident : les erreurs se renforcent. Une prédiction fausse mais confiante devient une étiquette, que le modèle suivant apprend comme une vérité. On s’en protège par un seuil de confiance élevé et un nombre limité d’itérations.

    Le co-apprentissage (co-training). Deux modèles voient deux ensembles de variables différents et s’étiquettent mutuellement les exemples. La diversité des points de vue limite le renforcement des erreurs.

    La propagation d’étiquettes sur un graphe de voisinage : une étiquette se diffuse aux points proches. C’est l’usage direct de l’hypothèse fondatrice du domaine.

    La pré-formation non supervisée. On apprend une représentation sur toutes les données — auto-encodeur, apprentissage contrastif — puis on entraîne un petit modèle supervisé sur cette représentation avec les quelques étiquettes disponibles. C’est l’approche moderne, et de loin la plus efficace.

    L’hypothèse à énoncer, parce qu’elle conditionne tout : les données non étiquetées ne servent que si les classes sont séparées par des zones de faible densité. Autrement dit, les points proches doivent partager la même étiquette, et la frontière doit passer dans le vide. Quand cette hypothèse est fausse, ajouter des données non étiquetées dégrade le modèle — ce n’est pas une méthode gratuite, et le savoir distingue une réponse solide.

    Et l’alternative à toujours mettre dans la balance : l’apprentissage actif. Plutôt que de deviner les étiquettes manquantes, on demande à l’expert d’étiqueter les exemples les plus informatifs — ceux dont le modèle est le moins sûr. Deux cents étiquettes bien choisies valent souvent mieux que dix mille prises au hasard, et c’est le meilleur usage du temps rare d’un expert.

  26. 26Qu’est-ce que l’apprentissage auto-supervisé ?Seniorauto-superviserepresentation

    C’est fabriquer la supervision à partir des données elles-mêmes, sans étiquette humaine. On cache une partie de l’entrée et on demande au modèle de la reconstruire : la donnée cachée est la réponse attendue, donc l’entraînement est techniquement supervisé, mais personne n’a rien annoté.

    Les tâches prétextes, par domaine :

    • Texte : prédire le mot suivant — c’est l’entraînement des modèles de type GPT — ou reconstruire des mots masqués au milieu d’une phrase, comme BERT.
    • Image : reconstruire des zones masquées, ou apprendre que deux recadrages d’une même photo doivent avoir des représentations proches et deux photos différentes des représentations éloignées. C’est l’apprentissage contrastif, dont SimCLR est l’exemple canonique.
    • Audio et séries temporelles : prédire la suite du signal, ou combler un trou.

    Ce qu’il faut dire de son importance, parce que c’est l’enjeu de la question : c’est ce qui a rendu possibles les grands modèles. Le texte du web n’est pas étiqueté, et l’étiqueter serait hors de portée ; en revanche, chaque phrase contient sa propre supervision, puisque le mot suivant est déjà écrit. L’auto-supervision est ce qui a permis de convertir un volume de données sans étiquette en capacité d’apprentissage — c’est un déverrouillage d’échelle avant d’être une technique.

    Comment on l’utilise en pratique, et c’est la partie utile en entretien : on entraîne — ou plus souvent on reprend — un modèle pré-entraîné sur une tâche prétexte, puis on l’adapte à la tâche réelle avec les quelques étiquettes qu’on possède. Un classifieur d’images entraîné sur mille exemples à partir d’un modèle pré-entraîné bat très largement le même classifieur entraîné de zéro. Le pré-entraînement a appris ce que sont des contours, des textures, des objets ; il ne reste qu’à apprendre les catégories du problème.

    La place à lui donner par rapport aux voisins : le non supervisé classique cherche une structure lisible — des groupes, des axes ; l’auto-supervisé cherche une représentation utile pour d’autres tâches. Les deux se passent d’étiquettes, mais le premier produit un résultat qu’on regarde, le second un point de départ qu’on réutilise.

    Et le lien avec la question précédente, qui montre qu’on relie les concepts : l’auto-supervision est devenue la meilleure façon de faire du semi-supervisé. Pré-entraîner sur tout le corpus disponible, puis affiner sur les deux cents exemples étiquetés, surpasse presque toujours les méthodes classiques de propagation d’étiquettes.

  27. 27À quoi servent les règles d’association ?Intermédiaireassociationmetier

    À trouver des cooccurrences fréquentes dans des ensembles : « les clients qui achètent A et B achètent souvent C ». C’est l’analyse du panier d’achat, et on la retrouve dans les rayonnages, les recommandations et l’analyse de parcours.

    Les trois mesures à savoir définir, parce que c’est exactement ce qu’on vérifie :

    • Le support — la fréquence de l’ensemble dans l’ensemble des transactions. Il élimine les combinaisons anecdotiques.
    • La confiance — parmi les paniers contenant A, la part contenant aussi B. C’est une probabilité conditionnelle.
    • Le lift — le rapport entre cette confiance et la fréquence de B en général. C’est la seule des trois qui dise quelque chose d’intéressant.

    Le piège de la question, et il faut le donner soi-même : une confiance élevée peut ne rien signifier. Si 80 % des paniers contiennent du pain, alors toute règle « X implique pain » affiche 80 % de confiance sans qu’aucun lien n’existe. Le lift vaut alors 1, et il révèle l’absence de relation que la confiance masquait. Un lift supérieur à 1 indique une association réelle, inférieur à 1 une répulsion — deux produits substituables, par exemple, ce qui est une information commerciale à part entière.

    Les algorithmes : Apriori, qui exploite le fait qu’un ensemble fréquent a tous ses sous-ensembles fréquents pour élaguer la recherche, et FP-Growth, plus rapide, qui évite les passages répétés sur les données. Le nommer suffit ; ce qu’on attend est la compréhension des mesures.

    Les limites à énoncer :

    • Le nombre de règles explose, et l’essentiel est trivial ou inexploitable. Le travail réel consiste à filtrer sur le lift, sur le support minimal et sur la pertinence métier.
    • Une association n’est pas une causalité. Le fait que A et C soient achetés ensemble ne dit pas que placer A à côté de C augmentera les ventes de C. Seul un essai le dira.
    • Sur des catalogues à des centaines de milliers de références, la méthode s’essouffle, et les approches par plongements ou par filtrage collaboratif la remplacent.

    Et l’usage qui reste imbattable : les règles d’association sont lisibles. Une règle s’écrit en une phrase qu’un responsable de rayon comprend et peut appliquer demain, ce qu’aucun système de recommandation par facteurs latents ne permet.

  28. 28Un clustering peut-il servir à un modèle supervisé ?Intermédiairemethodologiefeatures

    Oui, de trois façons, et c’est un usage souvent plus rentable que la segmentation présentée comme un livrable en soi.

    Comme variable. Le numéro de groupe, encodé en un-parmi-n, devient une colonne du modèle supervisé. Cela peut apporter une information d’interaction que le modèle aurait mis du temps à reconstruire — mais l’apport est faible sur un gradient boosting, qui trouve ces combinaisons par lui-même. Le gain réel se voit surtout sur un modèle linéaire, à qui le clustering offre une non-linéarité qu’il ne peut pas exprimer.

    Comme distances aux centres. Souvent meilleur que le numéro de groupe : on ajoute k colonnes contenant la distance du point à chaque centre. L’information est continue au lieu d’être une case, donc bien plus riche, et cela ressemble à ce que fait un noyau à base radiale.

    Comme découpage du problème. Un modèle par groupe, plutôt qu’un modèle unique avec le groupe en variable. C’est justifié quand les mécanismes diffèrent réellement d’un segment à l’autre — les facteurs de résiliation d’un client professionnel n’ont rien à voir avec ceux d’un particulier. Le prix est mécanique : chaque modèle voit moins de données, et il faut en maintenir plusieurs.

    Les deux précautions à donner, sans quoi la réponse est incomplète :

    Le clustering fait partie du pipeline. Il doit être ajusté sur l’entraînement seul, à l’intérieur de chaque bloc de validation croisée. Un k-means ajusté sur tout le jeu avant le découpage laisse fuiter la structure du test — c’est une fuite de données de manuel, et elle passe souvent inaperçue parce qu’aucune étiquette n’est en jeu.

    python
    pipeline = make_pipeline(
        StandardScaler(),
        KMeans(n_clusters=8, n_init=10, random_state=42),  # transforme en distances aux centres
        HistGradientBoostingClassifier(),
    )

    Il faut mesurer l’apport, pas le supposer. On compare la métrique avec et sans, en validation croisée. Dans une bonne part des cas, l’apport est nul — et alors il faut retirer l’étape, parce qu’un clustering en production est une chose de plus à surveiller, à réentraîner et à faire dériver.

    Et l’usage inverse, qui mérite d’être cité parce qu’il est moins connu : un modèle supervisé peut servir à valider un clustering. Si les groupes prédisent une variable qui n’a pas servi à les construire, la structure trouvée porte une information réelle.

  29. 29Comment met-on un clustering en production ?Seniorproductionmlopsclustering

    La question est moins banale qu’elle en a l’air, parce qu’un clustering n’a pas de vérité à comparer : on ne peut donc pas surveiller sa performance comme celle d’un modèle supervisé.

    Affecter un nouveau point. Tous les algorithmes ne le permettent pas, et c’est le premier critère de choix quand la production est prévue :

    • k-means et les mélanges gaussiens ont des centres, donc un predict immédiat et peu coûteux ;
    • DBSCAN et la classification hiérarchique n’en ont pas. Il faut soit recalculer, soit entraîner un classifieur supervisé sur les groupes obtenus — ce qui est la pratique courante, et une bonne réponse à donner.

    Figer la chaîne complète. Le clustering seul ne suffit pas : la normalisation, les transformations logarithmiques, l’imputation et la réduction de dimension doivent être sérialisées avec lui. Un pipeline unique, versionné, appliqué à l’identique à l’entraînement et au service.

    Stabiliser les identifiants. C’est le piège propre au sujet. Les numéros de groupes changent à chaque réentraînement : le groupe 3 d’hier n’est pas le groupe 3 d’aujourd’hui. Tout ce qui vit en aval — règles métier, tableaux de bord, campagnes — casse silencieusement. On y répond en rattachant les nouveaux groupes aux anciens par proximité de leurs centres, et en conservant un nom métier stable plutôt qu’un indice.

    Décider de la fréquence de recalcul, et l’assumer : un recalcul fréquent suit le monde mais fait basculer les clients de groupe en groupe, ce qui rend toute action de long terme incohérente. Un recalcul rare est stable et se périme. Le compromis se décide avec le métier, pas dans le code.

    Surveiller, faute de métrique. Ce qu’on peut suivre sans vérité de référence :

    • la répartition des effectifs par groupe — une bascule soudaine signale une dérive ou une panne en amont ;
    • la distance moyenne au centre — si elle monte, les nouveaux points ressemblent de moins en moins aux groupes appris ;
    • le taux de migration d’un groupe à l’autre entre deux périodes ;
    • la part de points très éloignés de tout centre, qui sont de fait hors modèle.

    Et le point de méthode à donner en conclusion, parce qu’il évite les mauvaises surprises : le clustering doit être recalculé, jamais mis à jour en continu. Ajouter des points à un k-means existant fait dériver les centres sans que personne ne l’ait décidé, et les groupes de la fin du mois ne sont plus ceux du début. Un réentraînement daté, validé, puis déployé explicitement, vaut mieux qu’une adaptation permanente et invisible.

  30. 30Quand un clustering ne sert-il à rien ?Seniormethodologiemetier

    Question de jugement, et c’est souvent celle qui départage deux candidats de niveau technique équivalent. Les cas où il faut savoir dire non :

    Quand les données n’ont pas de structure de groupes. Un algorithme renvoie toujours des groupes, y compris sur un nuage parfaitement homogène. Segmenter un continuum, c’est poser des frontières arbitraires et les présenter comme une découverte. Un indice interne très faible, ou une instabilité forte entre sous-échantillons, doit conduire à conclure qu’il n’y a rien à segmenter — et le dire est une conclusion utile, pas un échec.

    Quand la question est en fait supervisée. « Trouvez-moi les clients qui vont résilier » n’est pas un problème de clustering : c’est une prédiction, et si des cas passés existent, un modèle supervisé y répondra infiniment mieux. Un clustering ne connaît pas la cible, donc rien ne garantit que ses groupes aient un rapport avec elle. Reformuler la demande est ici la vraie valeur ajoutée.

    Quand des segments métier existent déjà et fonctionnent. Une découpe simple — par gamme, par pays, par taille de compte — est comprise de tous, stable, alignée sur l’organisation. Un clustering qui la remplacerait par des groupes que personne ne sait nommer perdra face à elle, quelle que soit sa qualité géométrique.

    Quand aucune action ne dépend du résultat. Si les groupes ne changent aucune décision — même message, même prix, même parcours — le livrable est une jolie figure. La question à poser d’emblée : que ferez-vous différemment par groupe ?

    Quand les variables ne sont pas actionnables. Segmenter sur des caractéristiques qu’on ne peut ni influencer ni utiliser produit une description, pas un levier.

    Quand la dimension est trop grande et le volume trop faible. Trois cents lignes et cinquante colonnes : les distances ne discriminent plus, et tout découpage obtenu sera un artefact.

    Quand le résultat ne sera pas maintenu. Une segmentation vit : recalcul, suivi des migrations, mise à jour des campagnes. Livrée à une équipe qui n’a pas ces moyens, elle sera périmée dans six mois sans que personne ne le remarque — et les décisions continueront de s’appuyer sur elle.

    La formulation qui conclut, et qui vaut pour tout le domaine : le clustering est un outil d’exploration, rarement un livrable en soi. Il est excellent pour comprendre un jeu de données qu’on découvre, formuler des hypothèses et préparer des variables. Le présenter comme un produit fini, sans usage ni destinataire, est la façon la plus commune de perdre trois semaines.