Rozhodovací strom v R - Komplexní průvodce rozhodovacím stromem v R

Obsah:

Anonim

Přehled rozhodovacího stromu v R

Rozhodovací strom v r je forma učení pod dohledem, které se používá k nápravě klasifikačních a regresních problémů. Jsou to silný algoritmus strojového učení, který pracuje s velmi složitými datovými soubory. Základním konceptem rozhodovacího stromu je rozdělení daného datového souboru. Pro projití tohoto článku se navrhuje mít základní algoritmy učení na algoritmu stromu rozhodování.

Rozhodovací strom v R

Pro práci s Rozhodovacím stromem v R nebo laicky je nutné pracovat s velkými datovými sadami a přímé použití vestavěných R balíčků práci usnadňuje. Rozhodovací strom je nelineární předpokladový model, který používá třídění vztahů ke stromové struktuře. Strom rozhodování v R používá dva typy proměnných: kategoriální proměnnou (Ano nebo Ne) a spojité proměnné. Terminologie rozhodovacího stromu sestávající z kořenového uzlu (tvoří označení třídy), rozhodovacích uzlů (sub-uzlů), koncového uzlu (dále se nerozdělují). Unikátním konceptem tohoto přístupu ke strojovému učení je, že daná data rozdělí do tříd, které tvoří tok ano nebo ne (přístup if-else) a představuje výsledky ve stromové struktuře. Algoritmus použitý ve stromu rozhodování v R je Giniho index, zisk informace, entropie. K dispozici jsou různé balíčky pro sestavení rozhodovacího stromu v R: rpart (rekurzivní), párty, náhodný Forest, CART (klasifikace a regrese). Je docela snadné implementovat strom rozhodování v R.

Pro jasnou analýzu je strom rozdělen do skupin: tréninková sada a testovací sada. Následující implementace používá datový soubor automobilu. Tato sada dat obsahuje 1727 obs a 9 proměnných, pomocí kterých je vytvořen klasifikační strom. V tomto článku umožňuje stromu „party“ balíček. Funkce create () poskytuje podmíněné stromy s funkcí plot.

Implementace pomocí R

Cílem je prostudovat soubor údajů o autě, aby se předpovídalo, zda je hodnota automobilu vysoká / nízká a střední.

i) Příprava dat

Instalace balíčků a načtení knihoven

Tento modul čte datový soubor jako úplný datový rámec a struktura dat je uvedena takto:

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

Výstup:

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

ii) Rozdělení dat

Rozdělení dat pomocí tréninkových datových sad. Rozhodovací strom je rozdělen do sub-uzlů, aby měl dobrou přesnost. Složitost je určena velikostí stromu a mírou chybovosti. Zde se provádí reprodukce a generování řady řádků.

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

Obr : Zobrazení hodnot dat

Dále se hodnota dat změní na 2

validate<-data(dt==2, )

Obr : Zobrazení konzoly R v aplikaci R Studio

Vytvoření rozhodovacího stromu v R s účastníkem balíčku

  • Klikněte na balíček-> nainstalovat -> večírek. Zde jsme vzali první tři vstupy ze vzorku 1727 pozorování datových sad. Vytvoření modelu pro předpovídání vysokých, nízkých, středních mezi vstupy.

Implementace:

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

Výstup:

Grafy pomocí Ctree

Předpověď:

Prob generuje pravděpodobnost bodování,

Implementace:

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

(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ízká nízká

(265) nízká nízká nízká nízká nízká nízká nízká nízká nízká nízká

(276) nízká nízká nízká nízká nízká nízká nízká nízká nízká nízká

(287) nízká nízká nízká nízká nízká nízká nízká nízká nízká nízká

(298) nízká nízká nízká nízká nízká nízká nízká nízká nízká nízká

(309) nízká nízká nízká nízká nízká nízká nízká nízká nízká nízká

(320) nízká nízká nízká nízká nízká nízká nízká nízká nízká nízká

(331) nízká nízká nízká nízká

Úrovně: vysoká nízká střední váha

Rozhodovací strom pomocí rpart

Pro predikci třídy pomocí funkce rpart () pro metodu třídy. rpart () používá k rozdělení uzlů měřítko indexu Gini.

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

rpart.plot(tr, extra=2)

Tento řádek vykresluje strom a zobrazuje pravděpodobnost vytvoření dalších funkcí pro sadu 2 a výsledný výsledek je uveden níže.

Chyba nesprávného zařazení

Míra chyb brání přeplnění.

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

Výstup:

tisk (tbl)

high low med vhigh

vysoká 332 0 0 0

nízká 0 359 0 0

med 0 0 350 0

vhigh 0 0 0 351

Závěr

Rozhodovací strom je klíčovou výzvou v R a síla stromu je, že jsou snadno pochopitelné a čitelné ve srovnání s jinými modely. Jsou běžně používány v problémech s datovou vědou. Toto je nástroj, který vytváří hierarchii rozhodnutí implementovaných ve statistické analýze. Statistické znalosti jsou nutné k pochopení logických interpretací stromu rozhodnutí. Jak jsme viděli, strom rozhodování je snadno srozumitelný a výsledky jsou efektivní, když má méně značek tříd a druhou nevýhodou je, když je více výpočtů tříd značek komplexních. Tento příspěvek způsobí, že se člověk stane schopným vytvářet prediktivní modely učení založené na stromech.

Doporučené články

Toto je průvodce rozhodovacím stromem v R. Zde diskutujeme úvod, jak používat a implementovat R. Další informace naleznete také v našich dalších navrhovaných článcích -

  1. Co je binární strom v Javě?
  2. R Programovací jazyk
  3. Co je to kód Visual Studio?
  4. Úvod do čárového grafu v R
  5. Průvodce binomickou distribucí v R