Si tu visualisais les règles de décision (les conditions évaluées à chaque nœud) de N'IMPORTE QUEL arbre de décision, tu les verrais TOUJOURS perpendiculaires aux axes des features, comme ci-dessous :
LE CONCEPT
Des coupes toujours perpendiculaires aux axes

Autrement dit, un arbre de décision découpe l'espace des features pas à pas, avec des frontières perpendiculaires aux axes pour séparer les données.
Ce n'est pas un « problème » en soi.
C'est même ce découpage perpendiculaire qui le rend si efficace pour faire de l'overfitting parfait sur n'importe quel dataset (lis la section sur l'expérience d'overfitting ici pour en savoir plus).
Mais cela soulève un point très intéressant, souvent négligé quand on entraîne un arbre de décision.
LE PIÈGE
Quand la frontière est diagonale
Plus précisément, que se passerait-il si ton dataset avait une frontière de décision diagonale, comme ci-dessous :

On devine facilement que, dans ce cas, la frontière apprise par un arbre de décision ressemblerait à ceci :

Et si on trace cet arbre, on constate qu'il multiplie les splits rien que pour s'adapter à ce dataset pourtant facile à séparer, alors qu'un modèle comme la régression logistique, une SVM (machine à vecteurs de support), voire un petit réseau de neurones s'en sortirait sans effort :

C'est encore plus flagrant quand on zoome sur cet arbre : les seuils de ses conditions de split sont très proches les uns des autres :

C'est un peu inquiétant : l'arbre essaie visiblement, avec minutie, d'imiter une frontière diagonale, ce qui laisse penser que ce n'est peut-être pas le meilleur modèle à retenir.
LA VÉRIFICATION
Le test : passer par une PCA
Pour en avoir le cœur net, je procède souvent ainsi :
Prends les données d'entraînement (X, y) ;
Forme de X : (n, m).
Forme de y : (n, 1).
Applique une PCA sur X pour projeter les données dans un espace orthogonal à m dimensions. Tu obtiens X_pca, dont la forme est aussi (n, m).
Entraîne un arbre de décision sur X_pca et visualise-le (heureusement, les arbres de décision sont toujours visualisables).
Si la profondeur de l'arbre est nettement plus faible dans ce cas, cela confirme qu'il existe une séparation diagonale.
Par exemple, voici les projections PCA du dataset ci-dessus :

On voit clairement que la frontière de décision sur les projections PCA est presque perpendiculaire à la feature X2 (la 2ᵉ composante principale).
Entraîner un arbre de décision sur ce X_pca réduit drastiquement sa profondeur, comme ci-dessous :

On en conclut qu'on a peut-être intérêt à utiliser un autre algorithme.
Ou alors, on peut passer un peu de temps à construire de meilleures features, avec lesquelles l'arbre de décision travaille facilement grâce à ses découpes perpendiculaires.
LA NUANCE
Inspecter sans condamner
À ce stade, tu te demandes peut-être : pourquoi ne pas simplement utiliser l'arbre entraîné sur X_pca ?
Rien ne l'interdit, mais n'oublie pas que les composantes de la PCA ne sont pas interprétables, alors que garder des features interprétables peut être important.
Alors, la prochaine fois que tu entraînes un arbre de décision, prends un moment pour inspecter ce qu'il fait.
Avant de terminer…
Avec ce post, je ne cherche pas à te dissuader d'utiliser les arbres de décision. Ce sont les briques de base de certains des modèles d'ensemble les plus puissants que nous utilisons aujourd'hui.
Mon but est de mettre en lumière la structure des arbres de décision, et de montrer pourquoi et quand ils ne sont pas forcément l'algorithme idéal.
Cela dit, savais-tu que les arbres de décision peuvent être boostés par des calculs sur tenseurs pour une inférence jusqu'à 40x plus rapide ? Découvre-le dans ce mini-cours :
Et si tu veux comprendre le fonctionnement de la PCA de bout en bout, avec tous ses détails mathématiques, lis ce mini-cours :
À retenir : Inspecte toujours ton arbre de décision après l'entraînement : ses découpes perpendiculaires aux axes peuvent le rendre mal adapté à une frontière diagonale.
Envie d'aller plus loin ? DataXp t'attend : formations et parcours pour progresser en data science, machine learning et IA.
👉 Et maintenant, à toi de jouer : Quelles autres approches utiliserais-tu pour gérer des datasets à frontière diagonale avec des modèles d'arbres de décision ?



