Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Prévention du Surapprentissage dans les Arbres de Décision | Arbre de Décision
Classification avec Python

bookPrévention du Surapprentissage dans les Arbres de Décision

Avant d’aborder l’implémentation d’un arbre de décision en Python, il est essentiel d’évoquer un sujet important : le surapprentissage – le principal défi associé aux arbres de décision.

Voici un exemple illustrant comment l’arbre de décision s’ajuste à l’ensemble de données. Remarquer comment le modèle s’adapte aux données d’entraînement, en capturant leurs motifs et subtilités :

Bien que le modèle s’ajuste parfaitement à l’ensemble d’entraînement sans commettre d’erreurs de classification, le problème réside dans le fait que les frontières de décision sont trop complexes. Par conséquent, la précision sur l’ensemble de test (ou en validation croisée) sera nettement inférieure à celle de l’ensemble d’entraînement, ce qui indique que le modèle surapprend.

La raison en est que le modèle effectue autant de divisions que nécessaire pour s’ajuster parfaitement aux données d’entraînement.

Heureusement, l’arbre de décision est hautement configurable, ce qui permet d’ajuster ses hyperparamètres afin de réduire le surapprentissage.

Profondeur maximale de l'arbre

Profondeur d'un nœud : distance (verticale) entre le nœud et le nœud racine.

Il est possible de limiter la profondeur maximale d'un arbre de décision, ce qui le rend plus petit et réduit le risque de surapprentissage. Pour cela, les nœuds de décision atteignant la profondeur maximale deviennent des feuilles.

Voici également un gif illustrant comment la frontière de décision évolue selon différentes valeurs de profondeur maximale :

Nombre minimum d'échantillons

Une autre façon de contraindre l'arbre consiste à définir le nombre minimum d'échantillons sur les nœuds feuilles. Cela rendra le modèle plus simple et plus robuste face aux valeurs aberrantes.

Vous pouvez observer comment cet hyperparamètre influence la frontière de décision :

Ces deux hyperparamètres sont disponibles dans l’implémentation de l’arbre de décision de scikit-learn.
Par défaut, l’arbre n’est pas contraint : max_depth est défini sur None, ce qui signifie qu’il n’y a pas de limite de profondeur, et min_samples_leaf est défini sur 1.

question mark

Choisissez l'affirmation INCORRECTE.

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 3

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Awesome!

Completion rate improved to 4.17

bookPrévention du Surapprentissage dans les Arbres de Décision

Glissez pour afficher le menu

Avant d’aborder l’implémentation d’un arbre de décision en Python, il est essentiel d’évoquer un sujet important : le surapprentissage – le principal défi associé aux arbres de décision.

Voici un exemple illustrant comment l’arbre de décision s’ajuste à l’ensemble de données. Remarquer comment le modèle s’adapte aux données d’entraînement, en capturant leurs motifs et subtilités :

Bien que le modèle s’ajuste parfaitement à l’ensemble d’entraînement sans commettre d’erreurs de classification, le problème réside dans le fait que les frontières de décision sont trop complexes. Par conséquent, la précision sur l’ensemble de test (ou en validation croisée) sera nettement inférieure à celle de l’ensemble d’entraînement, ce qui indique que le modèle surapprend.

La raison en est que le modèle effectue autant de divisions que nécessaire pour s’ajuster parfaitement aux données d’entraînement.

Heureusement, l’arbre de décision est hautement configurable, ce qui permet d’ajuster ses hyperparamètres afin de réduire le surapprentissage.

Profondeur maximale de l'arbre

Profondeur d'un nœud : distance (verticale) entre le nœud et le nœud racine.

Il est possible de limiter la profondeur maximale d'un arbre de décision, ce qui le rend plus petit et réduit le risque de surapprentissage. Pour cela, les nœuds de décision atteignant la profondeur maximale deviennent des feuilles.

Voici également un gif illustrant comment la frontière de décision évolue selon différentes valeurs de profondeur maximale :

Nombre minimum d'échantillons

Une autre façon de contraindre l'arbre consiste à définir le nombre minimum d'échantillons sur les nœuds feuilles. Cela rendra le modèle plus simple et plus robuste face aux valeurs aberrantes.

Vous pouvez observer comment cet hyperparamètre influence la frontière de décision :

Ces deux hyperparamètres sont disponibles dans l’implémentation de l’arbre de décision de scikit-learn.
Par défaut, l’arbre n’est pas contraint : max_depth est défini sur None, ce qui signifie qu’il n’y a pas de limite de profondeur, et min_samples_leaf est défini sur 1.

question mark

Choisissez l'affirmation INCORRECTE.

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 3
some-alt