Arborele de decizie în R - Ghid cuprinzător pentru arborele de decizii în R

Cuprins:

Anonim

Prezentare generală a arborelui decizional în R

Un arbore de decizie în r este o formă de învățare supravegheată folosită pentru rectificarea problemelor de clasificare și regresie. Ele sunt un algoritm puternic de învățare automată pentru a lucra cu seturi de date foarte complexe. Conceptul principal din spatele arborelui decizional este de a împărți setul de date dat. Pentru a parcurge acest articol, se sugerează să existe concepte de învățare de bază despre algoritmul arborelui decizional.

Arborele de decizii în R

Pentru a lucra cu un arbore de decizii în R sau în termeni laici, este necesar să lucrați cu seturi de date mari și utilizarea directă a pachetelor R încorporate simplifică munca. Un arbore de decizie este un model de presupunere neliniară care folosește o structură de arbore pentru a clasifica relațiile. Arborele de decizii din R folosește două tipuri de variabile: variabilă categorică (Da sau Nu) și variabile continue. Terminologiile arborelui de decizie constând din nodul rădăcină (formează o etichetă de clasă), noduri de decizie (sub-noduri), nod terminal (nu se mai divizează). Conceptul unic din spatele acestei abordări de învățare automată este faptul că clasifică datele date în clase care formează un flux de da sau nu (abordare if-else) și reprezintă rezultatele unei structuri de arbore. Algoritmul folosit în Arborele Deciziei în R este Indexul Gini, câștig de informații, Entropie. Există diferite pachete disponibile pentru a construi un arbore de decizie în R: rpart (recursiv), party, Forest random, CART (clasificare și regresie). Este destul de ușor să implementați un arbore de decizii în R.

Pentru o analiză clară, arborele se împarte în grupuri: un set de antrenament și un set de teste. Următoarea implementare utilizează un set de date auto. Acest set de date conține 1727 obs și 9 variabile, cu care este construit arborele de clasificare. În acest articol, permite copacului un pachet „petrecere”. Funcția creează () dă arbori condiționali cu funcția de complot.

Implementare folosind R

Obiectivul este de a studia un set de date auto pentru a prezice dacă valoarea auto este mare / mică și medie.

i) Pregătirea datelor

Instalarea pachetelor și încărcarea bibliotecilor

Acest modul citește setul de date ca un cadru complet de date și structura datelor este dată după cum urmează:

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

ieşire:

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

ii) Partajarea unei date

Împărțirea datelor folosind seturi de date de instruire. Un arbore de decizie este împărțit în sub-noduri pentru a avea o precizie bună. Complexitatea este determinată de mărimea arborelui și rata de eroare. Aici se face reproducerea și se generează un număr de rânduri.

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

Fig : Afișarea valorilor datelor

Apoi, crearea valorii datelor la 2

validate<-data(dt==2, )

Fig : Afișarea consolei R în R Studio

Crearea unui arbore de decizii în R cu pachetul

  • Faceți clic pe pachet-> instalare -> petrecere. Aici am preluat primele trei contribuții din eșantionul de 1727 de observații pe seturi de date. Crearea unui model care să prezică valori ridicate, mici, medii în rândul intrărilor.

Implementare:

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

ieşire:

Parcele folosind Ctree

predicţie:

Prob generează probabilitate la notare,

Implementare:

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

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

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

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

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

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

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

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

(78) vhigh vhigh vhigh mare mare mare înalt mare mare înalt

(89) mare înalt mare mare înalt mare mare înalt mare înalt mare

(100) înalt mare mare înalt mare mare înalt mare mare înalt mare

(111) înalt mare mare înalt mare mare înalt mare mare înalt mare

(122) înalt mare mare înalt mare mare înalt mare mare înalt mare

(133) mare înalt mare înalt mare mare înalt mare mare înalt mare

(144) mare înalt mare înalt mare mare înalt mare mare înalt mare

(155) înalt mare mare înalt mare mare înalt mare mare înalt mare

(166) mare înalt mare înalt mare mare înalt mare mare înalt mare

(177) mare înalt mare înalt 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 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 med low low

(265) scăzut scăzut scăzut scăzut scăzut scăzut scăzut scăzut

(276) scăzut scăzut scăzut scăzut scăzut scăzut scăzut scăzut

(287) scăzut scăzut scăzut scăzut scăzut scăzut scăzut scăzut

(298) scăzut scăzut scăzut scăzut scăzut scăzut scăzut scăzut

(309) scăzut scăzut scăzut scăzut scăzut scăzut scăzut scăzut

(320) scăzut scăzut scăzut scăzut scăzut scăzut scăzut mic

(331) scăzut scăzut scăzut scăzut

Niveluri: vhigh mediu ridicat

Arborele de decizie folosind rpart

Pentru a prezice clasa folosind funcția rpart () pentru metoda clasei. rpart () folosește indicele Gini pentru a împărți nodurile.

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

rpart.plot(tr, extra=2)

Această linie reprezintă arborele și pentru a afișa probabilitatea de a face funcții suplimentare pentru setarea 2, iar rezultatul produs este prezentat mai jos.

Eroare de clasificare greșită

Rata de eroare previne supraadaptarea.

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

ieşire:

imprima (TBL)

vhigh mediu scăzut

maxim 332 0 0 0

scăzut 0 359 0 0

med 0 0 350 0

vh 0 0 0 351

Concluzie

Arborele decizional este o provocare esențială în R, iar puterea arborelui este că sunt ușor de înțeles și de citit în comparație cu alte modele. Sunt utilizate în mod popular în problemele de știință a datelor. Acestea sunt instrumentul care produce ierarhia deciziilor implementate în analiza statistică. Cunoașterea statistică este necesară pentru a înțelege interpretările logice ale arborelui decizional. Așa cum am văzut arborele de decizie este ușor de înțeles și rezultatele sunt eficiente atunci când are mai puține etichete de clasă, iar cealaltă parte a dezavantajului este atunci când există mai multe etichete de clasă se complexează. Această postare face ca cineva să devină priceput pentru a construi modele de învățare predicatoare și bazate pe arbori.

Articole recomandate

Acesta este un ghid pentru Arborele de decizii din R. Aici discutăm introducerea, modul de utilizare și punerea în aplicare a R. Puteți parcurge și alte articole sugerate pentru a afla mai multe -

  1. Ce este un arbore binar în Java?
  2. R Limbaj de programare
  3. Ce este Visual Studio Code?
  4. Introducere în graficul de linie în R
  5. Ghid de distribuție binomială în R