Oversigt over beslutningstræet i R

Et beslutningstræ i r er en form for overvåget læring, der bruges til at rette op på klassificerings- og regressionsproblemerne. De er en stærk maskinlæringsalgoritme til at arbejde med meget komplekse datasæt. Kernekonceptet bag beslutningstræet er at opdele det givne datasæt. For at gå igennem denne artikel foreslås det at have grundlæggende læringskoncepter på beslutningstræealgoritmen.

Beslutningstræ i R

For at arbejde med et beslutningstræ i R eller i lægmand er det nødvendigt at arbejde med store datasæt og direkte brug af indbyggede R-pakker gør arbejdet lettere. Et beslutningstræ er en ikke-lineær antagelsesmodel, der bruger en træstruktur til at klassificere forholdene. Beslutningstræet i R bruger to typer variabler: kategorisk variabel (Ja eller Nej) og kontinuerlige variabler. Terminologierne i beslutningstræet, der består af rodnoden (danner en klassemærkning), beslutningsnoder (undernoder), terminalnode (deles ikke videre). Det unikke koncept bag denne maskinlæringsmetode er, at de klassificerer de givne data i klasser, der danner ja eller nej flow (hvis-ellers tilgang) og repræsenterer resultaterne i en træstruktur. Algoritmen, der bruges i beslutningstræet i R, er Gini-indekset, informationsgevinst, entropi. Der er forskellige pakker til rådighed til at opbygge et beslutningstræ i R: rpart (rekursivt), parti, tilfældig skov, CART (klassificering og regression). Det er ganske let at implementere et beslutningstræ i R.

For klar analyse er træet opdelt i grupper: et træningssæt og et testsæt. Følgende implementering bruger et bildatasæt. Dette datasæt indeholder 1727 obs og 9 variabler, hvormed klassificeringstræet er bygget. I denne artikel lader træet en "fest" -pakke. Funktionen opretter () giver betingede træer med plotfunktionen.

Implementering vha. R

Målet er at studere et bildatasæt for at forudsige, om en bilværdi er høj / lav og medium.

i) Forberedelse af data

Installation af pakker og indlæs biblioteker

Dette modul læser datasættet som en komplet dataramme, og strukturen af ​​dataene er givet som følger:

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

Produktion:

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

ii) Opdeling af data

Opdeling af data ved hjælp af træningsdatasæt. Et beslutningstræ er opdelt i undernoder for at have god nøjagtighed. Kompleksiteten bestemmes af træets størrelse og fejlhastighed. Her gør man reproduktivitet og genererer et antal rækker.

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

Fig : Viser dataværdier

Dernæst gør dataværdien til 2

validate<-data(dt==2, )

Fig : Viser R-konsol i R Studio

Oprettelse af et beslutningstræ i R med pakkefesten

  • Klik på pakke-> install -> fest. Her har vi taget de første tre input fra prøven af ​​1727 observationer på datasæt. Oprettelse af en model til at forudsige høj, lav, medium blandt input.

Implementering:

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

Produktion:

Tomter ved hjælp af Ctree

forudsigelse:

Prob genererer sandsynlighed for at score,

Implementering:

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

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

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

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

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

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

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

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

(78) vhigh vhigh vhigh høj høj høj høj høj høj høj høj høj

(89) høj høj høj høj høj høj høj høj høj høj høj

(100) høj høj høj høj høj høj høj høj høj høj høj

(111) høj høj høj høj høj høj høj høj høj høj høj

(122) høj høj høj høj høj høj høj høj høj høj høj

(133) høj høj høj høj høj høj høj høj høj høj høj

(144) høj høj høj høj høj høj høj høj høj høj høj

(155) høj høj høj høj høj høj høj høj høj høj høj

(166) høj høj høj høj høj høj høj høj høj høj høj

(177) høj høj høj høj med med med 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

(232) med med med med med med

(243) med med med med med med

(254) med med med med med med med med med med med lav med lav

(265) lav lav lav lav lav lav lav lav lav lav lav lav

(276) lav lav lav lav lav lav lav lav lav lav lav lav

(287) lav lav lav lav lav lav lav lav lav lav lav

(298) lav lav lav lav lav lav lav lav lav lav lav

(309) lav lav lav lav lav lav lav lav lav lav lav

(320) lav lav lav lav lav lav lav lav lav lav lav

(331) lav lav lav lav lav

Niveauer: høj lav med vhigh

Beslutningstræ ved hjælp af rpart

For at forudsige klassen ved hjælp af funktionen rpart () til klassemetoden. rpart () bruger Gini-indeksmålet til at opdele noder.

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

rpart.plot(tr, extra=2)

Denne linje plotter træet og for at vise sandsynligheden for at gøre ekstra funktioner til sæt 2, og resultatet er givet nedenfor.

Fejl ved klassificering

Fejlfrekvensen forhindrer overfitting.

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

Produktion:

udskrives (tbl)

høj lav med vhigh

høj 332 0 0 0

lav 0 359 0 0

med 0 0 350 0

høj 0 0 0 351

Konklusion

Beslutningstræet er en nøgleudfordring i R, og styrken af ​​træet er, at de er lette at forstå og læse sammenlignet med andre modeller. De bruges populært i datavidenskabelige problemer. Disse er værktøjet producerer hierarkiet af beslutninger implementeret i statistisk analyse. Der kræves statistisk viden for at forstå de logiske fortolkninger af beslutningstræet. Som vi har set, er beslutningstræet let at forstå, og resultaterne er effektive, når det har færre klassetiketter, og den anden nedadgående del af dem er, når der er flere klassemærkatberegninger, bliver komplekse. Dette indlæg får en til at blive dygtig til at opbygge forudsigelige og træbaserede læringsmodeller.

Anbefalede artikler

Dette er en guide til beslutningstræ i R. Her diskuterer vi introduktionen, hvordan du bruger og implementerer R. Du kan også gennemgå vores andre foreslåede artikler for at lære mere -

  1. Hvad er et binært træ i Java?
  2. R Programmeringssprog
  3. Hvad er Visual Studio-kode?
  4. Introduktion til linjegraf i R
  5. Vejledning til binomial distribution i R

Kategori: