25
Drveta odluˇ civanja - algoritmi Nenad Miti´ c Matematiˇ cki fakultet [email protected]

Drveta odlucivanja - algoritmipoincare.matf.bg.ac.rs/~nenad/ip1/6.Algoritmi_drveta_odlucivanja.pdf · drvo a tek iza toga se ide na potkresivanje Formira se više mogucih drveta sa

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Drveta odlucivanja - algoritmipoincare.matf.bg.ac.rs/~nenad/ip1/6.Algoritmi_drveta_odlucivanja.pdf · drvo a tek iza toga se ide na potkresivanje Formira se više mogucih drveta sa

Drveta odlucivanja - algoritmi

Nenad MiticMatematicki fakultet

[email protected]

Page 2: Drveta odlucivanja - algoritmipoincare.matf.bg.ac.rs/~nenad/ip1/6.Algoritmi_drveta_odlucivanja.pdf · drvo a tek iza toga se ide na potkresivanje Formira se više mogucih drveta sa

Drveta odlucivanja- algoritmiID3

C4.5

CART

Graficko predstavljanje

CHAID

QUEST

SLIQ

SPRINT

4.2

UvodAlgoritmi

• ID3 (Iterative Dichotomiser 3)

• C4.5• C5.0• CART (Classification And Regression Trees)

• CHAID (CHi-squared Automatic InteractionDetection)

• Exhaustive CHAID• QUEST (Quick, Unbiased, Efficient Statistical

Trees)

• SLIQ (Supervised Learning In Quest)

• SPRINT (Scalable PaRallelizable INduction anddecision Trees)

• ...

Page 3: Drveta odlucivanja - algoritmipoincare.matf.bg.ac.rs/~nenad/ip1/6.Algoritmi_drveta_odlucivanja.pdf · drvo a tek iza toga se ide na potkresivanje Formira se više mogucih drveta sa

Drveta odlucivanja- algoritmiID3

C4.5

CART

Graficko predstavljanje

CHAID

QUEST

SLIQ

SPRINT

4.3

ID3

• Definisao ga je Quinlan 1986. godine (ID3 -Iterative Dichotomiser 3)

• Entropiju kao meru i informaciona dobit kaokriterijum podele

• Kriterijum zaustavljanja• Svi podaci u cvoru pripadaju istoj klasi• najveca informaciona dobit ≤ 0

• Ne vrši se potkresivanje drveta• Ne radi sa numerickim atributima i/ili

nedostajucim vrednostima• Razmatra samo jedan atribut pri odlucivanju• Formira binarno drvo

Page 4: Drveta odlucivanja - algoritmipoincare.matf.bg.ac.rs/~nenad/ip1/6.Algoritmi_drveta_odlucivanja.pdf · drvo a tek iza toga se ide na potkresivanje Formira se više mogucih drveta sa

Drveta odlucivanja- algoritmiID3

C4.5

CART

Graficko predstavljanje

CHAID

QUEST

SLIQ

SPRINT

4.4

C4.5

• Quinlan 1993. godine, proširenje ID3• Skup algoritama (C4.5, C4.5 bez potkresivanja,

C4.5-pravila)• Koristi entropiju kao meru i odnos informacione

dobiti kao kriterijum podele• n-arno drvo (kategoricki atributi)• Kriterijum zaustavljanja

• broj razlicitih instanci je ispod zadate granice• svi podaci u cvoru pripadaju istoj klasi

Page 5: Drveta odlucivanja - algoritmipoincare.matf.bg.ac.rs/~nenad/ip1/6.Algoritmi_drveta_odlucivanja.pdf · drvo a tek iza toga se ide na potkresivanje Formira se više mogucih drveta sa

Drveta odlucivanja- algoritmiID3

C4.5

CART

Graficko predstavljanje

CHAID

QUEST

SLIQ

SPRINT

4.5

C4.5 (nastavak)

• Koristi numericke atribute (diskretizacija,sortiranje radi najbolje podele)

• Za klasu u listu bira se najbrojnija klasa (metodaglasanja)

• Vrši se naknadno potkresivanje drveta• smanjenje nivoa greške (koristi se posebna test

datoteka)• pesimisticka procena greške (ukljuceni su svi

podaci)• intervali poverenja (Bernulijeva slucajna

promenljiva)

Page 6: Drveta odlucivanja - algoritmipoincare.matf.bg.ac.rs/~nenad/ip1/6.Algoritmi_drveta_odlucivanja.pdf · drvo a tek iza toga se ide na potkresivanje Formira se više mogucih drveta sa

Drveta odlucivanja- algoritmiID3

C4.5

CART

Graficko predstavljanje

CHAID

QUEST

SLIQ

SPRINT

4.6

C4.5 nedostajuce vrednosti

Nedostajuce vrednosti

• Izbor atributa za deobu u cvoru koji sadrži NV?• iskljuciti instancu• zameniti najcešcu vrednost umesto NV• informaciona dobit× % poznatih vrednosti• popuniti vrednost ("razlicita" vrednost,

predvidanje na osnovu ostalih atributa)

Page 7: Drveta odlucivanja - algoritmipoincare.matf.bg.ac.rs/~nenad/ip1/6.Algoritmi_drveta_odlucivanja.pdf · drvo a tek iza toga se ide na potkresivanje Formira se više mogucih drveta sa

Drveta odlucivanja- algoritmiID3

C4.5

CART

Graficko predstavljanje

CHAID

QUEST

SLIQ

SPRINT

4.7

C4.5 nedostajuce vrednosti

Atribut za podelu sadrži NV - gde se smeštainstanca u podeli?

• iskljuciti instancu• instanca ima najcešcu vrednost atributa• pridružiti instancu svakoj grani procentualno

prema broju poznatih vrednosti atributa ugranama

• pridružiti je svakoj grani• napraviti posebnu granu sa instancama sa NV• odrediti najslicniju vrednost i dodeliti je

odgovarajucoj grani• dodeliti instancu samo jednoj grani u %

poznatih vrednosti atr. koje su u toj grani

Page 8: Drveta odlucivanja - algoritmipoincare.matf.bg.ac.rs/~nenad/ip1/6.Algoritmi_drveta_odlucivanja.pdf · drvo a tek iza toga se ide na potkresivanje Formira se više mogucih drveta sa

Drveta odlucivanja- algoritmiID3

C4.5

CART

Graficko predstavljanje

CHAID

QUEST

SLIQ

SPRINT

4.8

C4.5 nedostajuce vrednosti

Kako se klasifikuje nova instanca sa NV atributa?

Smešta se u• posebnu grana za NV, ako postoji• granu sa najcešcom vrednošcu atributa• granu sa predvidenom najslicnijom vrednošcu• distribuira u grane prema relativnoj verovatnoci

dobijenoj kombinovanjem rezultata simultanogpretraživanja za sve moguce ishode testiranja.Konacna klasa - klasa sa najvecomverovatnocom u ukupnoj distribuciji u drvetu

Page 9: Drveta odlucivanja - algoritmipoincare.matf.bg.ac.rs/~nenad/ip1/6.Algoritmi_drveta_odlucivanja.pdf · drvo a tek iza toga se ide na potkresivanje Formira se više mogucih drveta sa

Drveta odlucivanja- algoritmiID3

C4.5

CART

Graficko predstavljanje

CHAID

QUEST

SLIQ

SPRINT

4.9

C4.5 naslednici

Naslednici• J4.8 (Java) – izvorni kod npr. u Weki• C 5.0 (komercijalna verzija, na Windows-u se

koristi i ime See 5)• Manji skup pravila sa istom preciznošcu• Poboljšanje zasnovano na dodatnom

podsticanju (boosting) – kombinovanje razlicitihklasifikatora radi povecanja preciznosti

• Smanjeno korišcenje memorije za 90% (?)• Radi izmedu 5.7 i 240 (?) puta brže od C4.5• Niži nivo greške od C4.5 i manje drvo

odlucivanja• Radi sa težinama atributa

Page 10: Drveta odlucivanja - algoritmipoincare.matf.bg.ac.rs/~nenad/ip1/6.Algoritmi_drveta_odlucivanja.pdf · drvo a tek iza toga se ide na potkresivanje Formira se više mogucih drveta sa

Drveta odlucivanja- algoritmiID3

C4.5

CART

Graficko predstavljanje

CHAID

QUEST

SLIQ

SPRINT

4.10

C4.5 Algoritam

/* Skup vrednosti D; el - min. br. podataka u cvoru */

C4.5(D, el)beginTrazeno drvo T={}if svi elementi D pripadaju istoj klasi

ili ih ima manje od elthen zavrsi algoritam

Za svaki atribut x iz Dizracunati informacionu dobit u slucaju podele po x

Formirati cvor Y u kome se za podelu koristi atribut xkoji ima najvecu informacionu dobit

Bira se podskup Dy = f(x)Za svaki skup Dy

{Odredi Ty=C4.5(Dy)Dodaj Ty kao granu T u cvoru Y}

Vrati Tend

Page 11: Drveta odlucivanja - algoritmipoincare.matf.bg.ac.rs/~nenad/ip1/6.Algoritmi_drveta_odlucivanja.pdf · drvo a tek iza toga se ide na potkresivanje Formira se više mogucih drveta sa

Drveta odlucivanja- algoritmiID3

C4.5

CART

Graficko predstavljanje

CHAID

QUEST

SLIQ

SPRINT

4.11

CART

• CART - Classification And Regression Trees• Breiman, Friedman, Olshen, Stone 1984• Teorijski zasnovan, sveobuhvatan• Klasifikacioni problem – predvida se vrednost

atributa (klase) koji je kategoricki na osnovuneprekidnih i/ili kategorickih atributa

• Regresioni problem – predvida se vrednostatributa (klase) koji je neprekidan na osnovuneprekidnih i/ili kategorickih atributa

Page 12: Drveta odlucivanja - algoritmipoincare.matf.bg.ac.rs/~nenad/ip1/6.Algoritmi_drveta_odlucivanja.pdf · drvo a tek iza toga se ide na potkresivanje Formira se više mogucih drveta sa

Drveta odlucivanja- algoritmiID3

C4.5

CART

Graficko predstavljanje

CHAID

QUEST

SLIQ

SPRINT

4.12

CART (nastavak)

Razlicite metode za proveru rezultata• klasifikacija: Gini, "twoing", uredeni "twoing"• "twoing"

• nije vezan za meru necistoce cvora• koristi se za kategoricke atribute• poredi distribuciju u dete-cvorovima - deli skup

na dva ≈ jednaka dela• uredeni "twoing" - grupiše zajedno instance sa

susednim klasama rednih ciljnih atributa

• kasnije dodate entropija, χ2, simetricni gini,...

Page 13: Drveta odlucivanja - algoritmipoincare.matf.bg.ac.rs/~nenad/ip1/6.Algoritmi_drveta_odlucivanja.pdf · drvo a tek iza toga se ide na potkresivanje Formira se više mogucih drveta sa

Drveta odlucivanja- algoritmiID3

C4.5

CART

Graficko predstavljanje

CHAID

QUEST

SLIQ

SPRINT

4.13

CART (nastavak)

• Binarna podela• Instanca se prosleduje levo ako je ispunjen

uslov, i desno u suprotnom

• Prethodne verovatnoce i nebalansirane klase• automatski uklanja disbalans klasa• mehanizam prethodnika -verovatnoca svake

ciljne kategorije u materijalu za trening• koriste se kao težine, bez uticaja na krajnju

distribuciju klasa• Nedostajuce vrednost - surogati

• atribut koji najbolje podražava (npr. ista klasa)atribut po kome se deli

Page 14: Drveta odlucivanja - algoritmipoincare.matf.bg.ac.rs/~nenad/ip1/6.Algoritmi_drveta_odlucivanja.pdf · drvo a tek iza toga se ide na potkresivanje Formira se više mogucih drveta sa

Drveta odlucivanja- algoritmiID3

C4.5

CART

Graficko predstavljanje

CHAID

QUEST

SLIQ

SPRINT

4.14

CART Potkresivanje drveta

• U orignalnoj verziji konstruiše se kompletnodrvo a tek iza toga se ide na potkresivanje

• Formira se više mogucih drveta sa pokresanimgranama/poddrvetom za svaka dva lista kojaimaju zajednickog pretka

• Potkresivanje rezanjem troškova (eng. costcomplexity pruning) znatno smanjuje broj drvetakoji se razmatraju

• Optimalno drvo je potkresano drvo sanajmanjom cenom za testne podatke

• Tekuce verzije rade pre-potkresivanje

Page 15: Drveta odlucivanja - algoritmipoincare.matf.bg.ac.rs/~nenad/ip1/6.Algoritmi_drveta_odlucivanja.pdf · drvo a tek iza toga se ide na potkresivanje Formira se više mogucih drveta sa

Drveta odlucivanja- algoritmiID3

C4.5

CART

Graficko predstavljanje

CHAID

QUEST

SLIQ

SPRINT

4.15

CART - neke karakteristike

• Odredivanje važnosti atributa• Koristi se zbir unapredenja (dobiti) svih cvorova

u kojima se atribut koristi za deobu pomnožensa procentom trening podataka u cvoru

• Surogati ulaze u razmatranje

• Matrica cene• Težine

Page 16: Drveta odlucivanja - algoritmipoincare.matf.bg.ac.rs/~nenad/ip1/6.Algoritmi_drveta_odlucivanja.pdf · drvo a tek iza toga se ide na potkresivanje Formira se više mogucih drveta sa

Drveta odlucivanja- algoritmiID3

C4.5

CART

Graficko predstavljanje

CHAID

QUEST

SLIQ

SPRINT

4.16

ROC kriva

Page 17: Drveta odlucivanja - algoritmipoincare.matf.bg.ac.rs/~nenad/ip1/6.Algoritmi_drveta_odlucivanja.pdf · drvo a tek iza toga se ide na potkresivanje Formira se više mogucih drveta sa

Drveta odlucivanja- algoritmiID3

C4.5

CART

Graficko predstavljanje

CHAID

QUEST

SLIQ

SPRINT

4.17

Kriva informacione dobiti

Page 18: Drveta odlucivanja - algoritmipoincare.matf.bg.ac.rs/~nenad/ip1/6.Algoritmi_drveta_odlucivanja.pdf · drvo a tek iza toga se ide na potkresivanje Formira se više mogucih drveta sa

Drveta odlucivanja- algoritmiID3

C4.5

CART

Graficko predstavljanje

CHAID

QUEST

SLIQ

SPRINT

4.18

CHAID

• CHAID (Chi-Squared Automatic InteractionDetector) - Kass 1980. godine

• Atribut klase - samo kategoricki• Ostali atributi imenski, redni, kategoricki,

neprekidni (neprekidni se transformišu u redne)• Tri koraka (uparivanje, podela, zaustavljanje)• Drvo klasifikacije se formira uzastopnom

primenom ovih pravila na svaki cvor, pocev odkorenog

Page 19: Drveta odlucivanja - algoritmipoincare.matf.bg.ac.rs/~nenad/ip1/6.Algoritmi_drveta_odlucivanja.pdf · drvo a tek iza toga se ide na potkresivanje Formira se više mogucih drveta sa

Drveta odlucivanja- algoritmiID3

C4.5

CART

Graficko predstavljanje

CHAID

QUEST

SLIQ

SPRINT

4.19

CHAID (nastavak)

• Za svaki atribut a odreduje se par vrednosti Va

sa najmanjom znacajnošcu razlike (tj. najslicniji)• Racuna se p vrednost u odnosu na atribut

klase. Za podelu se bira atribut sa najmanjom pvrednošcu statistickog testa - cvor sadržihomogene vrednosti

• Proverava se da li je p vrednost veca od praga• Ako jeste, par se uparuje u jednu složenu

kategoriju i traži se sledeci par vrednosti• Proces se završava kada nema znacajnih

parova

Page 20: Drveta odlucivanja - algoritmipoincare.matf.bg.ac.rs/~nenad/ip1/6.Algoritmi_drveta_odlucivanja.pdf · drvo a tek iza toga se ide na potkresivanje Formira se više mogucih drveta sa

Drveta odlucivanja- algoritmiID3

C4.5

CART

Graficko predstavljanje

CHAID

QUEST

SLIQ

SPRINT

4.20

CHAID (nastavak)

• Statisticki test = f(tipa atributa klase)• neprekidan - F mera• nominalan - χ2 test• redni – test odnosa verovatnoca

• Kriterijum zaustavljanja• pre-potkresivanje• ne postoji ≤ zadatog praga• dostignuta najveca (zadata) dubina drveta• dostignut najmanji broj elemenata u cvoru

• n-arno drvo

Page 21: Drveta odlucivanja - algoritmipoincare.matf.bg.ac.rs/~nenad/ip1/6.Algoritmi_drveta_odlucivanja.pdf · drvo a tek iza toga se ide na potkresivanje Formira se više mogucih drveta sa

Drveta odlucivanja- algoritmiID3

C4.5

CART

Graficko predstavljanje

CHAID

QUEST

SLIQ

SPRINT

4.21

CHAID (nastavak)

Rad sa nedostajucim vrednostima• Ako se podela vršu na osnovu atributa koji

sadrži NV instanca se ne koristi• Ako svi atributi imaju NV instanca se ignoriše• NV se tretira kao posebna kategorija

Iscrpan CHAID algoritam (Exhaustive CHAID)• Modifikacija CHAID - proverava sve moguce

podele ukrštanjem atributa• Zahteva više vremena od CHAID

Page 22: Drveta odlucivanja - algoritmipoincare.matf.bg.ac.rs/~nenad/ip1/6.Algoritmi_drveta_odlucivanja.pdf · drvo a tek iza toga se ide na potkresivanje Formira se više mogucih drveta sa

Drveta odlucivanja- algoritmiID3

C4.5

CART

Graficko predstavljanje

CHAID

QUEST

SLIQ

SPRINT

4.22

QUEST

• QUEST - Quick, Unbiased, Efficient StatisticalTrees

• Podržava univarijantne i linearne kombinacijepodela vrednosti u cvoru

• Veza izmedu atributa klase i atributa pri podeli• ANOVA F–test ili Levene-ov test za redne i

neprekidne atribute• χ2 test za kategoricke atribute

• Post-potkresivanje drveta• Atribut klase - samo kategoricki• Ostali atributi imenski, redni, kategoricki,

neprekidni• Binarna podela

Page 23: Drveta odlucivanja - algoritmipoincare.matf.bg.ac.rs/~nenad/ip1/6.Algoritmi_drveta_odlucivanja.pdf · drvo a tek iza toga se ide na potkresivanje Formira se više mogucih drveta sa

Drveta odlucivanja- algoritmiID3

C4.5

CART

Graficko predstavljanje

CHAID

QUEST

SLIQ

SPRINT

4.23

SLIQ

• SLIQ - Supervised Learning In Quest• Varijanta QUEST-a razvijena u IBM-u za

klasifikaciju velikih trening podataka• Efikasno radi sa podacima koji ne mogu da

stanu u memoriju racunara• Nije zasnovan na principu Hantovog algoritma• Koristi se tehnika rasta drveta prvo u širinu• Tehnika presortiranja u fazi rasta drveta• Koristi vertikalni format podataka - na pocetku

se svi podaci sortiraju i smeste u listu

Page 24: Drveta odlucivanja - algoritmipoincare.matf.bg.ac.rs/~nenad/ip1/6.Algoritmi_drveta_odlucivanja.pdf · drvo a tek iza toga se ide na potkresivanje Formira se više mogucih drveta sa

Drveta odlucivanja- algoritmiID3

C4.5

CART

Graficko predstavljanje

CHAID

QUEST

SLIQ

SPRINT

4.24

SLIQ (nastavak)

• Podela na osnovu gini indeksa• Koristi listu klasa - strukturu rezidentnu u

memoriji koja cuva oznake klasa svake instance• Velicina liste klasa je direktno proporcionalna

broju broju ulaznih slogova• Kategoricki i numericki atributi• Potkresivanje - tehnika zasnovana na MDL• Implementacija za serijsko i paralelno

izvršavanje

Page 25: Drveta odlucivanja - algoritmipoincare.matf.bg.ac.rs/~nenad/ip1/6.Algoritmi_drveta_odlucivanja.pdf · drvo a tek iza toga se ide na potkresivanje Formira se više mogucih drveta sa

Drveta odlucivanja- algoritmiID3

C4.5

CART

Graficko predstavljanje

CHAID

QUEST

SLIQ

SPRINT

4.25

SPRINT

• SPRINT (Scalable PaRallelizable INduction ofdecision Trees)

• SPRINT je modifikacija SLIQ algoritma kojauklanja memorijska ogranicenja

• Oznake klasa pridružuje identifikatorimainstanci

• Kategoricki i numericki atributi• Implementacija za serijsko i paralelno

izvršavanje