Arbres de décision

Les modèles de forêt de décision sont composés d'arbres de décision. Les algorithmes d'apprentissage des forêts d'arbres décisionnels (comme les forêts d'arbres aléatoires) reposent, au moins en partie, sur l'apprentissage des arbres de décision.

Dans cette section du cours, vous allez étudier un petit exemple d'ensemble de données et apprendre à entraîner un seul arbre de décision. Dans les sections suivantes, vous allez découvrir comment les arbres de décision sont combinés pour entraîner des forêts d'arbres de décision.

Code YDF

Dans YDF, utilisez l'apprenant CART pour entraîner des modèles d'arbres de décision individuels:

# https://ydf.readthedocs.io/en/latest/py_api/CartLearner
import ydf
model = ydf.CartLearner(label="my_label").train(dataset)

Modèle

Un arbre de décision est un modèle composé d'un ensemble de "questions" organisées de manière hiérarchique en forme d'arbre. Les questions sont généralement appelées condition, fractionnement ou test. Nous utiliserons le terme "condition" dans cette classe. Chaque nœud non feuille contient une condition, et chaque nœud feuille contient une prédiction.

Les arbres botaniques poussent généralement avec la racine en bas. Toutefois, les arbres de décision sont généralement représentés avec la racine (le premier nœud) en haut.

Arbre de décision contenant deux conditions et trois feuilles. La première condition (la racine) est num_legs >= 3. La deuxième condition est num_eyes >= 3. Les trois feuilles sont un manchot, une araignée et un chien.

Figure 1. Arbre de décision de classification simple. La légende en vert ne fait pas partie de l'arborescence de décision.

 

L'inférence d'un modèle d'arbre de décision est calculée en acheminant un exemple de la racine (en haut) vers l'un des nœuds de feuille (en bas) en fonction des conditions. La valeur de la feuille atteinte correspond à la prédiction de l'arbre de décision. L'ensemble des nœuds visités est appelé chemin d'inférence. Prenons l'exemple des valeurs de fonctionnalité suivantes:

num_legs num_eyes
4 2

La prédiction sera chien. Le chemin d'inférence est le suivant:

  1. num_legs ≥ 3 → Oui
  2. num_eyes ≥ 3 → Non

Même illustration que la figure 1, mais cette illustration montre le chemin d'inférence sur deux conditions, se terminant par la feuille pour chien.

Figure 2. Chemin d'inférence qui aboutit à la feuille "chien" dans l'exemple "{num_legs : 4, num_eyes : 2}".

 

Dans l'exemple précédent, les feuilles de l'arbre de décision contiennent des prédictions de classification. Autrement dit, chaque feuille contient une espèce animale parmi un ensemble d'espèces possibles.

De même, les arbres de décision peuvent prédire des valeurs numériques en étiquetant les feuilles avec des prédictions de régression (valeurs numériques). Par exemple, l'arbre de décision suivant prédit un score numérique de mignonnerie d'un animal compris entre 0 et 10.

Arbre de décision dans lequel chaque feuille contient un nombre à virgule flottante différent.

Figure 3. Arbre de décision qui effectue des prédictions numériques.