Jak narysować drzewo decyzyjne w r (z przykładem)


W uczeniu maszynowym drzewo decyzyjne to typ modelu, który wykorzystuje zestaw zmiennych predykcyjnych do utworzenia drzewa decyzyjnego, które przewiduje wartość zmiennej odpowiedzi.

Najprostszym sposobem na narysowanie drzewa decyzyjnego w R jest użycie funkcji prp() z pakietu rpart.plot .

Poniższy przykład pokazuje, jak w praktyce wykorzystać tę funkcję.

Przykład: rysowanie drzewa decyzyjnego w R

W tym przykładzie wykorzystamy zbiór danych Hitters z pakietu ISLR , który zawiera różne informacje na temat 263 zawodowych graczy w baseball.

Wykorzystamy ten zbiór danych do zbudowania drzewa regresji, które na podstawie home runów i lat rozegranych umożliwi przewidywanie wynagrodzenia danego gracza.

Poniższy kod pokazuje, jak dopasować to drzewo regresji i jak użyć funkcji prp() do narysowania drzewa:

 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)

Zauważ, że możemy również dostosować wygląd drzewa decyzyjnego za pomocą argumentów faclen , extra , roundint i digitals w funkcji prp ():

 #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 

narysuj drzewo decyzyjne w R

Widzimy, że drzewo ma sześć węzłów końcowych.

Każdy węzeł końcowy wyświetla przewidywaną pensję graczy w tym węźle, a także liczbę obserwacji z oryginalnego zbioru danych, które należą do tej oceny.

Na przykład widzimy, że w oryginalnym zbiorze danych było 90 graczy z doświadczeniem krótszym niż 4,5 roku, a ich średnia pensja wyniosła 225,83 tys. dolarów .

Interpretacja drzewa regresji w R

Możemy również użyć drzewa do przewidzenia wynagrodzenia danego zawodnika na podstawie jego wieloletniego doświadczenia i średnich home runów.

Na przykład gracz, który ma 7 lat doświadczenia i średnio 4 home runy, ma oczekiwaną pensję w wysokości 502,81 tys. dolarów .

Przykład drzewa regresji w R

To jedna z zalet stosowania drzewa decyzyjnego: możemy łatwo wizualizować i interpretować wyniki.

Dodatkowe zasoby

Poniższe samouczki zawierają dodatkowe informacje na temat drzew decyzyjnych:

Wprowadzenie do drzew klasyfikacji i regresji
Drzewo decyzyjne a lasy losowe: jaka jest różnica?
Jak dopasować drzewa klasyfikacji i regresji w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *