Guide de débutant pour les arbres de décision en R
Salut à toi, futur.e data scientist.e ! Aujourd'hui, nous allons entreprendre un voyage passionnant dans le monde des arbres de décision en utilisant R. Ne t'inquiète pas si tu n'as jamais codé auparavant - je serai ton guide amical à chaque étape. À la fin de ce tutoriel, tu seras capable de créer tes propres arbres de décision et de te sentir comme un véritable magicien des données !
Qu'est-ce qu'un arbre de décision ?
Avant de plonger dans le code, comprenons ce qu'est un arbre de décision. Imagine que tu essaies de décider si tu dois aller courir ou non. Tu pourrais te poser les questions suivantes :
- Pleut-il ?
- Ai-je assez de temps ?
- Me sens-je énergique ?
Sur la base de tes réponses, tu prends une décision. C'est essentiellement ce qu'un arbre de décision fait - il prend des décisions sur la base d'une série de questions !
Installation des packages nécessaires
Premièrement, nous devons nous équiper des bons outils. En R, ces outils sont appelés packages. Pour notre aventure avec les arbres de décision, nous aurons besoin de deux packages principaux : rpart
et rpart.plot
.
Installons-les :
install.packages("rpart")
install.packages("rpart.plot")
Maintenant, chargeons ces packages :
library(rpart)
library(rpart.plot)
Félicitations ! Tu viens de faire tes premiers pas en programmation R. Tape-toi sur l'épaule !
Création d'un jeu de données simple
Maintenant que nous avons nos outils prêts, créons un jeu de données simple avec lequel travailler. Imaginons que nous essayons de prédire si quelqu'un va acheter de la glace en fonction de la température et du fait que c'est un week-end ou un jour ouvré.
# Création d'un data frame
ice_cream_data <- data.frame(
temperature = c(68, 85, 72, 90, 60, 78, 82, 75, 68, 71),
is_weekend = c(0, 1, 0, 1, 0, 1, 1, 0, 1, 0),
buy_icecream = c(0, 1, 0, 1, 0, 1, 1, 0, 1, 0)
)
# Visualisation des données
print(ice_cream_data)
Dans ce jeu de données :
-
temperature
est en Fahrenheit -
is_weekend
est 1 pour un week-end, 0 pour un jour ouvré -
buy_icecream
est 1 s'ils ont acheté de la glace, 0 sinon
Construction de notre premier arbre de décision
Passons à la partie passionnante - construisons notre arbre de décision !
# Création du modèle d'arbre de décision
ice_cream_tree <- rpart(buy_icecream ~ temperature + is_weekend,
data = ice_cream_data,
method = "class")
# Tracé de l'arbre
rpart.plot(ice_cream_tree, extra = 106)
Voici ce qui se passe ici :
-
rpart()
est la fonction que nous utilisons pour créer l'arbre de décision. -
buy_icecream ~ temperature + is_weekend
indique à R que nous voulons prédirebuy_icecream
en fonction detemperature
etis_weekend
. -
data = ice_cream_data
spécifie notre jeu de données. -
method = "class"
indique à R que nous effectuons une tâche de classification (prédiction d'une catégorie). -
rpart.plot()
crée une représentation visuelle de notre arbre.
Lorsque tu exécuteras ce code, tu verras un joli diagramme d'arbre. Chaque nœud montre une règle de décision, et les feuilles montrent les prédictions. C'est comme un tableau de bord des décisions de glace !
Compréhension de l'arbre
Interprétons notre arbre de glace :
- Le nœud principal (racine) montre le premier fractionnement. Il pourrait être quelque chose comme "temperature < 76".
- Si vrai (oui), il va vers le branches gauche ; si faux (non), il va vers la branches droite.
- Ce processus continue jusqu'à ce qu'il atteigne un nœud feuille, qui donne la prédiction finale.
Les nombres dans les nœuds représentent :
- La classe prédite (0 ou 1)
- La probabilité de cette classe
- Le pourcentage d'observations dans ce nœud
Faire des prédictions
Maintenant que nous avons notre arbre, utilisons-le pour faire des prédictions !
# Création de nouvelles données
new_data <- data.frame(
temperature = c(70, 95),
is_weekend = c(1, 0)
)
# Faire des prédictions
predictions <- predict(ice_cream_tree, new_data, type = "class")
# Visualisation des prédictions
print(predictions)
Ce code prédit si quelqu'un achètera de la glace lors d'un week-end à 70°F et un jour ouvré à 95°F.
Évaluation du modèle
Pour voir comment notre modèle se comporte, nous pouvons utiliser une matrice de confusion :
# Faire des prédictions sur notre jeu de données original
predictions <- predict(ice_cream_tree, ice_cream_data, type = "class")
# Création de la matrice de confusion
confusion_matrix <- table(Actual = ice_cream_data$buy_icecream, Predicted = predictions)
# Visualisation de la matrice de confusion
print(confusion_matrix)
# Calcul de la précision
accuracy <- sum(diag(confusion_matrix)) / sum(confusion_matrix)
print(paste("Précision:", accuracy))
Cela nous donne un aperçu rapide du nombre de prédictions correctes et incorrectes.
Conclusion
Félicitations ! Tu viens de construire ton premier arbre de décision en R. De l'installation des packages à la fabrication des prédictions, tu as couvert beaucoup de terrain. Souviens-toi, la pratique rend parfait, donc n'ait pas peur d'expérimenter avec différents jeux de données et paramètres.
Voici un résumé rapide des méthodes que nous avons utilisées :
Méthode | Description |
---|---|
install.packages() | Installe des packages R |
library() | Charge des packages installés |
data.frame() | Crée un data frame |
rpart() | Construit un arbre de décision |
rpart.plot() | Visualise l'arbre de décision |
predict() | Fait des prédictions à l'aide de l'arbre |
table() | Crée une matrice de confusion |
Continue d'explorer, continue d'apprendre, et surtout, amuse-toi avec la science des données !
Credits: Image by storyset