Katsaus päätöksentekopuuhun R

R-päätöksentekopuu on ohjatun oppimisen muoto, jota käytetään luokittelu- ja regressio-ongelmien korjaamiseen. Ne ovat vahva koneoppimisalgoritmi toimimaan erittäin monimutkaisten tietojoukkojen kanssa. Päätöspuun ydinkonsepti on jakaa annettu tietojoukko. Tämän artikkelin läpi on ehdotettu, että päätöksentekopuen algoritmissa on perustiedot oppimiskonsepteista.

Päätöksen puu R: ssä

Jotta päätöksentekopuulla voidaan työskennellä R: ssä tai maallikolla, on tarpeen työskennellä isojen tietojoukkojen kanssa ja sisäänrakennettujen R-pakettien suora käyttö helpottaa työtä. Päätöspuu on epälineaarinen oletusmalli, joka käyttää puurakennetta suhteiden luokittelemiseen. R: n päätöspuussa käytetään kahta tyyppistä muuttujaa: kategorinen muuttuja (kyllä ​​tai ei) ja jatkuvat muuttujat. Päätöksen puun terminologiat, jotka koostuvat juurisolmusta (muodostaa luokan tunnisteen), päätöksentekokesolmuista (alisolmuista), päätesolmusta (älä jaa edelleen). Tämän koneoppimisen lähestymistavan takana on ainutlaatuinen konsepti, jonka mukaan ne luokittelevat annetut tiedot luokkiin, jotka muodostavat kyllä ​​tai ei-virtauksen (jos muuten -lähestymistapa) ja edustavat tuloksia puurakenteessa. R-päätöksentekopuussa käytetty algoritmi on Gini-indeksi, informaation voitto, entropia. R-päätöksentekopuun rakentamiseksi on saatavana erilaisia ​​paketteja: rpart (rekursiivinen), puolue, satunnainen metsä, CART (luokittelu ja regressio). R-päätöksentekopuu on melko helppo toteuttaa.

Selkeää analysointia varten puu on jaettu ryhmiin: harjoitusjoukko ja testijoukko. Seuraava toteutus käyttää auton tietojoukkoa. Tämä tietojoukko sisältää 1727 obs ja 9 muuttujaa, joiden kanssa luokittelupuu on rakennettu. Tässä artikkelissa annetaan puulle 'juhla' paketti. Toiminto luo () antaa ehdolliset puut piirtofunktiolla.

Toteutus käyttämällä R: tä

Tavoitteena on tutkia auton tietojoukkoa ennustaaksesi, onko auton arvo korkea / matala ja keskitaso.

i) Tietojen valmistelu

Asenna paketit ja lataa kirjastot

Tämä moduuli lukee tietojoukon kokonaisena tietokehyksenä ja datan rakenne esitetään seuraavasti:

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

lähtö:

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

ii) Tietojen osittainen jakaminen

Tietojen jakaminen harjoitustietojen avulla. Päätöspuu on jaettu alisolmuihin, jotta sillä olisi hyvä tarkkuus. Monimutkaisuus määräytyy puun koon ja virhetason mukaan. Täällä tehdään reproduktiivisuus ja luodaan useita rivejä.

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

Kuva : Näyttää data-arvot

Seuraavaksi tekemällä datan arvoksi 2

validate<-data(dt==2, )

Kuva : R-konsolin näyttäminen R Studiossa

Luodaan päätöksentekopuu R: n kanssa pakettipartnerin kanssa

  • Napsauta paketti-> asenna -> juhla. Täällä olemme ottaneet kolme ensimmäistä panosta 1727 havainnon otoksesta tietoaineistoihin. Luomalla malli korkean, matalan ja keskipitkän ennustamiseksi tulojen joukossa.

Toteutus:

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

lähtö:

Tontit käyttämällä Ctreeä

ennustus:

Koetin tuottaa todennäköisyyden pisteyttämisessä,

Toteutus:

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

(1) taivaasta, taivaasta, taivaasta, taivaasta, taivaasta,

(12) taivaasta, taivaasta, taivaasta, taivaasta, taivaasta, taivaasta,

(23) taivaasta, taivaasta, taivaasta, taivaasta, taivaasta, taivaasta,

(34) taivaasta, taivaasta, taivaasta, taivaasta, taivaasta, taivaasta,

(45) taivaasta, taivaasta, taivaasta, taivaasta, taivaasta, taivaasta,

(56) ylhäältä tai ylhäältä, taivaalta, taivaalta, taivaalta, taivaalta

(67) taivaasta, taivaasta, taivaasta, taivaasta, taivaasta, taivaasta,

(78) vhigh vhigh vhigh korkea korkea korkea korkea korkea korkea korkea korkea

(89) korkea korkea korkea korkea korkea korkea korkea korkea korkea korkea korkea

(100) korkea korkea korkea korkea korkea korkea korkea korkea korkea korkea korkea

(111) korkea korkea korkea korkea korkea korkea korkea korkea korkea korkea korkea

(122) korkea korkea korkea korkea korkea korkea korkea korkea korkea korkea korkea

(133) korkea korkea korkea korkea korkea korkea korkea korkea korkea korkea korkea

(144) korkea korkea korkea korkea korkea korkea korkea korkea korkea korkea korkea

(155) korkea korkea korkea korkea korkea korkea korkea korkea korkea korkea korkea

(166) korkea korkea korkea korkea korkea korkea korkea korkea korkea korkea korkea

(177) korkea korkea korkea korkea keskitaso med med med med med

(188) 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

(210) 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

(232) 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

(254) med med med med med med med med med matala matala

(265) matala matala matala matala matala matala matala matala matala matala matala

(276) matala matala matala matala matala matala matala matala matala matala matala

(287) matala matala matala matala matala matala matala matala matala matala matala

(298) matala matala matala matala matala matala matala matala matala matala matala

(309) matala matala matala matala matala matala matala matala matala matala matala

(320) matala matala matala matala matala matala matala matala matala matala matala

(331) matala matala matala matala matala

Tasot: korkea matala ja korkein

Päätöspuu käyttäen rpart

Luokan ennustaminen luokkamenetelmällä rpart () -toiminnolla. rpart () käyttää Gini-indeksimittausta solmujen jakamiseen.

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

rpart.plot(tr, extra=2)

Tämä rivi kuvaa puua ja näyttää todennäköisyyden lisäominaisuuksien asettamiseksi asettaaksesi 2 ja tuotettu tulos esitetään alla.

Virhe luokittelussa

Virheprosentti estää liiallisen asennuksen.

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

lähtö:

tulosta (tbl)

korkea matala med vhigh

korkea 332 0 0 0

alhainen 0 359 0 0

med 0 0 350 0

korkeintaan 0 0 0 351

johtopäätös

Päätöspuu on keskeinen haaste R: ssä ja puun vahvuus on, että se on helppo ymmärtää ja lukea verrattuna muihin malleihin. Niitä käytetään yleisesti tietotekniikan ongelmiin. Nämä ovat työkalu, joka tuottaa tilastollisessa analyysissa toteutettujen päätösten hierarkian. Tilastotietoa tarvitaan päätöksenteon puun loogisten tulkintojen ymmärtämiseksi. Kuten olemme nähneet, päätöksentekopuu on helppo ymmärtää ja tulokset ovat tehokkaita, kun siinä on vähemmän luokkamerkkejä ja toinen heikko osa niissä, kun luokkamerkkejä on enemmän, laskelmat monimutkaistuvat. Tämä viesti saa taitamaan rakentamaan ennustavia ja puupohjaisia ​​oppimismalleja.

Suositellut artikkelit

Tämä on opas päätöksentekopuuhun R. Tässä keskustelemme johdannosta, kuinka käyttää ja toteutetaan R. Voit myös käydä läpi muut ehdotetut artikkelimme saadaksesi lisätietoja -

  1. Mikä on binaaripuu Javassa?
  2. R-ohjelmointikieli
  3. Mikä on Visual Studio -koodi?
  4. Johdanto viivakuvaajaan R: ssä
  5. Opas binomijakaumaan R

Luokka: