Decision Tree


Lire un arbre

On veut prédire si une personne va décrocher un CDI ou non. Après avoir lancé l’algorithme, on a obtenu l’arbre suivant:

Pour prédire si la personne ayant les caractéristiques “{Experience:0, Employed:0, Previous jobs:0, Education level:0, Top-tier school:1, Interned:1}” va être engagée, on commence à partir du haut:

  1. On lit la condition: interned <= 0.5.
    La personne a-t-elle fait un stage dans l’entreprise?

  2. On suit la branche appropriée à notre cas.
    Dans notre cas, Interned vaut 1 donc “Interned <= 0.5” est faux: on va vers la droite.

  3. S’il s’agit d’une feuille (le bloc ne contient pas de condition, comme c’est le cas ici), alors on peut d’ores et déjà donner une prédiction.

    Le bloc indique que, dans notre dataset, 5 personnes étaient dans cette situation (samples = 5).
    Sur les 5 personnes, 0 ont reçus un Non et 5 ont reçus un Oui (value = [0, 5]).
    Il est plus probable d’obtenir un Oui qu’un Non, donc on prédit Oui.

  4. S’il s’agit d’un noeud (si le bloc contient une condition, comme ça aurait le cas si on avait pris la branche de gauche), alors on reprend le processus à partir de l’étape 1 avec la nouvelle condition — et on répète jusqu’à finir sur une feuille.

Terminologie


Construire un arbre

CART

Gini

Entropy

Métrique décrite par l’algorithme Iterative Dichotomous (ID3).

Misclassification error

Intervalle entre 0 et 0.5

\[\text{Error} = 1 - max P(i)\]

Optimisations

Les Decision Tree ont tendance à être sur-ajustés aux données.

Pruning

L’algorithme C4.5 (très similaire à ID3 et CART) introduit un concept supplémentaire: l’élagage (pruning en anglais), qui consiste à réduire la complexité de l’arbre pour réduire les risques d’être sur-ajusté aux données.

Pour & Contre