Algoritmul CART (Arborele de clasificare și regresie) , după cum sugerează și numele, rezolvă problemele de clasificare și regresie prin construirea unui arbore de decizie. A fost dezvoltat în 1974-1984 de către patru profesori de statistică: Leo Breiman ( Berkeley ), Jerome Friedman( Stanford ), Charles Stone (Charles Stone, Berkeley ) și Richard Olshen (Richard A. Olshen, Stanford ).
Până în prezent, există un număr mare de algoritmi care implementează arbori de decizie: CART , C4.5 , CHAID, CN2, NewId , ITrule și altele [1] .
Algoritmul CART este conceput pentru a construi un arbore de decizie binar. Arborii binari (binari) sunt copaci, fiecare nod din care, atunci când este împărțit, are doar doi copii. Pentru algoritmul CART, „comportamentul” obiectelor grupului selectat înseamnă proporția din valoarea modală (cea mai frecventă) a caracteristicii de ieșire. Grupurile selectate sunt cele pentru care această proporție este destul de mare. La fiecare pas al construcției arborelui, regula formată în nod împarte setul dat de exemple în două părți — partea în care regula este adevărată (copil — dreapta) și partea în care regula nu este adevărată (copil — stânga). [2]
Avantajul algoritmului CART este o anumită garanție că dacă determinările dorite există în populația studiată, atunci acestea vor fi relevate. În plus, CART vă permite să nu „închideți” o singură valoare a caracteristicii de ieșire, ci să căutați toate astfel de valori pentru care puteți găsi expresia explicativă corespunzătoare. [3]
Metoda CART este utilizată pentru variabilele predictoare nominale (de obicei cu două niveluri) și ordinale . În această metodă, sunt enumerate toate opțiunile de ramificare posibile pentru fiecare nod și este selectată variabila predictor pentru care estimatorul dă cel mai bun scor.
Pentru o variabilă predictor nominală care ia k valori într-un nod dat, există exact 2 (k-1) -1 opțiuni pentru împărțirea setului valorilor sale în două părți.
Pentru un predictor ordinal care are k niveluri diferite la un nod dat, există k-1 puncte care separă diferite niveluri. Numărul de opțiuni de ramificare diferite care trebuie vizualizate va fi foarte mare: dacă există mulți predictori în problemă, atunci aceștia au multe niveluri de valori, ceea ce înseamnă că există multe vârfuri terminale în arbore. În plus, această metodă tinde să aleagă pentru ramificarea acelor variabile predictoare care au mai multe niveluri, deci este nevoie de un indicator care să permită evaluarea calității modelului construit. [patru]
Funcția de evaluare utilizată de algoritmul CART se bazează pe ideea intuitivă de reducere a incertitudinii (eterogenității) într-un nod. Ca exemplu, luați în considerare o problemă cu două clase și un nod care are 50 de instanțe ale fiecărei clase. Nodul are incertitudine maximă. Dacă se găsește o partiție care împarte datele în două subgrupe de exemple de 40:5 într-unul și 10:45 în celălalt, atunci intuitiv eterogenitatea va scădea. Va dispărea complet atunci când se găsește o divizare care va crea subgrupuri 50:0 și 0:50. În algoritmul CART, ideea de incertitudine este formalizată în indicele Gini . Dacă setul de date T conține n date de clasă, atunci indicele Gini este definit după cum urmează [5]
, unde pi este probabilitatea (frecvența relativă) a clasei i în T . Dacă setul T este împărțit în două părți T1 și T2 cu numărul de exemple în fiecare N1 și respectiv N2 , atunci indicele de calitate a împărțirii va fi egal cu:
Cea mai bună partiție este cea pentru care Ginisplit(T) este minim. Fie N numărul de exemple din nodul strămoș, L , R sunt numărul de exemple din copiii din stânga și din dreapta, respectiv, li și ri sunt numărul de instanțe ale clasei i -a din copiii din stânga/dreapta. Apoi, calitatea partiției este estimată prin următoarea formulă:
Pentru a reduce cantitatea de calcule, formula poate fi transformată:
Deoarece înmulțirea cu o constantă nu joacă un rol în minimizare:
Ca rezultat, cea mai bună partiție va fi cea pentru care valoarea este maximă. Astfel, la construirea unui „arbore de decizie” folosind metoda CART, se caută o astfel de opțiune de ramificare, în care valoarea indicatorului Ginisplit(T) scade cât mai mult posibil .
Acest mecanism, numit tăierea arborelui cu complexitate minimă a costurilor (vezi articolul Pruning din Wikipedia în engleză), algoritmul CART este fundamental diferit de alți algoritmi de construcție a arborelui de decizie. În algoritmul luat în considerare, tăierea este un compromis între obținerea arborelui „dimensiune potrivită” și obținerea celei mai precise estimări de clasificare. Tunderea (rățierea) este importantă nu numai pentru a simplifica copacii, ci și pentru a evita supraadaptarea . Metoda constă în obținerea unei succesiuni de arbori în scădere, dar nu sunt considerați toți arborii, ci doar „cei mai buni reprezentanți”. [unu]
Validarea încrucișată este cea mai complexă și, în același timp, partea originală a algoritmului CART. Este o modalitate de a selecta arborele final, cu condiția ca setul de date să fie mic sau înregistrările setului de date să fie atât de specifice încât să nu fie posibilă împărțirea setului în seturi de antrenament și de testare [1] .
Avantaje:
Defecte: