Rozhodovací strom v R Komplexná príručka k rozhodovaciemu stromu v R

Obsah:

Anonim

Prehľad rozhodovacieho stromu v R

Rozhodovací strom in r je forma učenia pod dohľadom, ktoré sa používa na nápravu problémov klasifikácie a regresie. Sú to silný algoritmus strojového učenia, ktorý pracuje s veľmi zložitými súbormi údajov. Základným konceptom rozhodovacieho stromu je rozdelenie daného súboru údajov. Aby sme si prešli tento článok, navrhuje sa mať základné algoritmy učenia na algoritme stromu rozhodovania.

Rozhodovací strom v R

Pre prácu so stromom rozhodovania v R alebo laicky je potrebné pracovať s veľkými množinami údajov a priame použitie vstavaných R balíkov uľahčuje prácu. Rozhodovací strom je nelineárny predpokladový model, ktorý na klasifikáciu vzťahov používa stromovú štruktúru. Strom rozhodovania v R používa dva typy premenných: kategorickú premennú (Áno alebo Nie) a spojité premenné. Terminológie rozhodovacieho stromu pozostávajúce z koreňového uzla (tvorí označenie triedy), rozhodovacích uzlov (sub-uzlov), koncových uzlov (ďalej sa nerozdeľujú). Jedinečný koncept tohto prístupu k strojovému vzdelávaniu je, že dané údaje klasifikujú do tried, ktoré tvoria tok áno alebo nie (prístup if-else) a predstavuje výsledky v stromovej štruktúre. Algoritmom použitým v rozhodovacom strome v R je Giniho index, zisk informácií, entropia. Na zostavenie rozhodovacieho stromu sú k dispozícii rôzne balíčky: Rpart (rekurzívny), párty, náhodný Forest, CART (klasifikácia a regresia). Implementácia rozhodovacieho stromu v R. je pomerne ľahká.

Pre jasnú analýzu je strom rozdelený do skupín: tréningová súprava a testovacia súprava. Nasledujúca implementácia používa súbor údajov o aute. Tento súbor údajov obsahuje 1727 obs a 9 premenných, pomocou ktorých je zostavený klasifikačný strom. V tomto článku umožňuje stromu „party“ balíček. Funkcia create () poskytuje podmienené stromy s funkciou plot.

Implementácia pomocou R

Cieľom je študovať súbor údajov o automobile s cieľom predpovedať, či je hodnota vozidla vysoká / nízka a stredná.

i) Príprava údajov

Inštalácia balíkov a načítanie knižníc

Tento modul číta množinu údajov ako kompletný dátový rámec a štruktúra údajov je uvedená takto:

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

Výkon:

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

ii) Rozdelenie údajov

Rozdelenie údajov pomocou súborov školiacich údajov. Rozhodovací strom je rozdelený do poduzlov, aby mal dobrú presnosť. Zložitosť je určená veľkosťou stromu a chybovosťou. Tu sa vykonáva reprodukcia a generuje sa celý rad riadkov.

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

Obr .: Zobrazujú sa hodnoty údajov

Ďalej sa hodnota údajov zmení na 2

validate<-data(dt==2, )

Obr .: Zobrazenie konzoly R v aplikácii R Studio

Vytvorenie rozhodovacieho stromu v R s účastníkom balíka

  • Kliknite na balík-> inštalovať -> strana. Tu sme vzali prvé tri vstupy zo vzorky 1727 pozorovaní k súborom údajov. Vytvorenie modelu na predpovedanie vysokých, nízkych a stredných vstupov.

realizácie:

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

Výkon:

Grafy pomocou Ctree

predpoveď:

Prob generuje pravdepodobnosť bodovania,

realizácie:

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 vysoká vysoká vysoká vysoká vysoká vysoká vysoká vysoká

(89) vysoká vysoká vysoká vysoká vysoká vysoká vysoká vysoká vysoká vysoká

(100) vysoká vysoká vysoká vysoká vysoká vysoká vysoká vysoká vysoká vysoká

(111) vysoká vysoká vysoká vysoká vysoká vysoká vysoká vysoká vysoká vysoká

(122) vysoká vysoká vysoká vysoká vysoká vysoká vysoká vysoká vysoká vysoká

(133) vysoká vysoká vysoká vysoká vysoká vysoká vysoká vysoká vysoká vysoká

(144) vysoká vysoká vysoká vysoká vysoká vysoká vysoká vysoká vysoká vysoká

(155) vysoká vysoká vysoká vysoká vysoká vysoká vysoká vysoká vysoká vysoká

(166) vysoká vysoká vysoká vysoká vysoká vysoká vysoká vysoká vysoká vysoká

(177) high high high high 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 med

(210) med 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 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 nízka nízka

(265) nízka nízka nízka nízka nízka nízka nízka nízka nízka nízka

(276) nízka nízka nízka nízka nízka nízka nízka nízka nízka nízka

(287) nízka nízka nízka nízka nízka nízka nízka nízka nízka nízka

(298) nízka nízka nízka nízka nízka nízka nízka nízka nízka nízka

(309) nízka nízka nízka nízka nízka nízka nízka nízka nízka nízka

(320) nízka nízka nízka nízka nízka nízka nízka nízka nízka nízka

(331) nízka nízka nízka nízka

Úrovne: vysoká nízka stredná

Rozhodovací strom pomocou rpart

Na predpovedanie triedy pomocou funkcie rpart () pre metódu class. rpart () používa mieru indexu Gini na rozdelenie uzlov.

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

"

rpart.plot(tr, extra=2)

Tento riadok vykresľuje strom a zobrazuje pravdepodobnosť vytvorenia ďalších funkcií pre množinu 2 a dosiahnutý výsledok je uvedený nižšie.

Chyba nesprávneho zaradenia

Miera chybovosti bráni nadmernému prispôsobeniu.

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

Výkon:

print (tbl)

high low med vhigh

vysoká 332 0 0 0

nízka 0 359 0 0

med 0 0 350 0

vhigh 0 0 0 351

záver

Rozhodovací strom je v R kľúčovou výzvou a jeho silnou stránkou je, že sú ľahko zrozumiteľné a čitateľné v porovnaní s inými modelmi. Používajú sa v problémoch vedy o údajoch. Toto je nástroj, ktorý vytvára hierarchiu rozhodnutí implementovaných v štatistickej analýze. Štatistické znalosti sú potrebné na pochopenie logických interpretácií stromu rozhodnutí. Ako sme videli, strom rozhodovania je ľahko zrozumiteľný a výsledky sú efektívne, ak má menej štítkov tried a druhou nevýhodou je, keď je viac výpočtov štítkov tried zložitých. Vďaka tomuto príspevku sa človek stáva schopným vytvárať prediktívne a stromové vzdelávacie modely.

Odporúčané články

Toto je príručka k rozhodovaciemu stromu v R. Tu diskutujeme o úvode, ako používať a implementovať R. Ak sa chcete dozvedieť viac, môžete si tiež prečítať naše ďalšie navrhované články -

  1. Čo je binárny strom v Jave?
  2. R Programovací jazyk
  3. Čo je to kód Visual Studio?
  4. Úvod do čiarového grafu v R
  5. Sprievodca binomickým rozdelením v R