Sunteți pe pagina 1din 78

Introducere n Data Mining

Curs 4 - Clasificare: Concepte de baza, arbori de decizie, evaluarea


modelelor
Lucian Sasu, Ph.D.
Universitatea Transilvania din Brasov, Facultatea de Matematic
a si Informatic
a

March 22, 2012

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

1 / 75

Outline

Preliminarii

Utilizarea arborilor de decizie

Construirea arborilor de decizie

Overfiting si underfitting

Evaluarea performantei unui clasificator

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

2 / 75

Clasificare
Informal: asignarea de obiecte unei anumite categorii dintro multime
fixata de categorii
Exemple: detectarea spamului (categorii: spam/mail legitim),
clasificarea celulelor (canceroase/sanatoase), clasificarea galaxiilor pe
baza formelor lor (spiralate, eliptice), clasificarea tranzactiilor de pe
card (frauduloase/legale), clasificarea automata a stirilor (domeniu
financiar/ sportiv/vreme etc.) etc.

Figure: Procesul de clasificare: pentru o intrare x se determina o iesire asociata y

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

3 / 75

Procesul de construire a unui clasificator

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

4 / 75

Set de antrenare pentru un clasificator


Setul de antrenare: perechi de forma (x, y ), unde y este o eticheta
(clasa, categorie) dintr-o multime discreta si finita
Diferenta fata de regresie, unde iesirea este dintr-o multime continua
Nume
om
piton
somon
balena
broasca
dragon
de Comodo
porumbel
pisica
leopard
pinguin
arici
tipar
salamandra
liliac

Temperatura
sangelui
cald
rece
rece
cald
rece
rece

Corp
acoperit cu
par
solzi
solzi
par
nimic
solzi

Naste

cald
cald
cald
cald
cald
rece
rece
cald

pene
blana
blana
pene
tepi
solzi
nimic
par

lucian.sasu@ieee.org (UNITBV)

Creatura
aeriana
nu
nu
nu
nu
nu
nu

Picioare

Hiberneaza

Clasa

da
nu
nu
da
nu
nu

Creatura
acvatica
nu
nu
nu
da
semi
nu

da
nu
nu
nu
da
da

nu
da
nu
nu
da
nu

mamifer
reptila
peste
mamifer
amfibian
reptila

nu
da
da
nu
da
nu
nu
da

nu
nu
nu
semi
nu
da
semi
nu

da
nu
nu
nu
nu
nu
nu
da

da
da
da
da
da
nu
da
da

nu
nu
nu
nu
da
nu
da
da

pasare
mamifer
mamifer
pasare
mamifer
peste
amfibian
mamifer

Curs 4

March 22, 2012

5 / 75

Definitie, scopuri
Definitie (Clasificare)
Clasificarea este un proces prin care se construieste (nvata, induce) o
functie f care asociaza fiecarui set de atribute x o eticheta de clase y
dintr-o multime predefinita.
Functia f se mai numeste si clasificator sau model de clasificare.
Utilitatea unui clasificator: modelare descriptiv
a si modelare
predictiv
a
Modelare descriptiv
a: un clasificator poate servi ca o modalitate
explicativa sau de sumarizare, ce permite diferentierea ntre clase;
pentru tabelul de mai sus, mecanismul poate fi util biologilor.
Modelarea predictiv
a: un clasificator poate fi folosit pentru a
prezice clasa unui obiect:
Nume
monstru gila

Temperatura
sangelui
rece

lucian.sasu@ieee.org (UNITBV)

Corp
acoperit cu
solzi

Naste
nu

Creatura
acvatica
nu

Curs 4

Creatura
aeriana
nu

Picioare

Hiberneaza

Clasa

da

da

March 22, 2012

6 / 75

Modalitati de construire a clasificatorilor

Metode bazate pe arbori de decizie


Metode bazate pe reguli
Rationare bazata pe memorie
Retele neuronale
Retele Bayesiene si Nave Bayes
Support Vector Machines

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

7 / 75

Clasificatori
Tipuri de date preferate pentru clasificare:
tehnicile de clasificare sunt adecvate pentru seturi de date binare sau
nominale
clasificatorii sunt mai putin utili pentru categorii ordinale deoarece ei
nu iau n considerare relatiile de ordine existente ntre categorii (cu
exceptia retelelor)
nu sunt utilizate n clasificare nici relatiile de forma este un, e.g.
un om este un primat (relatii ierarhice)
Seturi de date folosite n construirea clasificatorilor:
set de antrenare: utilizat pentru construirea clasificatorului
set de testare: utilizat pentru a masura performanta clasificatorului
uneori si set de validare: folosit pentru a alege un clasificator dintr-o
multime de modele candidat
lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

8 / 75

Outline

Preliminarii

Utilizarea arborilor de decizie

Construirea arborilor de decizie

Overfiting si underfitting

Evaluarea performantei unui clasificator

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

9 / 75

Arbori de decizie: componenta


Nod r
ad
acin
a nod care nu are arce ce intra n el si zero sau mai
multe arce care ies
Nod intern are exact un singur nod care intra in el si doua sau
mai multe arce care ies
Frunz
a sau nod terminal exact un singur nod intra, niciun arc
care iese
In nodurile neterminale se afla predicate; rezultatul aplicarii predicatului pe
valoarea concreta a unui atribut determina arcul pe care se merge mai
departe.

Figure: Arbore de decizie


lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

10 / 75

Arbori de decizie: exemplu

Figure: Exemplu de arbore de decizie


lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

11 / 75

Arbori de decizie: exemplu

Figure: Se poate sa se obtina mai multi arbori de decizie pornind de la un acelasi


set de date.
lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

12 / 75

Arbori de decizie: utilizare

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

13 / 75

Arbori de decizie: utilizare

Figure: Utilizare: se porneste de la nodul radacina


lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

14 / 75

Arbori de decizie: utilizare

Figure: Se foloseste valoarea efectiva a atributului Refund prezent n radacina


lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

15 / 75

Arbori de decizie: utilizare

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

16 / 75

Arbori de decizie: utilizare

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

17 / 75

Arbori de decizie: utilizare

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

18 / 75

Arbori de decizie: utilizare

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

19 / 75

Outline

Preliminarii

Utilizarea arborilor de decizie

Construirea arborilor de decizie

Overfiting si underfitting

Evaluarea performantei unui clasificator

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

20 / 75

Arbori de decizie: algoritmi de constructie

Numarul de arbori care poate fi creat pentru un set de date este


exponential n numarul de atribute
Determinarea arborelui optim este computational infezabila
Dar: se pot determina arbori suboptimali suficienti de buni
Algoritmi:
Algoritmul lui Hunt unul din primii dezvoltati
CART
ID3, C4.5
SLIQ, SPRINT

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

21 / 75

Structura generala a algoritmului lui Hunt

Fie Dt setul de date din multimea de antrenare ce corespund unui nod


t; fie y = {y1 , y2 , . . . , yc } toate etichetele de clase.
Procedura generala este:
1

Daca toate nregistrarile din Dt au aceeasi clasa yt asociata, atunci t


este o frunza etichetata yt
Daca Dt contine nregistrari care apartin mai multor clase, atunci se
selecteaza o conditie de test pe un atribut pentru a partitiona
nregistrarile n subseturi mai mici. Se creeaza cate un nod copil pentru
fiecare rezultat al testului si nregistrarile din Dt sunt distribuite acestor
noduri copil.
Algoritmul se aplica recursiv fiecarui nod copil obtinut la punctul
anterior.

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

22 / 75

Exemplu de aplicare a algoritmului lui Hunt

Figure: Algoritmul lui Hunt pentru construirea arborelui de decizie


lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

23 / 75

Algoritmul lui Hunt: probleme


Daca fiecare combinatie de valori de atribute este prezenta n setul de
date, algoritmul functioneaza
Daca fiecare combinatie de valori are o singura eticheta de clasa
atasata, atunci algoritmul functioneaza
Pentru situatii care nu concorda cu conditiile de mai sus, algoritmul
s-ar putea sa fie n impas
In practica primele doua conditii sunt rareori ndeplinite
Se adauga urmatoarele strategii:
1

pentru unele noduri copil obtinute la pasul 2 se poate ca multimea de


nregistrari sa fie vida, daca niciuna din nregistrarile din setul de
antrenare nu are combinatia de valori asociata acestui nod. In acest
caz, un nod se declara frunza avand eticheta egala cu eticheta
majoritara din setul de date asociat.
daca toate nregistrarile din Dt au aceleasi valori de atribute
(exceptand pentru eticheta de clasa), atunci nu se pot obtine noduri
copil. Nodul este declarat frunza cu aceeasi politica de etichetare ca la
punctul anterior.

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

24 / 75

Algoritmul lui Hunt: aspecte ce trebuie clarificate

Cum ar trebui partitionate seturile Dt ? algoritmul trebuie sa aleaga o


metoda de specificare a conditiei de test precum si o masura care sa
spuna cat de buna este o partitionare concreta
Cand ar trebui sa se opreasca procesul de partitionare? Se poate
continua procesul de divizare pana ce se ntalnesc conditiile de mai
sus, dar pot fi folosite si alte criterii care permit stoparea cresterii
arborelui, cu efecte pozitive asupra puterii de generalizare a modelului.

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

25 / 75

Algoritmul lui Hunt: conditii pe nod

Specificarea testului de partitionare este dependenta de tipul


atributelor:
nominale
ordinale
continue

Se poate pune n discutie care e numarul de partitii rezultate:


Partitie binara
Partitie n-ara

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

26 / 75

Algoritmul lui Hunt: atribute nominale


Multe valori asociate
Se pot lua n considerare toate valorile, pe rand sau se poate face
partitionare binara

Figure: Partitia unui atribut nomial dupa toate valorile

Figure: Partitionare binara unui atribut nominal multivaloare


lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

27 / 75

Algoritmul lui Hunt: atribute ordinale


Se poate face partitionare dupa fiecare valoare a atributului n parte
Daca se face partitionare binara atunci pe baza ordinii, valorile
adiacente trebuie grupate mpreuna

Figure: Partitionare de atribut ordinal, dupa toate valorile

Figure: Partitionare binara a unui atribut ordinal multivaloare

Figure: Partitionare binara gresit


a a unui atribut ordinal multivaloare

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

28 / 75

Algoritmul lui Hunt: atribute continue


Conditia de test poate fi exprimata ca o comparatie cu un prag
A < v sau A v
Se pot ncerca mai multe valori pentru v si solutia e computational
intensiva
Alternativa: interogare de forma vi A < vi+1 , pentru i = 1, . . . , k:
discretizare
Discretizarea poate fi statica (fixata de la nceput) sau dinamica
(mpartire n intervale de dimensiuni egale sau percentile sau prin
clustering)

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

29 / 75

Selectarea unei partitii bune


Se foloseste o masura care cuantifica eficienta unei partitionari
Se prefera partitionari care duc la crearea de noduri cat mai omogene

(a)
(b)
PartitionarePartitionare
neocu grad
mogen
a de
omogenitate mai
mare

Figure: Partitionare neomogena vs. mai omogena

Strategia generala: greedy, alege cea mai buna varianta locala


Greedy nu duce neaparat la optimul global
lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

30 / 75

Masurarea impuritatii nodului


Pentru un nod t notam p(i|t) fractia (frecventa relativa) de
nregistrari din clasa i aferente nodului t
Functii care masoara gradul de impuritate:
Entropie(t) =

c
X

p(i|t) log2 p(i|t)

(1)

i=1

Gini(t) = 1

c
X

[p(i|t)]2

(2)

i=1

Eroarea de clasificare(t) = 1 max[p(i|t)]


i

(3)

c este numarul de clase


Pentru ec. (1) se considera ca 0 log2 0 = lim x log2 (x) = 0
x0

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

31 / 75

Masurarea impuritatii nodului

Figure: Compararea masurilor de impuritate pentru problema de clasificare binara

Minimul este 0, pentru cazul p {0, 1}


maximul se obtine pentru p = 0.5, deci pentru un nod omogenitatea
(respectiv eterogenitatea) este minima (maxima)
lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

32 / 75

Castigul de informatie
Pentru a vedea cat de bine se comporta o functie de masura a
impuritatii se calculeaza castigul de informatie C.I. (eng: information
gain)
C.I.-ul este diferenta dintre gradul de impuritate a parintelui (nainte
de partitionare) si impuritatea copiilor (dupa partitionare):
info = I (parinte)

k
X
j=1

N(vj )
I (vj )
N(parinte)

(4)

unde:
I () este masura de impuritate a nodului argument
k este numarul de noduri copil rezultati dupa partitionare
N() este numarul de nregistrari pentru nodul curent

Scopul este de a obtine o partitionare (un test) care sa maximizeze


castigul de informatie; echivalent, sa duca la minimizarea mediei
ponderate de impuritati a copiilor (suma din ec. (4))
I = entropia: este castigul de informatie (information gain).
lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

33 / 75

Exemplu: indexul Gini


Formula:
Gini(t) = 1

c
X

[p(j|t)]2

j=1

c este numarul de clase


valoarea maxima se obtine daca p(1|t) = = p(c|t) si este 1

1
c

valoarea minima se obtine daca toate nregistrarile din nod fac parte
dintro aceeasi clasa
Clasa 1
Clasa 2

0
6

P(Clasa 1) = 0/6 = 0; P(Clasa 2) = 6/6 = 1


Gini = 1 - P(Clasa 1)2 - P(Clasa 2)2 = 1 - 0 - 1 = 0

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

34 / 75

Exemplu: indexul Gini


Formula:
Gini(t) = 1

c
X

[p(j|t)]2

j=1

c este numarul de clase


valoarea maxima se obtine daca p(1|t) = = p(c|t) si este 1

1
c

valoarea minima se obtine daca toate nregistrarile din nod fac parte
dintro aceeasi clasa
Clasa 1
Clasa 2

0
6

P(Clasa 1) = 0/6 = 0; P(Clasa 2) = 6/6 = 1


Gini = 1 - P(Clasa 1)2 - P(Clasa 2)2 = 1 - 0 - 1 = 0

Clasa 1
Clasa 2

1
5

P(Clasa 1) = 1/6; P(Clasa 2) = 5/6


Gini = 1 (1/6)2 (5/6)2 = 0.278

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

34 / 75

Exemplu: indexul Gini


Formula:
Gini(t) = 1

c
X

[p(j|t)]2

j=1

c este numarul de clase


valoarea maxima se obtine daca p(1|t) = = p(c|t) si este 1

1
c

valoarea minima se obtine daca toate nregistrarile din nod fac parte
dintro aceeasi clasa
Clasa 1
Clasa 2

0
6

P(Clasa 1) = 0/6 = 0; P(Clasa 2) = 6/6 = 1


Gini = 1 - P(Clasa 1)2 - P(Clasa 2)2 = 1 - 0 - 1 = 0

Clasa 1
Clasa 2

1
5

P(Clasa 1) = 1/6; P(Clasa 2) = 5/6


Gini = 1 (1/6)2 (5/6)2 = 0.278

Clasa 1
Clasa 2

2
4

P(Clasa 1) = 2/6; P(Clasa 2) = 4/6


Gini = 1 (2/6)2 (4/6)2 = 0.444

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

34 / 75

Exemplu: partitionarea folosind indexul Gini

Folosita n algoritmii CART, SLIQ, SPRINT


Formula indexului Gini:
GINIpartitie =

k
X
ni
i=1

Gini(i)

k e numarul de partitii, n e numarul de nregistrari din nodul ce se


partitioneaza, ni este numarul de nregistrari din fiecare partitie
Se ignora Gini(parinte) din ecuatia (4) deoarece are aceeasi valoare,
indiferent de cum este el partitionat
Efectul termenilor din suma: se prefera partitii cat mai mari si cat mai
pure

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

35 / 75

Exemplu: partitionarea unui atribut binar folosind Gini


Pentru atribut binar nodul va avea doi descendenti
Exemplu: partitionarea unui nod care are 6 nregistrari din clasa C1 si
6 din C2

C1
C2

N1
5
2

N2
1
4

Figure: Partitionarea unui nod cu test pe un atribut binar

Gini(N1) = 1 - (5/6)2 - (2/6)2 = 0.194; Gini(N2) = 1 - (1/6)2 (4/6)2 =0.528


Gini(partitie) = 7/12 0.194 + 5/12 0.528 = 0.333

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

36 / 75

Exemplu: partitionarea unui atribut categorial folosind Gini


Pentru fiecare valoare a atributului categorial se determina frecventa
nregistrarilor cu acea valoare
Se poate face partitionare dupa fiecare valoare sau partitionari binare

C1
C2
Gini

Tipul masinii
Familie Sport Lux
1
2
1
4
1
1
0.393

C1
C2
Gini

Table: Partitionare dupa fiecare


valoare a atributului

C1
C2
Gini

Tipul masinii
{Sport, Lux} {Familie}
3
1
2
4
0.400

Table: Partitionare binara

Tipul masinii
{Sport} {Lux,Familie}
2
2
1
5
0.419

Table: Partitionare binara


lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

37 / 75

Exemplu: partitionarea unui atribut continuu


Se poate utiliza un arbore de decizie binar, cu test pe o valoare v :
venit anual v
Varianta brute force pentru determinarea lui v : se considera toate
valorile distincte ale atributului continuu
Pentru fiecare valoare v se considera fiecare din cei N candidati
pentru a vedea pozitionarea fata de v
Pentru v se considera pe rand fiecare valoare din cele N
Rezultat: complexitatea este O(N 2 )
Varianta mai eficienta: se sorteaza cele N valori, efort computational
O(N log N); se considera valorile aflate la jumatate dintre doua
numere adiacente;
Se itereaza peste valorile sortate, actualizand de fiecare data matricea
de contorizare
Se alege valoarea lui v pentru valoarea Gini minima
lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

38 / 75

Exemplu: partitionarea unui atribut continuu

Figure: Partitionarea pentru atribut continuu

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

39 / 75

Rata castigului
Engleza: gain ratio
Atat entropia cat si indexul Gini tind sa favorizeze atributele care au
un numar mare de valori distincte
In figura de mai jos: Car type da un mod mai bun de partitionare
decat Own car; ID-ul da chiar o partitionare cu o singura nregistrare
pe nod copil, deci pare ideal

Figure: Posibilitati de partitionare

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

40 / 75

Rata castigului

Ce e gresit n partitionarea dupa ID?

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

41 / 75

Rata castigului

Ce e gresit n partitionarea dupa ID?


Chiar si pentru o situatie mai putin extrema decat cea pentru ID,
daca se obtin partitii cu putine valori pe fiecare subset, numarul de
nregistrari pe partitie sar putea sa fie prea mic pentru a permite
predictii (cat mai) exacte
Solutii
1

Se permit doar partitionari n doua submultimi algoritmul CART


functioneaza astfel
Se modifica criteriul de partitionare pentru a lua n considerare numarul
de submultimi care alcatuiesc partitia

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

41 / 75

Rata castigului
Pentru a doua strategie algoritmul C4.5 foloseste gain ratio
definit ca:
info
Gain ratio =
(5)
Split info
unde Split Info este entropia

k
X

P(vj ) log2 P(vj )

j=1

cu P(vj ) numarul de nregistrari din nodul vj , iar k numarul de


submultimi care alcatuiesc partitia
Exemplu: daca sunt k submultimi ce alcatuiesc partitia si fiecare din
acestea are acelasi numar de elemente, atunci P(vj ) = k1 , j = 1 . . . k,
entropia este maxima iar raportul din ecuatia (5) scade.
lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

42 / 75

Oprirea construirii arborelui

Se opreste expandarea unui nod atunci cand toate nregistrarile din el


apartin aceleiasi clase nu mai ai de ce sa faci discriminare
Sau cand toate atributele au aceleasi valori nu se mai poate face
discriminare
Terminare mai devreme (va fi discutat)

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

43 / 75

Algoritmul pentru construirea arborelui de decizie

Figure: Schita algoritmului de construire a arborelui de decizie

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

44 / 75

Exemplu: C4.5
Creator: Ross Quinlan
Extensie a lui ID3
Spre deosebire de ID3:
poate manipula atat valori discrete cat si continue
poate sa manipuleze date de antrenare cu valori lipsa; valorile lipsa nu
sunt considerate pentru calcularea gain si entropie
poate manipula atribute ce au atasate diverse costuri

Foloseste information gain


Sorteaza atributele continue la fiecare nod
Cere ca toate datele sa fie ncarcate n memoria RAM
Open source, se poate descarca de la adresa:
http://www.rulequest.com/Personal/c4.5r8.tar.gz
Varianta urmatoare: C5, dar oferita contra cost
lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

45 / 75

Exemplu: detectarea robotilor web


Optimizarea unui site ar trebui sa se faca strict pe baza actiunilor
manifestate de oameni
Parcurgerea site-ului de catre web crawlers nu este relevanta pentru
restructurarea siteului
Intrare: web server logs; vizitele din cadrul unei sesiuni sunt modelate
ca graf
Datele trebuie sa fie cumva etichetate nainte de construirea arborelui
de decizie

Figure: Arbore de decizie: vizitator uman vs. robot web

Detalii: Introduction to data mining, cap 4


lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

46 / 75

Aspecte ale constructiei arborilor de decizie


Construirea arborilor de decizie este o metoda neparametrica pentru
construirea de clasificator = nu cere presupuneri apriori asupra
distributiei datelor
Gasirea unui arbore de decizie optim este o problema prohibitiv
d.p.d.v. computational, datorita numarului mare de variante; sunt
implicate euristici pentru reducerea volumului de calcul
Algoritmii de construire sunt de regula rapizi; clasificarea pe baza lor
este si mai rapida
Sunt usor de interpretat
Acuratete comparabila cu a altor tipuri de clasificatori
Relativ rezistenti n fata datelor cu zgomot
Atributele redundante (puternic corelate cu alte atribute) nu
afecteaza acuratetea arborilor obtinuti
lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

47 / 75

Aspecte ale constructiei arborilor de decizie (cont)


Atributele irelevante pot afecta calitatea arborilor de decizie; acestia
se pot elimina prin tehnici de selectare a trasaturilor
Numarul de nregistrari scade pe masura ce te scufunzi n
construirea arborelui = problema fragmentarii datelor. La frunze sar
putea sa fie prea putine nregistrari care sa poata fi folosite n luarea
unor decizii statistic semnificative n ceea ce priveste etichetarea
Un subarbore sar putea sa fie replicat de mai multe ori n arborele
final:

Figure: Problema replicarii subarborelui: acelasi subarbore poate aparea la


mai multe niveluri
lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

48 / 75

Aspecte ale constructiei arborilor de decizie (cont)


In cele de mai sus pentru fiecare nod se considera cate un singur
atribut la un moment dat. Ca atare, regiunile de decizie sunt drepte
paralele cu axele de coordonate:
Deciziile se pot lua si altfel: folosind mai multe atribute concomitent
(e.g. x + y < 1, pentru datele din figura 24(b)) sau cu functii
neliniare

(a) Arbore de decizie cu regiuni de de- (b) Set de date care nu poate fi
cizie paralele cu axele
partitionat folosind un singur atribut

Alegerea masurii de impuritate nu are un efect deosebit asupra


performantei arborilor obtinuti
lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

49 / 75

Outline

Preliminarii

Utilizarea arborilor de decizie

Construirea arborilor de decizie

Overfiting si underfitting

Evaluarea performantei unui clasificator

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

50 / 75

Overfitting si underfitting
Erorile sunt grupate n doua categorii: erori de antrenare si erori de
testare
Erori de antrenare: evaluate pentru setul de antrenare, dupa
construirea clasificatorului
Erori de testare: rezultat obtinut pe set de testare
Un bun clasificator trebuie sa aibe erori mici pe ambele seturi de date
Daca modelul (clasificatorul) se potriveste pe datele de antrenare prea
bine, atunci sar putea ca pe setul de testare sa dea erori mari =
eroare de overfitting
Daca modelul este insuficient elaborat, atunci va da erori mari atat de
antrenare, cat si de testare
Daca sar continua antrenarea modelului la perfectie pe setul de
antrenare, atunci sar putea ca unele noduri sa reprezinte accidental
date cu zgomot sau outliers (date inerent existente ntrun volum
mare);
In decursul antren
arii nu se foloseste n niciun fel setul de
testare!

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

51 / 75

Overfitting si underfitting

Figure: Problema de overfitting si underfitting: pentru underfitting, erorile de


antrenare si de testare sunt mari. Pentru overfitting, erorile de antrenare sunt (din
ce n ce mai) mici, dar erorile de testare sunt (tot mai) mari
lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

52 / 75

Cauze pentru overfitting: date cu zgomot


Un arbore de decizie care se potriveste prea bine setului de antrenare
este senzitiv la datele zgomot
Astfel de erori nu pot fi evitate si stabilesc o rata de eroare minima pe
care o poate atinge un clasificator

Figure: Punct zgomot care influenteaza crearea regiunii de decizie.


lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

53 / 75

Cauze pentru overfitting: date nereprezentative


Daca suprafata de decizie este formata pornind de la putine date,
exista riscul ca datele de test situate n vecinatatea regiunii de decizie
sa fie gresit clasificate
Lipsa de date face dificila predictia

Figure: Construirea unui clasificator plecand de la un set de date nereprezentativ


pentru ceea ce se vrea a fi clasificat. Punctele albastre si bilele rosii sunt setul de
date de antrenare.
lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

54 / 75

Cauze pentru overfitting: compararea multipla

Posibilitatea de a efectua comparatii multiple poate duce la overfitting


Exemplu: pentru problema predictiei evolutiei pietei, presupunem ca
un analist financiar face alegeri aleatoare, dand cu banul
Probabilitatea de a ghici corect cresterea sau scaderea pietii este 0.5
Probabilitatea de a ghici corect evolutia pietei de minim 8 ori din 10
ncercari este:
8 + C 9 + C 10
C10
10
10
= 0.0547
210
Sa presupunem ca avem un grup de 50 de investitori care procedeaza
ca mai sus; alegem pe acel analist care face cele mai multe predictii
corecte n urmatoarele 10 zile

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

55 / 75

Cauze pentru overfitting: compararea multipla


Probabilitatea ca sa existe cel putin un analist care face minim 8
predictii corecte este
1 (1 0.0547)50 = 0.9399
Chiar daca un analist are probabilitatea mica de predictie corecta,
fiind suficient de multi, sansa de nimerire la gramada este mare
(Principiul lui Bonferroni)
Dar nu e nicio garantie c
a analistul care a realizat cele mai
multe predictii corecte va fi bun si n continuare!
Posibilitatea de alegere creeaza aparenta posibilitatii gasirii unui
predictor, dar acesta singur de fapt nu are un comportament stralucit
Aceeasi problema poate aparea si pentru arbori de decizie: la fiecare
nod se poate sa existe mai multe variante de alegere a criteriului de
partitionare
Castigul datorat acestei partitionari ar trebui sa ia n considerare si
numarul de variante existente, altfel posibilitatile multiple de alegere
pot da aparenta existentei unui criteriu bun
lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

56 / 75

Estimarea erorii de generalizare a unui model

Eroarea de generalizare (de operare pe seturi de date ce nu au fost


folosite la instruirea modelului) este ceea ce intereseaza si se doreste a
fi cat mai mica
Intrucat setul de test nu este de fapt cunoscut apriori, se poate face
doar o estimare a erorii de generalizare
Eroarea de resubstituire:
se presupune ca setul de antrenare este reprezentativ n raport cu setul
de date de test
eroarea de antrenare este folosita ca estimare pentru eroarea de testare
de regula este o estimare mult prea optimista a erorii de testare

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

57 / 75

Estimarea erorii de generalizare a unui model

In loc sa se utilizeze setul de antrenare pentru estimarea erorii, se


poate folosi un set de validare
Setul de antrenare se partitioneaza n doua:
Subset folosit pentru antrenare; de exemplu, 2/3 din datele de
antrenare initiale pot fi folosite pentru acest subset
Subset folosit pentru estimarea erorii de generalizare = set de validare
= restul datelor

Antrenarea nu se face si pe subsetul de validare, ci doar pe primul


subset
Modelul care da cea mai mica eroare pe setul de validare este folosit
mai departe pentru testarea efectiva

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

58 / 75

Includerea complexitatii modelului


Este o opinie larg acceptata faptul ca modelele complexe predispun la
overfitting
Principiu: briciul lui Occam (Occams razor):

Definitie (Briciul lui Occam)


Danduse doua modele cu aceeasi eroare de generalizare, modelul mai
simplu ar trebui preferat (formularea originala: Entia non sunt
multiplicanda praeter necessitatem).
Cea mai simpla explicatie a unui fenomen ar trebui preferata
Echivalent cu principiul enuntat de A. Einstein: Totul ar trebui sa fie
cat mai simplu cu putinta, dar nu mai simplu de atat.
Mod de ncorporare a complexitatii modelului: estimarea pesimist
a
a erorii si principiul descrierii de lungime minim
a
lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

59 / 75

Estimarea pesimista a erorii

Fie n(t) numarul de inregistrari din setul de antrenare pentru frunza t


Notam e(t), (t) numarul de nregistrari gresit clasificate de frunza
t, respectiv termenul de penalizare pentru frunza t
Estimarea pesimista a erorii pentru arborele T este:
P
e(ti ) + (ti )
ti frunz
a
P
eg (T ) =
n(ti )
ti frunz
a

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

60 / 75

Estimarea pesimista: exemplu

Figure: Arbore binar de decizie pentru o problema de dihotomie. Clasificarea n


nodurile frunza se face pe principiul majoritatii.

Pentru arborele de mai sus consideram ca n setul de antrenare sunt 6


nregistrari clasificate eronat
Daca fixam (ti ) = 0.5:
6 + 4 0.5
= 0.3333
24
Interpretarea valorii 0.5 pentru : Introduction to Data Mining,
pag 182.
eg (T ) =

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

61 / 75

Principiul descrierii de lungime minima


Original: Minimum description length (MDL)
Ideea de baza: orice regularitate ntrun set de date poate fi utilizata
pentru a comprima datele, i.e. pentru a le descrie folosind mai putine
simboluri decat ar fi folosite pentru reprezentarea bruta a datelor.
Este o alta manifestare a briciului lui Occam
Un set de date poate fi reprezentat folosind simboluri dintrun alfabet
convenabil ales
Costul transmiterii datelor este calculat ca:
Cost(model, date) = Cost(model) + Cost(date|model)

(6)

unde ultimul termen din suma reprezinta costul transmiterii


suplimentare a datelor gresit clasificate de catre model
Principiul MDL spune ca ar trebui preferate modelele pentru care
costul dat de ec. (6) este minim
lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

62 / 75

Prevenirea overfittingului n arborii de decizie: prepruning

Retezarea apriori (prepruning, early stopping rule)


Opreste algoritmul nainte de a construi complet arborele
Conditiile tipice de oprire sunt:
daca toate nregistrarile din nodul curent sunt din aceeasi clasa
daca toate atributele au aceleasi valori

Conditii de prepruning pentru oprirea partitionarii unui nod:


daca numarul de nregistrari pe nod scade sub o anumita fractie
daca expandarea nodului nu mbunatateste indexul Gini sau castigul
informational
daca distributia claselor este independenta de atributele existente

Exista pericolul impunerii unor conditii prea dure underfitting

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

63 / 75

Prevenirea overfittingului n arborii de decizie:


postprunning

Retezarea ramurilor din arbore se face la sfarsit


Strategie: se creeaza complet arborele de decizie
Se reteaza noduri pornind de la baza spre varf
Daca arborele obtinut generalizeaza mai bine, arborele retezat se
nlocuieste cu o frunza;clasa decisa de frunza se determina prin
majoritate
Se poate utiliza MDL pentru postpruning
Postpruning tinde sa dea rezultate mai bune decat prepruning,
evitand terminarea prematura a procesului de crestere a arborelui

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

64 / 75

Postprunning: exemplu

Class = Yes 20
Class = No 10
Eroare = 10/30
Table: Clasificarea folosind nodul
neterminal
Figure: Obtinerea de noduri copil pe
baza valorilor atributului A

Eroare pe setul de antrenare, nainte de partitionare: 10/30


Eroarea pesimista, nainte de partitionare: (10 + 0.5)/30 = 10.5/30
Eroare pe setul de antrenare, dupa partitionare: 9/30
Eroare pesimista, dupa partitionare: (9 + 40.5)/30 = 11/30
Concluzia: se face retezare
lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

65 / 75

Outline

Preliminarii

Utilizarea arborilor de decizie

Construirea arborilor de decizie

Overfiting si underfitting

Evaluarea performantei unui clasificator

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

66 / 75

Evaluarea performantei unui clasificator: metrici


Se bazeaza pe numararea nregistrarilor din setul de test care sunt
clasificate corect sau incorect
Numerele sunt trecute ntro matrice de confuzie:

Clasa

Clasa = 1

reala

Clasa = 0

Clasa prezisa
Clasa = 1
Clasa = 0
f11
f01
(true positive) (false negative)
f10
f00
(false positive) (true negative)

fij este numarul de nregistrari din clasa i prezise ca fiind din clasa j
numarul total de predictii corecte este f11 + f00 = true positive +
true negative
numarul total de predictii incorecte este f01 + f10
matricea de confuzie poate fi si pentru mai mult de doua clase
lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

67 / 75

Evaluarea performantei unui clasificator: metrici


Plecand de la matricea de confuzie se pot defini metrici de
performant
a:
Acuratetea:

Acuratetea =

f11 + f00
Numarul de predictii corecte
=
Numarul total de predictii
f11 + f10 + f01 + f00

Rata de eroare = 1 - acuratetea:


Rata de eroare =

lucian.sasu@ieee.org (UNITBV)

Numarul de predictii incorecte


=
Numarul total de predictii
f10 + f01
=
f11 + f10 + f01 + f00

Curs 4

March 22, 2012

68 / 75

Evaluarea performantei unui clasificator: metrici

Limitari ale acuratetei:


Consideram o problema de clasificare binara (dihotomie): exemple din
clasa 0 = 9990, exemple din clasa 1 = 10
Daca modelul prezice totul ca fiind de clasa 0, atunci acuratetea este
9990/10000 = 99.9%
Acuratetea este n acest caz nselatoare, deoarece modelul nu clasifica
nimic ca fiind de clasa 1 (nu stie deloc clasa 1)

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

69 / 75

Evaluarea performantei unui clasificator: metrici


Pentru matricea de confuzie se poate considera matricea de costuri,
care da costul erorii de clasificare C (i|j):
C (i|j): costul clasificarii unui obiect ca fiind de clasa i cand el este de
fapt de clasa j

Clasa
reala

Clasa = 1
Clasa = 0

Clasa prezisa
Clasa = 1 Clasa = 0
C (1|1)
C (0|1)
C (1|0)
C (0|0)

Costul unei clasificari n care se foloseste matrice de costuri:


Cost = f11 C (1|1) + f01 C (0|1) + f10 C (1|0) + f00 C (0|0)
Cu cat costul e mai mic, cu atat clasificarea e mai buna
lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

70 / 75

Evaluarea performantei unui clasificator: metrici

Clasa
reala

Clasa
real
a

Clasa prezisa
Clasa = 1 Clasa = 0
-1
100
1
0

Clasa = 1
Clasa = 0

Clasa prezis
a
Clasa = 1
Clasa = 0
Clasa = 1
150
40
Clasa = 0
60
250
Acuratetea = 80%
Costul = 3910

Clasa
real
a

Clasa prezis
a
Clasa = 1
Clasa = 0
Clasa = 1
250
45
Clasa = 0
5
200
Acuratetea = 90%
Costul = 4255

Primul clasificator este mai bun relativ la matricea de costuri data, chiar
daca acuratetea este mai mare pentru al doilea clasificator

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

71 / 75

Evaluarea performantei unui clasificator: metode de


evaluare
Reprezinta metode folosite pentru compararea modelelor
Metoda holdout: setul dat initial se divide n set de antrenare si set
de testare (e.g. 2/3 + 1/3); se face antrenare doar pe setul de
antrenare si testare doar pe setul de testare
Metoda esantionarii aleatoare: se repeta metoda holdout de cateva ori
pe partitionari aleatoare ale setului initial; se face media procentelor
de clasificare corecte obtinute pe fiecare set de testare n parte
K-fold cross validation: setul initial se mparte n k submultimi
disjuncte de dimensiuni (cat mai) egale; pe rand, fiecare din cele k
submultimi este folosita drept set de test si restul alcatuiesc setul de
antrenare; evaluarea finala este media celor k evaluari

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

72 / 75

Evaluarea performantei unui clasificator: metode de


evaluare
Leave-one-out: daca sunt date putine, atunci se poate lua k = N n
k-fold cross validation
Bootstrap:
se face extragerea datelor din setul initial, dar cu ntoarcerea datelor
extrase n setul initial
e posibil ca o nregistrare sa fie astfel folosita de mai multe ori
numarul de extrageri efectuate este chiar N
numarul de date distincte rezultate n urma celor N extrageri:
N
1 (1 1/N)N 1 e 1 0.632
modelul construit pe baza setului de bootstrap (N nregistrari,
aproximativ 63.2% unice) se face antrenarea; datele ce nu sunt incluse
n esantionul de bootstrap sunt date de test

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

73 / 75

Evaluarea performantei unui clasificator: metode de


evaluare
Bootstrap (cont):
modelul rezultat pe setul de antrenare este evaluat pe setul de testare,
rezultand o rata de acuratete t
se repeta procesul de mai sus de b ori
acuratetea totala cuantificata prin metoda .632 bootstrap:
accboot

b
1X
(0.632 i + 0.368 accs )
=
b
i=1

accs este acuratetea clasificatorului masurata pe setul de antrenare

Metoda mbunatatita: .632+ bootstrap, dezvoltata n Improvements


on Cross-Validation: The .632+ Bootstrap Method, Bradley Efron,
Robert Tibshirani, Journal of the American Statistical Association,
Vol. 92, No. 438. (June 1997), pp. 548-560 metoda cu
variabilitate mica si abatere moderata
lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

74 / 75

Evaluarea performantei unui clasificator: compararea


clasificatorilor

Se bazeaza pe teste statistice


Detalii: Introduction to Data Mining, sec. 4.6

lucian.sasu@ieee.org (UNITBV)

Curs 4

March 22, 2012

75 / 75

S-ar putea să vă placă și