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
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 .
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 .
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