Översikt över beslutsträdet i R

Ett beslutsträd i r är en form av övervakat lärande som används för att rätta till klassificerings- och regressionsproblem. De är en stark maskininlärningsalgoritm att arbeta med mycket komplexa datamängder. Kärnbegreppet bakom beslutsträdet är att dela upp den givna datamängden. För att gå igenom denna artikel föreslås det att ha grundläggande inlärningskoncept för beslutsträdets algoritm.

Beslutsträd i R

För att arbeta med ett beslutsträd i R eller i lekmän är det nödvändigt att arbeta med stora datauppsättningar och direkt användning av inbyggda R-paket underlättar arbetet. Ett beslutsträd är en olinjär antagningsmodell som använder en trädstruktur för att klassificera förhållandena. Beslutsträdet i R använder två typer av variabler: kategorisk variabel (Ja eller Nej) och kontinuerliga variabler. Terminologierna i beslutsträdet som består av rotnoden (bildar en klassetikett), beslutsnoder (undernoder), terminalnod (delas inte längre). Det unika konceptet bakom denna maskininlärningsmetod är att de klassificerar den givna informationen i klasser som bildar ja eller nej flöde (om-annars-metod) och representerar resultaten i en trädstruktur. Den algoritm som används i beslutsträdet i R är Gini-index, informationsförstärkning, Entropy. Det finns olika paket tillgängliga för att bygga ett beslutsträd i R: rpart (rekursivt), parti, slumpmässig skog, CART (klassificering och regression). Det är ganska lätt att implementera ett beslutsträd i R.

För tydlig analys delas trädet upp i grupper: en träningsuppsättning och en testuppsättning. Följande implementering använder en bildatasats. Denna datamängd innehåller 1727 obs och 9 variabler, med vilka klassificeringsträd är byggt. I den här artikeln låter trädet ett "fest" -paket. Funktionen skapar () ger villkorade träd med plottfunktionen.

Implementering med R

Målet är att studera en bildatauppsättning för att förutsäga om ett bilvärde är högt / lågt och medium.

i) Förbereda data

Installera paketen och ladda bibliotek

Denna modul läser datasatsen som en fullständig dataram och strukturen för datan ges på följande sätt:

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) Partitionera en data

Dela upp data med hjälp av träningsdatasätt. Ett beslutsträd delas upp i undernoder för att ha god noggrannhet. Komplexiteten bestäms av trädets storlek och felfrekvens. Här gör du reproduktivitet och genererar ett antal rader.

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

Fig : Visar datavärden

Därefter gör datavärdet till 2

validate<-data(dt==2, )

Fig : Visar R-konsol i R Studio

Skapa ett beslutsträd i R med paketpartiet

  • Klicka på paket-> installera -> fest. Här har vi tagit de tre första ingångarna från urvalet av 1727 observationer på datasätt. Skapa en modell för att förutsäga hög, låg, medellång mellan ingångarna.

Genomförande:

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

Produktion:

Tomter med Ctree

Förutsägelse:

Prob genererar sannolikhet för poäng,

Genomförande:

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

(89) hög hög hög hög hög hög hög hög hög hög hög hög

(100) hög hög hög hög hög hög hög hög hög hög hög hög

(111) hög hög hög hög hög hög hög hög hög hög hög hög

(122) hög hög hög hög hög hög hög hög hög hög hög hög

(133) hög hög hög hög hög hög hög hög hög hög hög hög

(144) hög hög hög hög hög hög hög hög hög hög hög hög

(155) hög hög hög hög hög hög hög hög hög hög hög hög

(166) hög hög hög hög hög hög hög hög hög hög hög hög

(177) hög hög hög hög hög med med med 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. Med

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

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

(254) med med med med medicin med medicin med låg med låg låg

(265) låg låg låg låg låg låg låg låg låg låg låg

(276) låg låg låg låg låg låg låg låg låg låg låg

(287) låg låg låg låg låg låg låg låg låg låg låg

(298) låg låg låg låg låg låg låg låg låg låg låg

(309) låg låg låg låg låg låg låg låg låg låg låg

(320) låg låg låg låg låg låg låg låg låg låg låg

(331) låg låg låg låg låg

Nivåer: hög låg med vhigh

Beslutsträd med hjälp av rpart

För att förutsäga klassen med funktionen rpart () för klassmetoden. rpart () använder Gini-indexmåttet för att dela noderna.

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

rpart.plot(tr, extra=2)

Den här linjen plottar trädet och för att visa sannolikheten för att göra extra funktioner för set 2 och resultatet som ges ges nedan.

Fel vid klassificering

Felhastigheten förhindrar övermontering.

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

Produktion:

ut (tbl)

hög låg med vhigh

hög 332 0 0 0

låg 0 359 0 0

med 0 0 350 0

vhigh 0 0 0 351

Slutsats

Beslutsträdet är en viktig utmaning i R och styrkan hos trädet är att de är lätta att förstå och läsa jämfört med andra modeller. De används populärt i datavetenskapsproblem. Dessa är verktyget som producerar hierarkin för beslut som implementerats i statistisk analys. Statistisk kunskap krävs för att förstå de logiska tolkningarna av beslutsträdet. Som vi har sett är beslutsträdet lätt att förstå och resultaten är effektiva när det har färre klassetiketter och den andra nackdelen av dem är när det finns fler klassetikettberäkningar blir komplexa. Detta inlägg gör att man blir skicklig för att bygga prediktiva och trädbaserade inlärningsmodeller.

Rekommenderade artiklar

Detta är en guide till beslutsträdet i R. Här diskuterar vi introduktionen, hur du använder och implementerar R. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -

  1. Vad är ett binärt träd i Java?
  2. R Programmeringsspråk
  3. Vad är Visual Studio Code?
  4. Introduktion till linjediagram i R
  5. Guide till binomial distribution i R

Kategori: