📊 Decision Tree Live
Construisez et visualisez un arbre de décision CART étape par étape. Observez l'algorithme minimiser l'impureté de Gini G = 1−Σpᵢ² à chaque division, voir la frontière de décision émerger, et comparez le compromis profondeur de l'arbre vs précision.
À propos de Arbre de Décision — CART & Impureté de Gini
Cette simulation modélise l'algorithme CART (Classification and Regression Trees), qui construit un arbre binaire en divisant récursivement un jeu de données avec des seuils alignés sur les axes choisis pour minimiser l'impureté de Gini (G = 1 − Σpᵢ²) à chaque nœud. Vous pouvez observer la frontière de décision émerger division par division sur un nuage de points, tandis que le diagramme d'arbre en croissance montre la règle de division, la valeur de Gini et le nombre d'échantillons de chaque nœud — rendant le processus de partitionnement récursif glouton visuellement transparent.
Les arbres de décision sous-tendent de nombreux systèmes réels, des outils de triage de diagnostic médical et de notation du risque de crédit aux filtres anti-spam. L'algorithme CART, introduit par Breiman et al. en 1984, est devenu plus tard le bloc de construction des méthodes d'ensemble telles que les forêts aléatoires et les arbres à gradient boosté qui dominent aujourd'hui l'apprentissage automatique sur données structurées.
Questions Fréquentes
Qu'est-ce que l'impureté de Gini et pourquoi CART la minimise-t-il ?
L'impureté de Gini G = 1 − Σpᵢ² mesure la fréquence à laquelle un échantillon choisi au hasard dans un nœud serait mal classé s'il était étiqueté selon la distribution des classes de ce nœud. Un nœud parfaitement pur (une seule classe) a G = 0, tandis qu'une division binaire 50/50 atteint le maximum de 0,5. CART choisit la division qui offre la plus grande réduction pondérée de Gini entre les deux nœuds enfants car elle est peu coûteuse en calcul (pas de logarithme) et corrèle étroitement avec le critère d'entropie théoriquement idéal.
Comment les contrôles de la simulation modifient-ils l'arbre ?
Profondeur Max (1–6) plafonne le nombre de niveaux que l'arbre peut atteindre : des arbres plus profonds découpent des régions plus fines et atteignent une précision d'entraînement plus élevée mais risquent le surapprentissage. Échantillon Min par Feuille (1–20) bloque toute division qui laisserait moins de ce nombre de points dans un enfant, gardant les feuilles statistiquement significatives. Points d'Échantillon (40–200) fixe la taille du jeu de données. Utilisez Pause/Lecture pour parcourir la révélation nœud par nœud et observer la frontière de décision se former ; appuyez sur Réinitialiser pour régénérer avec les paramètres actuels.
Pourquoi le motif XOR a-t-il besoin de plus de profondeur que le motif de Séparation Linéaire ?
Les arbres de décision ne font que des coupes alignées sur les axes, donc la frontière entre les classes doit être approximée par une série de rectangles. Le jeu de données XOR n'a pas de division horizontale ou verticale unique et utile près de la racine — les classes s'entrelacent dans les quatre quadrants — donc l'arbre a besoin d'au moins une profondeur de 2 juste pour commencer à les séparer. La Séparation Linéaire, en revanche, peut être capturée raisonnablement bien avec une diagonale unique approximée par seulement une ou deux divisions alignées sur les axes, menant à un arbre moins profond et plus simple.
Quelle est la formule mathématique derrière la recherche de la meilleure division ?
Pour une division candidate divisant l'ensemble parent S en enfant gauche L et enfant droit R, le gain d'information est ΔGini = Gini(S) − (|L|/|S|) · Gini(L) − (|R|/|S|) · Gini(R). CART évalue chaque point médian entre les valeurs triées consécutives de chaque caractéristique et choisit la paire (caractéristique, seuil) avec le ΔGini maximum. L'importance d'une caractéristique est la somme des réductions de Gini pondérées par le nombre d'échantillons du nœud sur toutes les divisions d'une caractéristique donnée, normalisée pour que toutes les caractéristiques totalisent 1.
Comment les arbres de décision sont-ils utilisés dans des applications réelles ?
Les arbres de décision apparaissent dans le triage médical (par exemple, évaluer le risque de septicémie à partir des signes vitaux), la notation de crédit (probabilité de défaut de prêt), la détection de fraude et la prédiction de l'attrition client. Un seul arbre peu profond est souvent utilisé comme référence interprétable car chaque chemin de décision peut être exprimé en une règle en langage clair telle que « si revenu > 40 000 et ratio d'endettement < 0,3, approuver ». Les arbres plus profonds et les ensembles (forêts aléatoires, XGBoost) échangent cette transparence contre une précision plus élevée sur des jeux de données complexes.
Quelle est l'idée fausse courante sur les arbres de décision et le surapprentissage ?
Une idée fausse fréquente est qu'un arbre plus profond est toujours meilleur car il atteint 100 % de précision d'entraînement. En réalité, un arbre non contraint mémorise le bruit des données d'entraînement et généralise mal aux nouveaux échantillons — c'est le surapprentissage. La solution est la régularisation : limiter la profondeur maximale, exiger un nombre minimum d'échantillons par feuille, ou appliquer un élagage par complexité de coût (alpha · |feuilles|) pour pénaliser la complexité. La validation croisée est utilisée pour choisir ces hyperparamètres.
Qui a inventé CART et quand a-t-il été introduit ?
L'algorithme CART a été introduit en 1984 par Leo Breiman, Jerome Friedman, Richard Olshen et Charles Stone dans leur livre « Classification and Regression Trees ». Breiman s'est ensuite appuyé sur CART pour développer le bagging (1996) et les forêts aléatoires (2001), tandis que Friedman l'a étendu au gradient boosting (1999–2001). Ces trois méthodes ont collectivement transformé l'apprentissage automatique sur données tabulaires et restent largement utilisées des décennies plus tard.
Comment les arbres de décision se rapportent-ils aux forêts aléatoires et au gradient boosting ?
Une forêt aléatoire entraîne des centaines d'arbres CART sur des échantillons bootstrap des données, chacun considérant un sous-ensemble aléatoire de caractéristiques à chaque division, puis moyenne leurs prédictions. Cela réduit la variance sans augmenter significativement le biais. Le gradient boosting, au contraire, entraîne les arbres séquentiellement, chacun ajustant les erreurs résiduelles de l'ensemble jusqu'ici, ce qui réduit le biais. Les deux méthodes héritent de l'interprétabilité des divisions individuelles mais sont bien plus précises sur des jeux de données complexes que n'importe quel arbre unique.
Les arbres de décision peuvent-ils gérer la régression aussi bien que la classification ?
Oui — c'est le R dans CART. Pour la régression, chaque feuille prédit la moyenne des valeurs cibles des échantillons qu'elle contient, et les divisions sont choisies pour minimiser la somme des carrés des résidus plutôt que l'impureté de Gini. Le diagramme de l'arbre et la logique de partitionnement récursif sont identiques ; seuls la prédiction de la feuille et le critère de division changent. Cette simulation se concentre sur la classification binaire, mais le même algorithme avec la MSE comme critère produit des arbres de régression utilisés dans les modèles de prix immobiliers et de prévision de la demande.
Quelles sont les directions de recherche actuelles pour améliorer les arbres de décision ?
Les domaines de recherche actifs incluent les arbres de décision différentiables (souples) qui peuvent être entraînés de bout en bout par descente de gradient et intégrés dans des réseaux de neurones, les arbres obliques qui utilisent des combinaisons linéaires de caractéristiques plutôt que des divisions alignées sur les axes pour capturer les frontières diagonales plus efficacement, et les arbres causaux qui estiment les effets de traitement hétérogènes dans des expériences randomisées. La recherche en interprétabilité se concentre aussi sur les méthodes d'explication post-hoc (valeurs SHAP) qui décomposent la prédiction de n'importe quel ensemble d'arbres en contributions par caractéristique.
À propos de cette simulation
Cette simulation construit un arbre de décision CART sur un jeu de données bidimensionnel et révèle chaque nœud un par un. À chaque division, elle recherche dans les deux caractéristiques le seuil qui minimise l'impureté de Gini pondérée des nœuds enfants, G = 1 − Σpᵢ², produisant des coupes alignées sur les axes. Vous observez la frontière de décision se former sur le nuage de points tandis que le diagramme d'arbre correspondant grandit, ce qui permet de voir facilement comment le partitionnement récursif glouton échange profondeur contre précision et comment chaque caractéristique contribue au modèle.
🔬 Ce que ça montre
Un arbre de classification appris avec l'algorithme CART. Pour chaque seuil candidat sur la Caractéristique X ou la Caractéristique Y, il calcule le gain d'information ΔGini = Gini(parent) − (|L|/|S|)·Gini(L) − (|R|/|S|)·Gini(R) et conserve la meilleure division. La vue en nuage de points montre les régions de décision rectangulaires résultantes et les lignes de division en pointillés ; la vue en arbre montre les nœuds étiquetés avec leur règle de division, leur valeur de Gini et leur nombre d'échantillons.
🎮 Comment utiliser
Choisissez un jeu de données avec les boutons de préréglage (Sép. Linéaire, XOR, Two Moons, Aléatoire). Le curseur Profondeur Max (1–6) plafonne la profondeur de croissance de l'arbre, Échantillon Min par Feuille (1–20) bloque les divisions qui laisseraient trop peu de points, et Points d'Échantillon (40–200) fixe la taille du jeu de données. Utilisez Pause/Lecture pour parcourir la révélation nœud par nœud et Réinitialiser pour régénérer. Les statistiques affichent nœuds, feuilles, profondeur, précision et Gini racine.
💡 Le saviez-vous ?
L'impureté de Gini et l'entropie produisent généralement des arbres très similaires, mais Gini est moins coûteux car il évite le logarithme de l'entropie. Un nœud parfaitement pur, ne contenant qu'une seule classe, a un Gini de 0, tandis qu'une division binaire 50/50 atteint le maximum de 0,5.
Questions fréquentes
Qu'est-ce qu'un arbre de décision CART ?
CART (Classification and Regression Trees) est une méthode d'apprentissage supervisé qui partitionne récursivement l'espace des caractéristiques avec des divisions alignées sur les axes. Chaque nœud interne teste une caractéristique par rapport à un seuil et envoie les points à gauche ou à droite, tandis que chaque feuille attribue la classe majoritaire des échantillons qui l'atteignent. Ici, il classe les points en deux couleurs, Classe 0 et Classe 1.
Comment choisit-il où diviser ?
À chaque nœud, l'algorithme trie les points sur chaque caractéristique et essaie le point médian entre les valeurs consécutives comme seuil. Il sélectionne la division avec la plus grande réduction d'impureté de Gini, ΔGini = Gini(parent) − (|L|/|S|)·Gini(L) − (|R|/|S|)·Gini(R). Ce choix glouton et localement optimal est répété jusqu'à ce qu'une règle d'arrêt stoppe la croissance.
Que font les contrôles Profondeur Max et Échantillon Min par Feuille ?
Profondeur Max limite le nombre de niveaux que l'arbre peut atteindre, donc un arbre plus profond peut découper des régions plus fines mais risque le surapprentissage. Échantillon Min par Feuille refuse toute division qui mettrait moins de ce nombre de points dans un nœud enfant, ce qui garde les feuilles statistiquement significatives. Ensemble, ils régularisent l'arbre et vous permettent d'explorer le compromis profondeur-précision.
La simulation est-elle un modèle précis des arbres de décision réels ?
Oui, la logique centrale reflète un classifieur CART standard : recherche exhaustive de seuil, gain basé sur Gini, feuilles à vote majoritaire et importance des caractéristiques mesurée comme réduction totale de Gini par caractéristique. Elle est simplifiée à deux caractéristiques et des classes binaires pour plus de clarté, et utilise un pré-élagage via des limites de profondeur et de feuille plutôt que l'élagage par complexité de coût utilisé dans les bibliothèques de production.
Pourquoi les arbres ont-ils du mal avec les motifs XOR et Two Moons ?
Les arbres de décision ne font que des coupes alignées sur les axes, donc les frontières lisses ou diagonales doivent être approximées par de nombreux petits rectangles. Des motifs comme XOR et Two Moons n'ont pas de division unique et utile alignée sur les axes près de la racine, donc l'arbre a besoin de profondeur supplémentaire et produit une frontière en escalier. Cette limitation est l'une des raisons pour lesquelles des ensembles comme les forêts aléatoires et le gradient boosting combinent plusieurs arbres.
Arbre de décision CART avec division par impureté de Gini ; les divisions alignées sur les axes émergent niveau par niveau sur les données XOR, Moons et Blobs. La croissance automatique anime la profondeur 0→8.
3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install