Vue d'ensemble de l'arbre de décision dans R
Un arbre de décision en r est une forme d'apprentissage supervisé utilisé pour rectifier les problèmes de classification et de régression. Il s'agit d'un algorithme d'apprentissage machine puissant pour travailler avec des ensembles de données très complexes. Le concept de base derrière l'arbre de décision est de diviser l'ensemble de données donné. Pour parcourir cet article, il est suggéré d'avoir des concepts d'apprentissage de base sur l'algorithme d'arbre de décision.
Arbre de décision en R
Pour travailler avec un arbre de décision en R ou en termes simples, il est nécessaire de travailler avec des ensembles de données volumineux et l'utilisation directe des packages R intégrés facilite le travail. Un arbre de décision est un modèle d'hypothèse non linéaire qui utilise une structure arborescente pour classer les relations. L'arbre de décision dans R utilise deux types de variables: la variable catégorielle (Oui ou Non) et les variables continues. Les terminologies de l'arbre de décision comprenant le nœud racine (forme un label de classe), les nœuds de décision (sous-nœuds), le nœud terminal (ne se divisent plus). Le concept unique derrière cette approche d'apprentissage automatique est qu'ils classent les données données en classes qui forment un flux oui ou non (approche if-else) et représentent les résultats dans une structure arborescente. L'algorithme utilisé dans l'arbre de décision dans R est l'indice de Gini, le gain d'information, l'entropie. Différents packages sont disponibles pour construire un arbre de décision dans R: rpart (récursif), party, random Forest, CART (classification et régression). Il est assez facile d'implémenter un arbre de décision dans R.
Pour une analyse claire, l'arbre est divisé en groupes: un ensemble de formation et un ensemble de test. L'implémentation suivante utilise un jeu de données de voiture. Cet ensemble de données contient 1727 obs et 9 variables, avec lesquelles l'arbre de classification est construit. Dans cet article, nous allons arborer un package 'party'. La fonction create () donne des arbres conditionnels avec la fonction plot.
Implémentation à l'aide de R
L'objectif est d'étudier un ensemble de données de voiture pour prédire si une valeur de voiture est élevée / faible et moyenne.
i) Préparation des données
Installation des packages et des bibliothèques de chargement
Ce module lit l'ensemble de données comme un bloc de données complet et la structure des données est donnée comme suit:
data<-car // Reading the data as a data frame
str(data) // Displaying the structure and the result shows the predictor values.
Production:
Determining Factordata$vhigh View(car)
> data<-car
ii) Partitionner une donnée
Fractionner les données à l'aide d'ensembles de données d'entraînement. Un arbre de décision est divisé en sous-nœuds pour avoir une bonne précision. La complexité est déterminée par la taille de l'arbre et le taux d'erreur. Ici, faire de la reproductivité et générer un certain nombre de lignes.
set. Seed (1234)
dt<-sample (2, nrow(data), replace = TRUE, prob=c (0.8, 0.2))
validate<-data(dt==2, )
Fig : Affichage des valeurs de données
Ensuite, rendre la valeur des données à 2
validate<-data(dt==2, )
Fig : Affichage de la console R dans R Studio
Création d'un arbre de décision dans R avec la partie package
- Cliquez sur package-> install -> party. Ici, nous avons pris les trois premières entrées de l'échantillon de 1727 observations sur des ensembles de données. Création d'un modèle pour prédire haut, bas, moyen parmi les entrées.
La mise en oeuvre:
library(party)
tree<-ctree(v~vhigh+vhigh.1+X2, data = train)
tree
Production:
Tracés utilisant Ctree
Prédiction:
Prob génère une probabilité de score,
La mise en oeuvre:
predict(tree, validate, type="prob")
predict(tree, validate)
Niveaux: haut bas bas v haut
Arbre de décision utilisant rpart
Pour prédire la classe en utilisant la fonction rpart () pour la méthode de classe. rpart () utilise la mesure d'index de Gini pour diviser les nœuds.
library(rpart)
tr<-rpart (v~vhigh+vhigh.1+X2, train)
library (rpart. plot)
rpart. plot(tr)
"
rpart.plot(tr, extra=2)
Cette ligne trace l'arbre et pour afficher la probabilité de créer des fonctionnalités supplémentaires pour définir 2 et le résultat produit est donné ci-dessous.
Erreur de classification erronée
Le taux d'erreur empêche le sur-ajustement.
tbl<-table(predict(tree), train $v)
print(tbl)
tepre<-predict(tree, new=validate)
Production:
imprimer (tbl)
haut bas med vhigh
élevé 332 0 0 0
faible 0 359 0 0
med 0 0 350 0
vhigh 0 0 0 351
Conclusion
L'arbre de décision est un défi clé dans R et la force de l'arbre est qu'il est facile à comprendre et à lire par rapport à d'autres modèles. Ils sont couramment utilisés dans les problèmes de science des données. Ce sont les outils qui produisent la hiérarchie des décisions mises en œuvre dans l'analyse statistique. Des connaissances statistiques sont nécessaires pour comprendre les interprétations logiques de l'arbre de décision. Comme nous l'avons vu, l'arbre de décision est facile à comprendre et les résultats sont efficaces lorsqu'il a moins d'étiquettes de classe et l'autre partie négative est quand il y a plus de calculs d'étiquettes de classe qui deviennent complexes. Ce poste permet de devenir compétent pour construire des modèles d'apprentissage prédictifs et basés sur des arbres.
Articles recommandés
Ceci est un guide de l'arbre de décision dans R. Ici, nous discutons de l'introduction, de l'utilisation et de la mise en œuvre de R. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus -
- Qu'est-ce qu'un arbre binaire en Java?
- Langage de programmation R
- Qu'est-ce que Visual Studio Code?
- Introduction au graphique linéaire dans R
- Guide de distribution binomiale en R