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).
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Défi
MoyenCré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 iciToutes les leçons de Introduction à l’apprentissage automatique
1Le début du parcours en ML
Introduction au MLLes données à fournir à un modèleQu’est-ce qu’un modèle de ML ?6Autres modèles
Régression logistiqueRégression linéaireArbre de décisionMachine à vecteurs de support (SVM)Quiz sur les modèlesEntraînez-vous par vous-même : Compilateur Python en ligne