Menu
CoddyTech

Arbre de décision

Leçon 17 sur 19 du cours Introduction à l’apprentissage automatique de Coddy.

Un arbre de décision est un modèle non linéaire utilisé pour les tâches de classification et de régression. Il reflète la prise de décision humaine de plus près que d'autres algorithmes, ce qui le rend à la fois intuitif et puissant pour gérer des ensembles de données complexes. À la base, un arbre de décision divise les données en sous-ensembles à l'aide d'une série de règles simples, ce qui revient à poser une série de questions par oui/non sur les caractéristiques des points de données.
 

Source : wikipedia

Visualisez un arbre de décision comme un graphique en forme d'arbre, où :

  • Chaque nœud interne représente un « test » sur un attribut (par exemple, si un tirage à pile ou face donne face ou pile), 
  • Chaque branche représente le résultat du test, et
  • Chaque nœud feuille représente une étiquette de classe (décision prise après avoir calculé tous les attributs).

Types d'arbres de décision :

  • Arbres de classification : Utilisés lorsque le résultat prédit est la classe à laquelle appartiennent les données.
  • Arbres de régression : Utilisés lorsque le résultat prédit peut être considéré comme un nombre réel (par exemple, le prix d'une maison).


 

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

challenge icon

Défi

Moyen

Créez une fonction nommée decide_outcome qui reçoit une liste de règles au format suivant :

rules = {
	rule1: {"type": "bigger", "value": 5},
	rule2: {"type": "smaller", "value": 7},

}

Et elle reçoit vers quelle règle procéder si le résultat est atteint ou non :

outcome = {
	"rule1": {True: "rule2", False: "rule3"},
	"rule2": {True: "rule3", False: "rule4"},
	"rule3": {True: None, False: None}
	"rule4": {True: None, False: None}

}
data_point = {
	"rule1": 8,
	"rule2": 10,
}

La sortie devrait être rule4

  • 8 is bigger than 5 (True) → aller à rule2 à partir de ceci "rule1": {True: "rule2", False: "rule3"},
  • 10 is smaller than 7 (False) → aller à rule4 à partir de ceci "rule2": {True: "rule3", False: "rule4"},
  • Il n'y a pas d'autres moyens de continuer, donc la sortie est rule4

Commencez toujours par <strong>rule1</strong>

Essayez vous-même

def decide_outcome(rules, outcome, point):
    current_rule = "rule1"
    # Écrivez votre code ici

Toutes les leçons de Introduction à l’apprentissage automatique

Entraînez-vous par vous-même : Compilateur Python en ligne