Stablo odluka u R - Opsežni vodič za stablo odluka u R

Sadržaj:

Anonim

Pregled stabla odluka u R

Stablo odluka u r oblik je nadziranog učenja koji se koristi za ispravljanje problema s klasifikacijom i regresijom. Oni su snažni algoritam strojnog učenja za rad s vrlo složenim skupovima podataka. Temeljni koncept stabla odlučivanja jest dijeljenje zadanog skupa podataka. Kroz ovaj članak preporučuje se da imate osnovne koncepte učenja na algoritmu stabla odluka.

Stablo odluke u R

Za rad s stablom Odluke u R ili laičkom smislu potrebno je raditi s velikim podacima, a izravno korištenje ugrađenih R paketa olakšava rad. Stablo odluke je nelinearni model pretpostavki koji koristi strukturu stabla za klasificiranje odnosa. Stablo odluke u R koristi dvije vrste varijabli: kategorijsku varijablu (Da ili Ne) i kontinuirane varijable. Terminologije stabla odlučivanja koji se sastoje od korijenskog čvora (tvori oznaku klase), čvorova odlučivanja (pod-čvorovi), terminalnog čvora (ne dijele se dalje). Jedinstveni koncept ovog pristupa strojnom učenju je da oni klasificiraju dane podatke u klase koje čine da ili ne protok (ako-drugo pristup) i predstavljaju rezultate u strukturi stabla. Algoritam koji se koristi u stablu odluke u R je Gini indeks, dobit informacija, entropija. Na raspolaganju su različiti paketi za izgradnju stabla odluka u R: rpart (rekurzivni), party, random Forest, CART (klasifikacija i regresija). Vrlo je jednostavno implementirati stablo odluka u R.

Radi jasne analize stablo je podijeljeno u skupine: set za trening i test test. Sljedeća implementacija koristi automobilski skup podataka. Ovaj skup podataka sadrži 1727 obs i 9 varijabli s kojima je izgrađeno klasifikacijsko stablo. U ovom članku omogućuje drvetu 'party' paket. Funkcija stvara () daje uvjetna stabla s crtežom funkcije.

Implementacija pomoću R

Cilj je proučiti skup podataka o automobilu kako bi se predvidjelo je li vrijednost automobila visoka / niska i srednja.

i) Priprema podataka

Instaliranje paketa i učitavanje knjižnica

Ovaj modul čita skup podataka kao potpuni okvir podataka i struktura podataka je dana kako slijedi:

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

Izlaz:

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

ii) Podjela podataka

Podjela podataka pomoću skupova podataka o treningu. Stablo odluke podijeljeno je na pod-čvorove radi dobre točnosti. Složenost se određuje veličinom stabla i stopom pogreške. Ovdje se radi reproduktivnost i generira niz redova.

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

Sl .: Prikazivanje vrijednosti podataka

Zatim postavljanje podataka na 2

validate<-data(dt==2, )

Fig : Prikaz R konzole u R Studio

Izrada stabla odluka u R-u sa stranicom paketa

  • Kliknite paket-> instaliraj -> party. Ovdje smo uzeli prva tri ulaza iz uzorka od 1727. opažanja na skupovima podataka. Stvaranje modela za predviđanje visokih, niskih, srednjih ulaza.

provedba:

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

Izlaz:

Parcele koje koriste Ctree

predviđanje:

Proba generira vjerojatnost bodovanja,

provedba:

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

(1) vhigh 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 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 visoko visoko visoko visoko visoko visoko visoko

(89) visoki visoki visoki visoki visoki visoki visoki visoki

(100) visoki visoki visoki visoki visoki visoki visoki visoki

(111) visoki visoki visoki visoki visoki visoki visoki visoki

(122) visoki visoki visoki visoki visoki visoki visoki visoki

(133) visoki visoki visoki visoki visoki visoki visoki visoki

(144) visoki visoki visoki visoki visoki visoki visoki visoki

(155) visoki visoki visoki visoki visoki visoki visoki visoki

(166) visoki visoki visoki visoki visoki visoki visoki visoki

(177) visoko visoko visoko visoko med med med med med

(188) med. Med. Med. Med. Med. Med. Med. Med. Med

(199) med. Med. Med. Med. Med. Med. Med. Med. Med

(210) med. Med. Med. Med. Med. Med. Med. Med. Med

(221) med. Med. Med. Med. Med. Med. Med. Med. Med

(232) med. Med. Med. Med. Med. Med. Med. Med. Med

(243) med. Med. Med. Med. Med. Med. Med. Med. Med

(254) med. Med. Med. Med. Med. Med. Med. Niska niska

(265) niska niska niska niska niska niska niska niska niska niska

(276) niska niska niska niska niska niska niska niska niska niska

(287) niska niska niska niska niska niska niska niska niska niska

(298) niska niska niska niska niska niska niska niska niska niska

(309) niska niska niska niska niska niska niska niska niska niska

(320) niska niska niska niska niska niska niska niska niska niska

(331) niska niska niska niska niska

Razine: visoka niska med vhigh

Stablo odluke pomoću rpart

Za predviđanje klase pomoću funkcije rpart () za metodu klase. rpart () koristi Gini indeks mjeru za podjelu čvorova.

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

rpart.plot(tr, extra=2)

Ova linija crta stablo i prikazuje vjerojatnost stvaranja dodatnih značajki za postavljanje 2, a dobiveni rezultat dan je u nastavku.

Pogreška pogrešne klasifikacije

Stopa pogreške sprječava prekomjerno uklapanje.

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

Izlaz:

ispis (TBL)

visok niski med vhigh

visoka 332 0 0 0

niska 0 359 0 0

med 0 0 350 0

vhigh 0 0 0 351

Zaključak

Stablo odluka je ključni izazov R-a, a snaga stabla je u tome što ih je lako razumjeti i pročitati u usporedbi s drugim modelima. Njihova se popularnost koristi u problemima sa znanošću podataka. Ovo je alat koji proizvodi hijerarhiju odluka implementiranih u statističkoj analizi. Za razumijevanje logičkih interpretacija stabla odluka potrebno je statističko znanje. Kao što smo vidjeli, stablo odluka lako je razumjeti i rezultati su učinkoviti kada ima manje oznaka klase, a drugi je slabiji dio njih kada postoji više klasa oznaka postaju složeni. Ovaj post čini stručnjak za izgradnju prediktivnih modela učenja i na stablu.

Preporučeni članci

Ovo je vodič za stablo odluka u R. Ovdje smo raspravljali o uvodu, kako koristiti i implementirati R. Također možete proći kroz naše druge predložene članke da biste saznali više -

  1. Što je binarno stablo na Javi?
  2. R Programski jezik
  3. Što je Visual Studio Code?
  4. Uvod u linijski grafikon u R
  5. Vodič za binomnu distribuciju u R