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 de décision (comme les forêts d'arbres décisionnels) s'appuient, 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 comment un seul arbre de décision est entraîné. Dans les sections suivantes, vous découvrirez comment les arbres de décision sont combinés pour entraîner des forêts de décision.

Code YDF

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

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

Le modèle

Un arbre de décision est un modèle composé d'un ensemble de "questions" organisées hiérarchiquement sous la forme d'un arbre. Les questions sont généralement appelées une condition, une partition ou un test. Nous utiliserons le terme "condition" dans ce cours. 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 par 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 pingouin,
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'arbre 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 feuilles (en bas) en fonction des conditions. La valeur de la feuille atteinte est la prédiction de l'arbre de décision. L'ensemble de nœuds visités est appelé chemin d'inférence. Prenons l'exemple des valeurs de caractéristiques suivantes:

num_legs num_eyes
4 2

La prédiction serait 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 qui montre le chemin d'inférence entre deux conditions, se terminant par la feuille pour "dog".

Figure 2. Chemin d'inférence qui se termine par 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, c'est-à-dire que 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 régressives (valeurs numériques). Par exemple, l'arbre de décision suivant prédit un score de côté mignon 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 une prédiction numérique.