Types de conditions

Cette unité se concentre sur les différents types de conditions utilisés pour créer des arbres de décision.

Conditions alignées sur les axes et conditions obliques

Une condition alignée sur l'axe ne concerne qu'une seule fonctionnalité. Une condition oblique implique plusieurs éléments. Par exemple, la condition suivante est alignée sur l'axe:

num_legs ≥ 2

La condition suivante est oblique:

num_legs ≥ num_fingers

Souvent, les arbres de décision ne sont entraînés qu'avec des conditions alignées sur les axes. Cependant, les divisions obliques sont plus puissantes, car elles peuvent exprimer des modèles plus complexes. Les divisions obliques produisent parfois de meilleurs résultats, mais au détriment de coûts d'entraînement et d'inférence plus élevés.

Code YDF
Dans YDF, les arbres de décision sont entraînés avec une condition alignée sur les axes par défaut. Vous pouvez activer les arbres obliques de décision avec le paramètre split_axis="SPARSE_OBLIQUE".

La condition alignée sur l'axe est "num_legs >= 3". La condition oblique est "num_legs + weight * 5 >= 12".

Figure 4. Exemples d'une condition alignée sur l'axe et d'une condition oblique.

 

La représentation graphique des deux conditions précédentes donne la séparation de l'espace des caractéristiques suivante:

Graphique de poids par rapport à num_legs. La condition alignée sur l'axe n'ignore pas le poids et n'est donc qu'une ligne verticale. La condition oblique affiche une ligne inclinée négativement.

Figure 5. Séparation de l'espace des caractéristiques pour les conditions de la figure 4.

 

Conditions binaires et non binaires

Les conditions avec deux résultats possibles (par exemple, "vrai" ou "faux") sont appelées conditions binaires. Les arbres de décision ne contenant que des conditions binaires sont appelés arbres de décision binaires.

Les conditions non binaires ont plus de deux résultats possibles. Par conséquent, les conditions non binaires ont un pouvoir discriminatoire plus élevé que les conditions binaires. Les décisions contenant une ou plusieurs conditions non binaires sont appelées arbres de décision non binaires.

Comparaison des arbres de décision binaires et non binaires. L'arbre de décision binaire contient deux conditions binaires, tandis que l'arbre de décision non binaire contient une condition non binaire.

Figure 6: Arbres de décision binaires et non binaires.

 

Les conditions avec trop de puissance sont également plus susceptibles de surapprendre. C'est pourquoi les forêts de décision utilisent généralement des arbres de décision binaires. Ce cours s'y concentrera donc.

Le type de condition le plus courant est la condition de seuil exprimée comme suit:

featurethreshold

Exemple :

num_legs ≥ 2

Il existe d'autres types de conditions. Voici d'autres types de conditions binaires couramment utilisés:

 

Tableau 2. Types courants de conditions binaires.

Nom Condition Exemple
condition de seuil $\mathrm{feature}_i \geq \mathrm{threshold}$ $\mathrm{num\_legs} \geq 2$
condition d'égalité $\mathrm{feature}_i = \mathrm{value}$ $\mathrm{espèce} = "chat"$
condition dans l'ensemble $\mathrm{feature}_i \in \mathrm{collection}$ $\mathrm{espèce} \in \{``chat", ``chien", ``oiseau"\}$
condition oblique $\sum_{i} \mathrm{weight}_i \mathrm{feature}_i \geq \mathrm{threshold}$ $5 \ \mathrm{num\_legs} + 2 \ \mathrm{num\_eyes} \geq 10$
fonctionnalité est manquante $\mathrm{feature}_i \mathrm{is} \mathrm{Missing}$ $\mathrm{num\_legs} \mathrm{is} \mathrm{Missing}$