Een beslissingsboom tekenen in r (met voorbeeld)


Bij machinaal leren is een beslisboom een type model dat een reeks voorspellende variabelen gebruikt om een beslisboom te creëren die de waarde van een responsvariabele voorspelt.

De eenvoudigste manier om een beslissingsboom in R te plotten is door de functie prp() uit het pakket rpart.plot te gebruiken.

Het volgende voorbeeld laat zien hoe u deze functie in de praktijk kunt gebruiken.

Voorbeeld: een beslisboom tekenen in R

Voor dit voorbeeld gebruiken we de Hitters- dataset uit het ISLR- pakket, die verschillende informatie bevat over 263 professionele honkbalspelers.

We zullen deze dataset gebruiken om een regressieboom op te bouwen die homeruns en gespeelde jaren gebruikt om het salaris van een bepaalde speler te voorspellen.

De volgende code laat zien hoe u deze regressieboom kunt aanpassen en hoe u de functie prp() kunt gebruiken om de boom te tekenen:

 library (ISLR)
library (rpart)
library (rpart.plot)

#build the initial decision tree
tree <- rpart(Salary ~ Years + HmRun, data=Hitters, control=rpart. control (cp= .0001 ))

#identify best cp value to use
best <- tree$cptable[which. min (tree$cptable[," xerror "])," CP "]

#produce a pruned tree based on the best cp value
pruned_tree <- prune (tree, cp=best)

#plot the pruned tree
prp(pruned_tree)

Merk op dat we het uiterlijk van de beslissingsboom ook kunnen aanpassen met behulp van de faclen , extra , roundint en cijfers argumenten in de prp () functie:

 #plot decision tree using custom arguments
prp(pruned_tree,
    faclen= 0 , #use full names for factor labels
    extra= 1 , #display number of observations for each terminal node
    roundint= F , #don't round to integers in output
    digits= 5 ) #display 5 decimal places in output 

teken een beslisboom in R

We kunnen zien dat de boom zes eindknooppunten heeft.

Elk eindknooppunt geeft het voorspelde salaris van de spelers in dat knooppunt weer, evenals het aantal observaties uit de oorspronkelijke dataset dat bij die beoordeling hoort.

We kunnen bijvoorbeeld zien dat er in de originele dataset 90 spelers waren met minder dan 4,5 jaar ervaring en dat hun gemiddelde salaris $225,83K bedroeg.

Een regressieboom interpreteren in R

We kunnen de boom ook gebruiken om het salaris van een bepaalde speler te voorspellen op basis van zijn jarenlange ervaring en gemiddelde homeruns.

Een speler met zeven jaar ervaring en gemiddeld vier homeruns heeft bijvoorbeeld een verwacht salaris van €502,81k .

Voorbeeld van een regressieboom in R

Dit is een van de voordelen van het gebruik van een beslisboom: we kunnen de resultaten gemakkelijk visualiseren en interpreteren.

Aanvullende bronnen

De volgende tutorials bieden aanvullende informatie over beslissingsbomen:

Een inleiding tot classificatie- en regressiebomen
Beslissingsboom versus willekeurige forests: wat is het verschil?
Hoe classificatie- en regressiebomen in R passen

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert