Przegląd drzewa decyzyjnego w R

Drzewo decyzyjne wr jest formą nadzorowanego uczenia się stosowaną w celu rozwiązania problemów z klasyfikacją i regresją. Są silnym algorytmem uczenia maszynowego do pracy z bardzo złożonymi zestawami danych. Podstawową koncepcją drzewa decyzyjnego jest podzielenie danego zestawu danych. Aby przejść przez ten artykuł, sugeruje się podstawowe pojęcia dotyczące uczenia się dotyczące algorytmu drzewa decyzyjnego.

Drzewo decyzyjne w R.

Aby pracować z drzewem decyzyjnym w języku R lub w uproszczeniu, konieczna jest praca z zestawami dużych zbiorów danych, a bezpośrednie użycie wbudowanych pakietów R ułatwia pracę. Drzewo decyzyjne jest nieliniowym modelem założenia, który wykorzystuje strukturę drzewa do klasyfikowania relacji. Drzewo decyzyjne w R wykorzystuje dwa typy zmiennych: zmienną kategorialną (Tak lub Nie) i zmienne ciągłe. Terminologie drzewa decyzyjnego składającego się z węzła głównego (tworzy etykietę klasy), węzłów decyzyjnych (podwęzły), węzła końcowego (nie dzielą się dalej). Unikalna koncepcja tego uczenia maszynowego polega na tym, że klasyfikują one dane do klas, które tworzą przepływ tak lub nie (podejście „jeśli-inaczej”) i reprezentują wyniki w strukturze drzewa. Algorytmem zastosowanym w drzewie decyzyjnym w R jest Indeks Giniego, przyrost informacji, Entropia. Istnieją różne pakiety do zbudowania drzewa decyzyjnego w R: rpart (rekurencyjne), party, losowy Forest, CART (klasyfikacja i regresja). Drzewa decyzyjne w języku R. są dość łatwe.

Dla jasnej analizy drzewo jest podzielone na grupy: zestaw treningowy i zestaw testowy. Poniższa implementacja korzysta z zestawu danych samochodu. Ten zestaw danych zawiera 1727 obs i 9 zmiennych, z którymi zbudowane jest drzewo klasyfikacji. W tym artykule pozwala drzewku pakiet „imprezowy”. Funkcja create () daje drzewa warunkowe z funkcją wydruku.

Realizacja za pomocą R.

Celem jest zbadanie zestawu danych samochodu, aby przewidzieć, czy wartość samochodu jest wysoka / niska i średnia.

i) Przygotowanie danych

Instalowanie pakietów i bibliotek ładowania

Ten moduł odczytuje zestaw danych jako kompletną ramkę danych, a struktura danych jest następująca:

data<-car // Reading the data as a data frame
str(data) // Displaying the structure and the result shows the predictor values.

Wynik:

Determining Factordata$vhigh View(car)
> data<-car

ii) Podziel dane na partycje

Podział danych za pomocą zestawów danych treningowych. Drzewo decyzyjne jest podzielone na podwęzły, aby zapewnić dobrą dokładność. Złożoność zależy od wielkości drzewa i wskaźnika błędów. Tutaj robi reprodukcyjność i generuje szereg wierszy.

set. Seed (1234)
dt<-sample (2, nrow(data), replace = TRUE, prob=c (0.8, 0.2))
validate<-data(dt==2, )

Ryc . : Wyświetlanie wartości danych

Następnie ustaw wartość danych na 2

validate<-data(dt==2, )

Ryc . : Wyświetlanie konsoli R w R Studio

Tworzenie drzewa decyzyjnego w R z pakietem party

  • Kliknij pakiet-> zainstaluj -> impreza. Tutaj wzięliśmy trzy pierwsze dane z próby 1727 obserwacji dotyczących zbiorów danych. Stworzenie modelu do przewidywania wysokiego, niskiego i średniego poziomu między wejściami.

Realizacja:

library(party)
tree<-ctree(v~vhigh+vhigh.1+X2, data = train)
tree

Wynik:

Wykresy za pomocą Ctree

Prognoza:

Prob generuje prawdopodobieństwo przy punktacji,

Realizacja:

predict(tree, validate, type="prob")
predict(tree, validate)

(1) vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh

(12) vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh

(23) vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh

(34) vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh

(45) vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh

(56) vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh

(67) vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh vhigh

(78) vhigh vhigh vhigh wysoki wysoki wysoki wysoki wysoki wysoki wysoki wysoki wysoki

(89) wysoki wysoki wysoki wysoki wysoki wysoki wysoki wysoki wysoki wysoki wysoki wysoki

(100) wysoki wysoki wysoki wysoki wysoki wysoki wysoki wysoki wysoki wysoki wysoki wysoki

(111) wysoki wysoki wysoki wysoki wysoki wysoki wysoki wysoki wysoki wysoki wysoki wysoki

(122) wysokie wysokie wysokie wysokie wysokie wysokie wysokie wysokie wysokie wysokie wysokie wysokie

(133) wysokie wysokie wysokie wysokie wysokie wysokie wysokie wysokie wysokie wysokie wysokie wysokie

(144) wysoki wysoki wysoki wysoki wysoki wysoki wysoki wysoki wysoki wysoki wysoki wysoki

(155) wysokie wysokie wysokie wysokie wysokie wysokie wysokie wysokie wysokie wysokie wysokie wysokie

(166) wysoki wysoki wysoki wysoki wysoki wysoki wysoki wysoki wysoki wysoki wysoki wysoki

(177) high high high high med med med med med med med med med

(188) med med med med med med med med med med med med med med

(199) med med med med med med med med med med med med med

(210) med med med med med med med med med med med med med

(221) med med med med med med med med med med med med med

(232) med med med med med med med med med med med med med med

(243) med med med med med med med med med med med med med med

(254) med med med med med med med med med med med low low

(265) niski niski niski niski niski niski niski niski niski niski niski niski

(276) niski niski niski niski niski niski niski niski niski niski niski niski

(287) niski niski niski niski niski niski niski niski niski niski niski niski

(298) niski niski niski niski niski niski niski niski niski niski niski niski

(309) niski niski niski niski niski niski niski niski niski niski niski niski

(320) niski niski niski niski niski niski niski niski niski niski niski niski

(331) niski niski niski niski niski

Poziomy: wysoka niska med vhigh

Drzewo decyzyjne przy użyciu rpart

Aby przewidzieć klasę za pomocą funkcji rpart () dla metody klasy. rpart () używa miary indeksu Gini do podziału węzłów.

library(rpart)
tr<-rpart (v~vhigh+vhigh.1+X2, train)
library (rpart. plot)
rpart. plot(tr)

rpart.plot(tr, extra=2)

Ta linia kreśli drzewo i wyświetla prawdopodobieństwo utworzenia dodatkowych funkcji dla zestawu 2, a uzyskany wynik podano poniżej.

Błąd błędnej klasyfikacji

Poziom błędu zapobiega nadmiernemu dopasowaniu.

tbl<-table(predict(tree), train $v)
print(tbl)
tepre<-predict(tree, new=validate)

Wynik:

drukuj (tbl)

high low med vhigh

wysoki 332 0 0 0

niski 0 359 0 0

med 0 0 350 0

vhigh 0 0 0 351

Wniosek

Drzewo decyzyjne jest kluczowym wyzwaniem w R, a siła drzewa jest łatwa do zrozumienia i odczytania w porównaniu z innymi modelami. Są one powszechnie stosowane w problemach związanych z nauką danych. Są to narzędzie, które tworzy hierarchię decyzji wdrożonych w analizie statystycznej. Do zrozumienia logicznych interpretacji drzewa decyzyjnego wymagana jest wiedza statystyczna. Jak widzieliśmy, drzewo decyzyjne jest łatwe do zrozumienia, a wyniki są wydajne, gdy ma mniej etykiet klas, a drugą wadą jest to, że obliczenia etykiet klas są bardziej złożone. Ten post pozwala uzyskać umiejętność budowania modeli uczenia predykcyjnego i opartego na drzewach.

Polecane artykuły

To jest przewodnik po drzewie decyzyjnym w R. Tutaj omawiamy wprowadzenie, jak używać i implementować R. Możesz również przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Co to jest drzewo binarne w Javie?
  2. R Język programowania
  3. Co to jest Visual Studio Code?
  4. Wprowadzenie do wykresu liniowego w R.
  5. Przewodnik po rozkładzie dwumianowym w R.

Kategoria: