Antrenamentul arborelui de decizie folosește arborele de decizie (ca model predictiv ) pentru a trece de la observații asupra obiectelor (reprezentate în ramuri) la inferențe despre valorile țintă ale obiectelor (reprezentate în frunze). Această învățare este una dintre abordările de modelare a predicțiilor utilizate în statistică , extragerea datelor și învățarea automată . Modelele de arbore în care variabila țintă poate prelua un set discret de valori sunt numite arbori de clasificare . În aceste structuri arborescente, frunzele reprezintă etichete de clasă, iar ramurile reprezintă conjuncții de caracteristici care conduc la acele etichete de clasă. Arborele de decizie în care variabila țintă poate lua valori continue (de obicei numere reale ) se numesc arbori de regresie .
În analiza deciziei, un arbore decizional poate fi utilizat pentru a reprezenta vizual și explicit luarea deciziilor . În data mining , un arbore de decizie descrie datele (dar arborele de clasificare rezultat poate fi o intrare în luarea deciziilor ). Această pagină tratează arbori de decizie în data mining .
Antrenamentul arborelui de decizie este o tehnică folosită în mod obișnuit în data mining [1] . Scopul este de a crea un model care prezice valoarea unei variabile țintă pe baza unor variabile de intrare. Un exemplu este prezentat în diagrama din dreapta. Fiecare nod intern corespunde uneia dintre variabilele de intrare. Există margini pentru copii pentru fiecare valoare posibilă a acestei variabile de intrare. Fiecare frunză reprezintă valoarea variabilei țintă, care este determinată de valorile variabilelor de intrare de la rădăcină la frunză.
Un arbore de decizie este o reprezentare simplă pentru exemple de clasificare. Pentru această secțiune, presupuneți că toate caracteristicile de intrare sunt seturi finite discrete și că există o singură caracteristică țintă numită „clasificare”. Fiecare element al clasificării se numește clasă . Un arbore de decizie sau un arbore de clasificare este un arbore în care fiecare nod intern (fără frunză) este etichetat cu o caracteristică de intrare. Arcurile care ies din nodul etichetat de parametrul de intrare sunt etichetate cu toate valorile posibile ale caracteristicii de ieșire sau arcul duce la un nod de decizie subordonat cu o caracteristică de intrare diferită. Fiecare frunză a arborelui este etichetată cu o clasă sau o distribuție de probabilitate pe clase.
Un arbore poate fi „antrenat” prin împărțirea unui set în subseturi pe baza verificărilor valorii atributelor. Acest proces, care se repetă recursiv pe fiecare subset rezultat, se numește partiționare recursivă . Recursiunea se termină atunci când un subset dintr-un nod are aceeași valoare variabilă țintă sau când împărțirea nu adaugă nicio valoare predicțiilor. Acest proces de inducție de sus în jos a arborilor de decizie ( TDIDT ) [2] este un exemplu de algoritm lacom și este cea mai frecvent utilizată strategie pentru învățarea arborilor de decizie din date.
În data mining , arborii de decizie pot fi, de asemenea, descriși ca o combinație de tehnici matematice și de calcul pentru a descrie, clasifica și generaliza un anumit set de date.
Datele vin sub forma de înregistrări sub forma:
Variabila dependentă Y este variabila țintă pe care încercăm să o înțelegem, să o clasificăm sau să o generalizăm. Vectorul x este alcătuit din caracteristici x 1 , x 2 , x 3 etc. care sunt utilizate pentru sarcină.
Arborele de decizie sunt utilizați în data mining și vin în două tipuri principale:
Termenul de analiză a arborelui de clasificare și regresie ( CART) este un termen generic și este folosit pentru a se referi la cele două proceduri menționate mai sus, primul dintre care a fost introdus de Breiman și colab., în 1984 [3] . Arborii utilizați pentru regresie și arborii utilizați pentru clasificare au unele asemănări, dar au și diferențe, precum procedura utilizată pentru determinarea locației divizării [3] .
Unele tehnici, adesea denumite metode de construire , construiesc mai mult de un arbore de decizie:
Un caz special de arbori de decizie este lista de decizie [8] , care este un arbore de decizie unidirecțional astfel încât orice nod intern are exact 1 frunză și exact 1 nod intern ca copil (cu excepția nodului cel mai de jos, al cărui singurul copil este o foaie). Deși aceste liste sunt mai puțin expresive, ele sunt mai ușor de înțeles decât arborii de decizie generali datorită rarii, ceea ce permite metode de învățare non-lacomi [9] și permite, de asemenea, constrângeri monotone [10] .
Antrenamentul arborelui de decizie este construcția unui arbore de decizie din tupluri de antrenament etichetate în clasă. Un arbore de decizie este o structură asemănătoare unei organigrame în care fiecare nod intern (fără frunză) reprezintă un test de atribut, fiecare ramură reprezintă un rezultat al testului și fiecare frunză (nodul terminal) conține o etichetă de clasă. Vârful superior este nodul rădăcină.
Există mulți algoritmi de arbore de decizie. Cele mai notabile sunt:
ID3 și CART au fost dezvoltate independent și aproximativ în același timp (între 1970 și 1980), dar folosesc abordări similare pentru a antrena un arbore de decizie din tupluri de antrenament.
Algoritmii de construire a arborelui de decizie funcționează de obicei de sus în jos prin alegerea unei variabile la fiecare pas care împarte cel mai bine setul de elemente [14] . Algoritmi diferiți folosesc valori diferite pentru a măsura „cea mai bună” soluție. Ele măsoară de obicei omogenitatea variabilei țintă pe subseturi. Câteva exemple sunt date mai jos. Aceste metrici sunt aplicate fiecărui subset și valorile rezultate sunt combinate (de exemplu, se calculează o medie) pentru a obține o măsură a calității partiției.
Utilizat în algoritmul arborelui de clasificare și regresie (CART) , criteriul Gini este o măsură a frecvenței cu care un element selectat aleatoriu dintr-un set este etichetat incorect dacă este etichetat aleatoriu în funcție de distribuția etichetelor într-un subset. Criteriul Gini poate fi calculat prin însumarea probabilității unui element cu o etichetă selectată înmulțită cu probabilitatea unei erori de categorizare pentru acel element. Criteriul acceptă un minim (zero) atunci când toate cazurile dintr-un nod se încadrează în aceeași categorie țintă.
Pentru a calcula criteriul Gini pentru un set de elemente cu clase, să presupunem că , și să fie proporția elementelor etichetate cu o clasă din mulțime.
În algoritmii de generare a arborilor ID3 , C4.5 și C5.0. se folosește câștigul de informații , care se bazează pe conceptul de entropie și cantitatea de informații din teoria informației .
Entropia este definită după cum urmează
,unde sunt fracțiile care însumează 1, care reprezintă procentul fiecărei clase obținute dintr-o scindare în arbore [15] .
eu G ( T , A ) ⏞ Câștigarea informațiilor = H ( T ) ⏞ Entropie (părinte) − H ( T | A ) ⏞ Suma ponderată a entropiei (copii) {\displaystyle \overbrace {IG(T,a)} ^{\text{Câștig de informații}}=\overbrace {\mathrm {H} (T)} ^{\text{Entropie (părinte))}-\overbrace { \mathrm {H} (T|a)} ^{\text{Suma ponderată a entropiei (copii)}}}În formulă
Câștigul de informații este folosit pentru a decide ce caracteristică să folosească pentru împărțire la fiecare pas al construcției arborelui. Simplitatea este cea mai bună alegere, așa că vrem să păstrăm copacul mic. Pentru a face acest lucru, la fiecare pas trebuie să alegem o divizare care să conducă la cele mai simple noduri descendente. O măsură de simplitate folosită în mod obișnuit se numește informație , care este măsurată în biți . Pentru fiecare nod al arborelui, valoarea informației „reprezintă numărul așteptat care este necesar pentru a determina dacă noul obiect trebuie clasificat ca da sau nu, având în vedere că exemplul ajunge la acel nod” [15] .
Luați în considerare un exemplu de set de date cu patru atribute: vreme (însorit, înnorat, ploaie), temperatură (cald, blând, rece), umiditate (mare, normală) și vânt (da, nu) cu o variabilă țintă binară (da sau nu) și 14 puncte de date. Pentru a construi un arbore de decizie pe baza acestor date, trebuie să comparăm câștigul de informații al fiecăruia dintre cei patru arbori, în care este împărțit în funcție de una dintre cele patru caracteristici. Diviziunea cu câștigul maxim de informații este luată ca prima divizare, iar procesul continuă până când toți descendenții sunt primi sau până când câștigul de informații este zero.
O împărțire folosind caracteristica vântul are ca rezultat două noduri copil, un nod pentru caracteristica vântul cu valoarea da și un nod cu valoarea nu . Există șase puncte de date în acest set de date cu o valoare da pentru vânt , trei pentru jocul cu valoarea țintă de yes și trei cu valoarea nu . Cele opt puncte de date rămase pentru parametrul vântului cu o valoare nu conțin două nu și șase da . Informația vântul = nodul da este calculată folosind ecuația de entropie de mai sus. Deoarece există un număr egal de da și nu la acest nod, avem
Pentru un nod cu vânt =nu, au existat opt puncte de date, șase cu o țintă da și două cu nu . Astfel avem
Pentru a găsi informațiile împărțite , calculăm media ponderată a acestor două numere pe baza numărului de observații care au căzut în fiecare nod.
(vânt - da sau nu)Pentru a găsi câștigul de informații al unei împărțiri folosind wind , trebuie să calculăm informațiile din date înainte de împărțire. Datele inițiale au conținut nouă da și cinci nu .
Acum putem calcula câștigul de informații obținut prin împărțire în funcție de atributul vântului .
(vânt)Pentru a construi un arbore, trebuie să calculăm câștigul de informații al fiecărei prime diviziuni posibile. Cea mai bună primă împărțire este cea care oferă cel mai mare câștig de informații. Acest proces se repetă pentru fiecare nod (cu caracteristici mixte) până când arborele este construit. Acest exemplu este preluat dintr-un articol al lui Witten, Frank și Hall [15] .
Reducerea varianței prezentată în CART [3] este adesea folosită în cazurile în care variabila țintă este continuă (arborele de regresie), ceea ce înseamnă că utilizarea multor alte metrici ar necesita eșantionare înainte de aplicare. Reducerea varianței unui nod N este definită ca reducerea globală a varianței variabilei țintă x ca o consecință a divizării la acel nod:
,unde , și sunt setul de indici înainte de împărțire, setul de indici pentru care testul evaluează drept adevărat și, respectiv, setul de indici pentru care testul evaluează fals. Fiecare dintre termenii de mai sus este o estimare a mărimii abaterii , deși scrisă fără referire directă la medie.
Printre alte metode de analiză a datelor, arborii de decizie prezintă o serie de avantaje:
Multe pachete de data mining implementează unul sau mai mulți algoritmi de arbore de decizie.
Exemple sunt Salford Systems CART (care a licențiat codul proprietar al autorilor originali CART) [3] , IBM SPSS Modeler , RapidMiner , SAS Enterprise Miner , Matlab , R (software open source pentru calcul statistic) . , care include mai multe implementări CART, cum ar fi pachetele rpart, party și randomForest), Weka (un pachet de data mining open source care conține mulți algoritmi de arbore de decizie), Orange , KNIME , Microsoft SQL Server [1] și scikit -learn (o bibliotecă Python gratuită și open source pentru învățarea automată).
Într-un arbore de decizie, toate căile de la nodul rădăcină la o frunză trec printr-o conjuncție ( ȘI ). În graficul de decizie, este posibil să se folosească disjuncția ( SAU ) pentru a combina căi folosind un mesaj de lungime minimă ( engleză. Lungimea minimă a mesajului , MML) [25] . Graficele de decizie sunt extinse în continuare cu rezoluția atributelor neutilizate anterior pentru a fi antrenate dinamic și utilizate în diferite locuri din grafic [26] . O schemă de codare mai generală are ca rezultat predicții mai bune și performanță de pierdere a jurnalului. În general, graficele de decizie produc modele cu mai puține frunze decât arborii de decizie.
Algoritmii evolutivi au fost utilizați pentru a elimina soluțiile locale optime și pentru a căuta arbori de decizie cu prejudecăți anterioare mai mici [27] [28] .
Arborii pot fi simplificați folosind metoda Monte Carlo pentru lanțuri Markov ( Markov chain Monte Carlo , MCMC) [29] .
Arborele poate fi văzut de jos în sus [30] .
Învățare automată și extragerea datelor | |
---|---|
Sarcini | |
Învățarea cu un profesor | |
analiza grupului | |
Reducerea dimensionalității | |
Prognoza structurală | |
Detectarea anomaliilor | |
Modele grafice probabilistice | |
Rețele neuronale | |
Consolidarea învățării |
|
Teorie | |
Reviste și conferințe |
|