Curs 4 Data Mining

78
Introducere în Data Mining Curs 4 - Clasificare: Concepte de bază, arbori de decizie, evaluarea modelelor Lucian Sasu, Ph.D. Universitatea Transilvania din Braşov, Facultatea de Matematică şi Informatică April 7, 2014 [email protected] (UNITBV) Curs 4 April 7, 2014 1 / 75

Transcript of Curs 4 Data Mining

Page 1: Curs 4 Data Mining

Introducere în Data MiningCurs 4 - Clasificare: Concepte de bază, arbori de decizie, evaluarea

modelelor

Lucian Sasu, Ph.D.

Universitatea Transilvania din Braşov, Facultatea de Matematică şi Informatică

April 7, 2014

[email protected] (UNITBV) Curs 4 April 7, 2014 1 / 75

Page 2: Curs 4 Data Mining

Outline

1 Preliminarii

2 Utilizarea arborilor de decizie

3 Construirea arborilor de decizie

4 Overfiting şi underfitting

5 Evaluarea performanţei unui clasificator

[email protected] (UNITBV) Curs 4 April 7, 2014 2 / 75

Page 3: Curs 4 Data Mining

Clasificare

Informal: asignarea de obiecte unei anumite categorii dintr–o mulţimefixată de categorii

Exemple: detectarea spam–ului (categorii: spam/mail legitim),clasificarea celulelor (canceroase/sănătoase), clasificarea galaxiilor pebaza formelor lor (spiralate, eliptice), clasificarea tranzacţiilor de pecard (frauduloase/legale), clasificarea automată a ştirilor (domeniufinanciar/ sportiv/vreme etc.)

Figure 1: Procesul de clasificare: pentru o intrare x se determină o ieşireasociată y

[email protected] (UNITBV) Curs 4 April 7, 2014 3 / 75

Page 4: Curs 4 Data Mining

Procesul de construire a unui clasificator

Figure 2: Procesul de construire a unui [email protected] (UNITBV) Curs 4 April 7, 2014 4 / 75

Page 5: Curs 4 Data Mining

Set de antrenare pentru un clasificator

Setul de antrenare: perechi de forma (x, y), unde y este o etichetă(clasă, categorie) dintr-o mulţime discretă şi finităDiferenţă faţă de regresie, unde ieşirea este dintr-o mulţime continuă

Nume Temperatura Corp Naşte Creatură Creatură Picioare Hibernează Clasăsângelui acoperit cu acvatică aeriană

om cald păr da nu nu da nu mamiferpiton rece solzi nu nu nu nu da reptilă

somon rece solzi nu nu nu nu nu peştebalenă cald păr da da nu nu nu mamiferbroască rece nimic nu semi nu da da amfibiandragon rece solzi nu nu nu da nu reptilă

de Comodoporumbel cald pene nu nu da da nu pasăre

pisică cald blană da nu nu da nu mamiferleopard cald blană da nu nu da nu mamiferpinguin cald pene nu semi nu da nu pasăre

arici cald ţepi da nu nu da da mamiferţipar rece solzi nu da nu nu nu peşte

salamandră rece nimic nu semi nu da da amfibianliliac cald păr da nu da da da mamifer

[email protected] (UNITBV) Curs 4 April 7, 2014 5 / 75

Page 6: Curs 4 Data Mining

Definiţie, scopuri

Definiţie (Clasificare)

Clasificarea este un proces prin care se construieşte (învaţă, induce) ofuncţie f care asociază fiecărui set de atribute x o etichetă de clase ydintr-o mulţime predefinită.

Funcţia f se mai numeşte şi clasificator sau model de clasificare.Utilitatea unui clasificator: modelare descriptivă şi modelare

predictivă

Modelare descriptivă: un clasificator poate servi ca o modalitateexplicativă sau de sumarizare, ce permite diferenţierea între clase;pentru tabelul de mai sus, mecanismul poate fi util biologilor.Modelarea predictivă: un clasificator poate fi folosit pentru aprezice clasa unui obiect:

Nume Temperatura Corp Naşte Creatură Creatură Picioare Hibernează Clasăsângelui acoperit cu acvatică aeriană

monstru gila rece solzi nu nu nu da da ?

[email protected] (UNITBV) Curs 4 April 7, 2014 6 / 75

Page 7: Curs 4 Data Mining

Modalităţi de construire a clasificatorilor

Metode bazate pe arbori de decizie

Metode bazate pe reguli

Raţionare bazată pe memorie

Reţele neuronale

Reţele Bayesiene şi Naïve Bayes

Support Vector Machines

[email protected] (UNITBV) Curs 4 April 7, 2014 7 / 75

Page 8: Curs 4 Data Mining

Clasificatori

Tipuri de date preferate pentru clasificare:

tehnicile de clasificare sunt adecvate pentru seturi de date binare saunominale

clasificatorii sunt mai puţin utili pentru categorii ordinale deoarece einu iau în considerare relaţiile de ordine existente între categorii (cuexcepţia reţelelor)

nu sunt utilizate în clasificare nici relaţiile de forma “este un”, e.g.“un om este un primat” (relaţii ierarhice)

Seturi de date folosite în construirea clasificatorilor:

set de antrenare: utilizat pentru construirea clasificatorului

set de testare: utilizat pentru a măsura performanţa clasificatorului

uneori şi set de validare: folosit pentru a alege un clasificator dintr-omulţime de modele candidat

[email protected] (UNITBV) Curs 4 April 7, 2014 8 / 75

Page 9: Curs 4 Data Mining

Outline

1 Preliminarii

2 Utilizarea arborilor de decizie

3 Construirea arborilor de decizie

4 Overfiting şi underfitting

5 Evaluarea performanţei unui clasificator

[email protected] (UNITBV) Curs 4 April 7, 2014 9 / 75

Page 10: Curs 4 Data Mining

Arbori de decizie: componenţă

Nod rădăcină — nod care nu are arce ce intră în el şi zero sau maimulte arce care iesNod intern — are exact un singur nod care intră in el şi două saumai multe arce care iesFrunză sau nod terminal — exact un singur nod intră, niciun arccare iese

În nodurile neterminale se află predicate; rezultatul aplicării predicatului pevaloarea concretă a unui atribut determină arcul pe care se merge maideparte.

Figure 3: Arbore de [email protected] (UNITBV) Curs 4 April 7, 2014 10 / 75

Page 11: Curs 4 Data Mining

Arbori de decizie: exemplu

Figure 4: Exemplu de arbore de decizie

[email protected] (UNITBV) Curs 4 April 7, 2014 11 / 75

Page 12: Curs 4 Data Mining

Arbori de decizie: exemplu

Figure 5: Se poate să se obţină mai mulţi arbori de decizie pornind de la unacelaşi set de date.

[email protected] (UNITBV) Curs 4 April 7, 2014 12 / 75

Page 13: Curs 4 Data Mining

Arbori de decizie: utilizare

Figure 6: Etapa de [email protected] (UNITBV) Curs 4 April 7, 2014 13 / 75

Page 14: Curs 4 Data Mining

Arbori de decizie: utilizare

Figure 7: Utilizare: se porneşte de la nodul rădăcină

[email protected] (UNITBV) Curs 4 April 7, 2014 14 / 75

Page 15: Curs 4 Data Mining

Arbori de decizie: utilizare

Figure 8: Se foloseste valoarea efectivă a atributului “Refund” prezent înrădăcină

[email protected] (UNITBV) Curs 4 April 7, 2014 15 / 75

Page 16: Curs 4 Data Mining

Arbori de decizie: utilizare

[email protected] (UNITBV) Curs 4 April 7, 2014 16 / 75

Page 17: Curs 4 Data Mining

Arbori de decizie: utilizare

[email protected] (UNITBV) Curs 4 April 7, 2014 17 / 75

Page 18: Curs 4 Data Mining

Arbori de decizie: utilizare

[email protected] (UNITBV) Curs 4 April 7, 2014 18 / 75

Page 19: Curs 4 Data Mining

Arbori de decizie: utilizare

[email protected] (UNITBV) Curs 4 April 7, 2014 19 / 75

Page 20: Curs 4 Data Mining

Outline

1 Preliminarii

2 Utilizarea arborilor de decizie

3 Construirea arborilor de decizie

4 Overfiting şi underfitting

5 Evaluarea performanţei unui clasificator

[email protected] (UNITBV) Curs 4 April 7, 2014 20 / 75

Page 21: Curs 4 Data Mining

Arbori de decizie: algoritmi de construcţie

Numărul de arbori care poate fi creat pentru un set de date esteexponenţial în numărul de atribute

Determinarea arborelui optim este computaţional infezabilă

Dar: se pot determina arbori suboptimali suficienţi de buni

Algoritmi:

Algoritmul lui Hunt – unul din primii dezvoltaţiCARTID3, C4.5SLIQ, SPRINT

[email protected] (UNITBV) Curs 4 April 7, 2014 21 / 75

Page 22: Curs 4 Data Mining

Structura generală a algoritmului lui Hunt

Fie Dt setul de date din mulţimea de antrenare ce corespund unui nodt; fie y = y1, y2, . . . , yc toate etichetele de clase.Procedura generală este:

1 Dacă toate înregistrările din Dt au aceeaşi clasă yt asociată, atunci teste o frunză etichetată yt

2 Dacă Dt conţine înregistrări care aparţin mai multor clase, atunci seselectează o condiţie de test pe un atribut pentru a partiţionaînregistrările în subseturi mai mici. Se creează câte un nod copil pentrufiecare rezultat al testului şi înregistrările din Dt sunt distribuite acestornoduri copil.

3 Algoritmul se aplică recursiv fiecărui nod copil obţinut la punctulanterior.

[email protected] (UNITBV) Curs 4 April 7, 2014 22 / 75

Page 23: Curs 4 Data Mining

Exemplu de aplicare a algoritmului lui Hunt

Figure 9: Algoritmul lui Hunt pentru construirea arborelui de decizie

[email protected] (UNITBV) Curs 4 April 7, 2014 23 / 75

Page 24: Curs 4 Data Mining

Algoritmul lui Hunt: probleme

Dacă fiecare combinaţie de valori de atribute este prezentă în setul dedate, algoritmul funcţionează

Dacă fiecare combinaţie de valori are o singură etichetă de clasăataşată, atunci algoritmul funcţionează

Pentru situaţii care nu concordă cu condiţiile de mai sus, algoritmuls-ar putea să fie în impas

În practică primele două condiţii sunt rareori îndepliniteSe adaugă următoarele strategii:

1 pentru unele noduri copil obţinute la pasul 2 se poate ca mulţimea deînregistrări să fie vidă, dacă niciuna din înregistrările din setul deantrenare nu are combinaţia de valori asociată acestui nod. În acestcaz nodul se declară frunză având eticheta egală cu eticheta majoritarădin setul de date asociat.

2 dacă toate înregistrările din Dt au aceleaşi valori de atribute (exceptândpentru eticheta de clasă), atunci nu se pot obţine noduri copil. Noduleste declarat frunză cu aceeaşi politică de etichetare ca mai sus

[email protected] (UNITBV) Curs 4 April 7, 2014 24 / 75

Page 25: Curs 4 Data Mining

Algoritmul lui Hunt: aspecte ce trebuie clarificate

Cum ar trebui partiţionate seturile Dt? algoritmul trebuie să aleagă ometodă de specificare a condiţiei de test precum şi o măsură care săspună cât de bună este o partiţionare concretă

Când ar trebui să se oprească procesul de partiţionare? Se poatecontinua procesul de divizare până ce se întâlnesc condiţiile de maisus, dar pot fi folosite şi alte criterii care permit stoparea creşteriiarborelui, cu efecte pozitive asupra puterii de generalizare a modelului.

[email protected] (UNITBV) Curs 4 April 7, 2014 25 / 75

Page 26: Curs 4 Data Mining

Algoritmul lui Hunt: condiţii pe nod

Specificarea testului de partiţionare este dependentă de tipulatributelor:

nominaleordinalecontinue

Se poate pune în discuţie care e numărul de partiţii rezultate:Partiţie binarăPartiţie n-ară

[email protected] (UNITBV) Curs 4 April 7, 2014 26 / 75

Page 27: Curs 4 Data Mining

Algoritmul lui Hunt: atribute nominale

Multe valori asociateSe pot lua în considerare toate valorile, pe rând sau se poate facepartiţionare binară

Figure 10: Partiţia unui atribut nomial după toate valorile

Figure 11: Partiţionare binară unui atribut nominal multivaloare

[email protected] (UNITBV) Curs 4 April 7, 2014 27 / 75

Page 28: Curs 4 Data Mining

Algoritmul lui Hunt: atribute ordinale

Se poate face partiţionare după fiecare valoare a atributului în parteDacă se face partiţionare binară atunci pe baza ordinii, valorileadiacente trebuie grupate împreună

Figure 12: Partiţionare de atribut ordinal, după toate valorile

Figure 13: Partiţionare binară a unui atribut ordinal multivaloare

Figure 14: Partiţionare binară greşită a unui atribut ordinal [email protected] (UNITBV) Curs 4 April 7, 2014 28 / 75

Page 29: Curs 4 Data Mining

Algoritmul lui Hunt: atribute continue

Condiţia de test poate fi exprimată ca o comparaţie cu un prag –A < v sau A ≥ vSe pot încerca mai multe valori pentru v , dar soluţia e computaţionalintensivăAlternativă: interogare de forma vi ≤ A < vi+1, pentru i = 1, . . . , k:discretizareDiscretizarea poate fi statică (fixată de la început) sau dinamică(împărţire în intervale de dimensiuni egale sau percentile sau princlustering)

[email protected] (UNITBV) Curs 4 April 7, 2014 29 / 75

Page 30: Curs 4 Data Mining

Selectarea unei partiţii bune

Se foloseşte o măsură care cuantifică eficienţa unei partiţionăriSe preferă partiţionări care duc la crearea de noduri cât mai omogene

(a) Par-tiţionareneo-mogenă

(b) Par-tiţionarecugrad deomogeni-tate maimare

Figure 16: Partiţionare neomogenă vs. “mai omogenă”

Strategia generală: greedy, alege cea mai bună variantă localăGreedy nu duce neapărat la optimul global

[email protected] (UNITBV) Curs 4 April 7, 2014 30 / 75

Page 31: Curs 4 Data Mining

Măsurarea impurităţii nodului

Pentru un nod t notăm p(i |t) fracţia (frecvenţa relativă) deînregistrări din clasa i aferente nodului t

Funcţii care măsoară gradul de impuritate:

Entropie(t) = −c∑

i=1

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

Gini(t) = 1 −c∑

i=1

[p(i |t)]2 (2)

Eroarea de clasificare(t) = 1 − maxi

[p(i |t)] (3)

c este numărul de clase

Pentru ec. (1) se consideră că 0 log2 0 = limxց0

x log2(x) = 0

[email protected] (UNITBV) Curs 4 April 7, 2014 31 / 75

Page 32: Curs 4 Data Mining

Măsurarea impurităţii nodului

Figure 17: Compararea măsurilor de impuritate pentru problemă de clasificarebinară

Minimul este 0, pentru cazul p ∈ 0, 1

maximul se obţine pentru p = 0.5, deci pentru un nod omogenitatea(respectiv eterogenitatea) este minimă (maximă)

[email protected] (UNITBV) Curs 4 April 7, 2014 32 / 75

Page 33: Curs 4 Data Mining

Câştigul de informaţie

Pentru a vedea cât de bine se comportă o funcţie de măsură aimpurităţii se calculează câştigul de informaţie C.I. (eng: informationgain)C.I.-ul este diferenţa dintre gradul de impuritate a părintelui (înaintede partiţionare) şi impuritatea copiilor (după partiţionare):

∆info = I(parinte) −k∑

j=1

N(vj)N(parinte)

I(vj) (4)

unde:I(·) este măsura de impuritate a nodului argumentk este numărul de noduri copil rezultaţi după partiţionareN(·) este numărul de înregistrări pentru nodul curent

Scopul este de a obţine o partiţionare (un test) care să maximizezecâştigul de informaţie; echivalent, să ducă la minimizarea medieiponderate de impurităţi a copiilor (suma din ec. (4))I = entropia: ∆ este câştigul de informaţie (information gain).

[email protected] (UNITBV) Curs 4 April 7, 2014 33 / 75

Page 34: Curs 4 Data Mining

Exemplu: indexul Gini

Formula:

Gini(t) = 1 −c∑

j=1

[p(j |t)]2

c este numărul de clase

valoarea maximă se obţine dacă p(1|t) = · · · = p(c |t) şi este 1 − 1c

valoarea minimă se obţine dacă toate înregistrările din nod fac partedintr–o aceeaşi clasă

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

[email protected] (UNITBV) Curs 4 April 7, 2014 34 / 75

Page 35: Curs 4 Data Mining

Exemplu: indexul Gini

Formula:

Gini(t) = 1 −c∑

j=1

[p(j |t)]2

c este numărul de clase

valoarea maximă se obţine dacă p(1|t) = · · · = p(c |t) şi este 1 − 1c

valoarea minimă se obţine dacă toate înregistrările din nod fac partedintr–o aceeaşi clasă

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

Clasa 1 1 P(Clasa 1) = 1/6; P(Clasa 2) = 5/6Clasa 2 5 Gini = 1 − (1/6)2 − (5/6)2 = 0.278

[email protected] (UNITBV) Curs 4 April 7, 2014 34 / 75

Page 36: Curs 4 Data Mining

Exemplu: indexul Gini

Formula:

Gini(t) = 1 −c∑

j=1

[p(j |t)]2

c este numărul de clase

valoarea maximă se obţine dacă p(1|t) = · · · = p(c |t) şi este 1 − 1c

valoarea minimă se obţine dacă toate înregistrările din nod fac partedintr–o aceeaşi clasă

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

Clasa 1 1 P(Clasa 1) = 1/6; P(Clasa 2) = 5/6Clasa 2 5 Gini = 1 − (1/6)2 − (5/6)2 = 0.278

Clasa 1 2 P(Clasa 1) = 2/6; P(Clasa 2) = 4/6Clasa 2 4 Gini = 1 − (2/6)2 − (4/6)2 = 0.444

[email protected] (UNITBV) Curs 4 April 7, 2014 34 / 75

Page 37: Curs 4 Data Mining

Exemplu: partiţionarea folosind indexul Gini

Folosită în algoritmii CART, SLIQ, SPRINT

Formula indexului Gini:

GINIpartitie =k∑

i=1

ni

nGini(i)

k e numărul de partiţii, n e numărul de înregistrări din nodul ce separtiţionează, ni este numărul de înregistrări din fiecare partiţie

Se ignoră Gini(parinte) din ecuaţia (4) deoarece are aceeaşi valoare,indiferent de cum este el partiţionat

Efectul termenilor din sumă: se preferă partiţii cât mai mari şi cât mai“pure”

[email protected] (UNITBV) Curs 4 April 7, 2014 35 / 75

Page 38: Curs 4 Data Mining

Exemplu: partiţionarea unui atribut binar folosind Gini

Pentru atribut binar nodul va avea doi descendenţi

Exemplu: partiţionarea unui nod care are 6 înregistrări din clasa C1 şi6 din C2

Figure 18: Partiţionarea unui nod cu test pe un atribut binar

N1 N2C1 5 1C2 2 4

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

[email protected] (UNITBV) Curs 4 April 7, 2014 36 / 75

Page 39: Curs 4 Data Mining

Exemplu: partiţionarea unui atribut categorial folosind Gini

Pentru fiecare valoare a atributului categorial se determină frecvenţaînregistrărilor cu acea valoareSe poate face partiţionare după fiecare valoare sau partiţionări binare

Tipul maşiniiFamilie Sport Lux

C1 1 2 1C2 4 1 1Gini 0.393

Table 1: Partiţionare dupăfiecare valoare a atributului

Tipul maşiniiSport, Lux Familie

C1 3 1C2 2 4Gini 0.400

Table 2: Partiţionare binară

Tipul maşiniiSport Lux,Familie

C1 2 2C2 1 5Gini 0.419

Table 3: Partiţionare binară

[email protected] (UNITBV) Curs 4 April 7, 2014 37 / 75

Page 40: Curs 4 Data Mining

Exemplu: partiţionarea unui atribut continuu

Se poate utiliza un arbore de decizie binar, cu test pe o valoare v :venit anual ≤ v

Variantă brute force pentru determinarea lui v : se consideră toatevalorile distincte ale atributului continuu

Pentru fiecare valoare v se consideră fiecare din cei N candidaţipentru a vedea poziţionarea faţă de v

Pentru v se consideră pe rând fiecare valoare din cele N

Rezultat: complexitatea este O(N2)

Variantă mai eficientă: se sortează cele N valori, efort computaţionalO(N log N); se consideră valorile aflate la jumătate dintre douănumere adiacente;

Se iterează peste valorile sortate, actualizând de fiecare dată matriceade contorizare

Se alege valoarea lui v pentru valoarea Gini minimă

[email protected] (UNITBV) Curs 4 April 7, 2014 38 / 75

Page 41: Curs 4 Data Mining

Exemplu: partiţionarea unui atribut continuu

Figure 19: Partiţionarea pentru atribut continuu

[email protected] (UNITBV) Curs 4 April 7, 2014 39 / 75

Page 42: Curs 4 Data Mining

Raportul câştigului

Engleză: gain ratio

Atât entropia cât şi indexul Gini tind să favorizeze atributele care auun număr mare de valori distincte

În figura de mai jos: Car type dă un mod mai bun de partiţionaredecât Own car; ID-ul dă chiar o partiţionare cu o singură înregistrarepe nod copil, deci pare ideal

Figure 20: Posibilităţi de partiţionare

[email protected] (UNITBV) Curs 4 April 7, 2014 40 / 75

Page 43: Curs 4 Data Mining

Raportul câştigului

Ce e greşit în partiţionarea după ID?

[email protected] (UNITBV) Curs 4 April 7, 2014 41 / 75

Page 44: Curs 4 Data Mining

Raportul câştigului

Ce e greşit în partiţionarea după ID?

Chiar şi pentru o situaţie mai puţin extremă decât cea pentru ID,dacă se obţin partiţii cu puţine valori pe fiecare subset, numărul deînregistrări pe partiţie s–ar putea să fie prea mic pentru a permitepredicţii exacte

Soluţii

1 Se permit doar partiţionări în două submulţimi — algoritmul CARTfuncţionează astfel

2 Se modifică criteriul de partiţionare pentru a lua în considerare numărulde submulţimi care alcătuiesc partiţia

[email protected] (UNITBV) Curs 4 April 7, 2014 41 / 75

Page 45: Curs 4 Data Mining

Raportul câştigului

Pentru a doua strategie — algoritmul C4.5 foloseşte “gain ratio”definit ca:

Gain ratio =∆info

Split info(5)

unde Split Info este entropia

−k∑

j=1

P(vj) log2 P(vj)

cu P(vj) numărul de înregistrări din nodul vj , iar k numărul desubmulţimi care alcătuiesc partiţia

Exemplu: dacă sunt k submulţimi ce alcătuiesc partiţia şi fiecare dinacestea are acelaşi număr de elemente, atunci P(vj) = 1

k, ∀j = 1 . . . k,

entropia este maximă iar raportul din ecuaţia (5) scade.

[email protected] (UNITBV) Curs 4 April 7, 2014 42 / 75

Page 46: Curs 4 Data Mining

Oprirea construirii arborelui

Se opreşte expandarea unui nod atunci când toate înregistrările din elaparţin aceleiaşi clase – nu mai ai de ce sa faci discriminare

Sau când toate atributele au aceleaşi valori – nu se mai poate facediscriminare

Terminare mai devreme (va fi discutat)

[email protected] (UNITBV) Curs 4 April 7, 2014 43 / 75

Page 47: Curs 4 Data Mining

Algoritmul pentru construirea arborelui de decizie

Figure 21: Schiţa algoritmului de construire a arborelui de decizie

[email protected] (UNITBV) Curs 4 April 7, 2014 44 / 75

Page 48: Curs 4 Data Mining

Exemplu: C4.5

Creator: Ross Quinlan

Extensie a lui ID3Spre deosebire de ID3:

poate manipula atât valori discrete cât şi continuepoate să manipuleze date de antrenare cu valori lipsă; valorile lipsă nusunt considerate pentru calcularea gain si entropiepoate manipula atribute ce au ataşate diverse costuri

Foloseşte information gain

Sortează atributele continue la fiecare nod

Cere ca toate datele să fie încărcate în memoria RAM

Open source, se poate descărca de la adresa:http://www.rulequest.com/Personal/c4.5r8.tar.gz

Varianta următoare: C5, dar oferită contra cost

[email protected] (UNITBV) Curs 4 April 7, 2014 45 / 75

Page 49: Curs 4 Data Mining

Exemplu: detectarea roboţilor web

Optimizarea unui site ar trebui să se facă strict pe baza acţiunilormanifestate de oameniParcurgerea site-ului de către web crawlers nu este relevantă pentrurestructurarea site–uluiIntrare: web server logs; vizitele din cadrul unei sesiuni sunt modelateca grafDatele trebuie să fie cumva etichetate înainte de construirea arboreluide decizie

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

Detalii: “Introduction to data mining”, cap [email protected] (UNITBV) Curs 4 April 7, 2014 46 / 75

Page 50: Curs 4 Data Mining

Aspecte ale construcţiei arborilor de decizie

Construirea arborilor de decizie este o metoda neparametrică pentruconstruirea de clasificator = nu cere presupuneri apriori asupradistribuţiei datelor

Găsirea unui arbore de decizie optim este o problemă prohibitivd.p.d.v. computaţional, datorită numărului mare de variante; suntimplicate euristici pentru reducerea volumului de calcul

Algoritmii de construire sunt de regulă rapizi; clasificarea pe baza loreste şi mai rapidă

Sunt uşor de interpretat

Acurateţe comparabilă cu a altor tipuri de clasificatori

Relativ rezistenţi în faţa datelor cu zgomot

Atributele redundante (puternic corelate cu alte atribute) nuafectează acurateţea arborilor obţinuţi

[email protected] (UNITBV) Curs 4 April 7, 2014 47 / 75

Page 51: Curs 4 Data Mining

Aspecte ale construcţiei arborilor de decizie (cont)

Atributele irelevante pot afecta calitatea arborilor de decizie; aceştiase pot elimina prin tehnici de selectare a trăsăturilorNumărul de înregistrări scade pe măsură ce te “scufunzi” înconstruirea arborelui = problema fragmentării datelor. La frunze s–arputea să fie prea puţine înregistrări care să poată fi folosite în luareaunor decizii statistic semnificative în ceea ce priveşte etichetareaUn subarbore s–ar putea să fie replicat de mai multe ori în arborelefinal:

Figure 23: Problema replicării subarborelui: acelaşi subarbore poate apăreala mai multe niveluri

[email protected] (UNITBV) Curs 4 April 7, 2014 48 / 75

Page 52: Curs 4 Data Mining

Aspecte ale construcţiei arborilor de decizie (cont)

În cele de mai sus pentru fiecare nod se consideră câte un singuratribut la un moment dat. Ca atare, regiunile de decizie sunt drepteparalele cu axele de coordonate:

Deciziile se pot lua şi altfel: folosind mai multe atribute concomitent(e.g. x + y < 1, pentru datele din figura 24(b)) sau cu funcţiineliniare

(a) Arbore de decizie cu regiuni de de-cizie paralele cu axele

(b) Set de date care nu poate fi par-tiţionat folosind un singur atribut

Alegerea măsurii de impuritate nu are un efect deosebit asupraperformanţei arborilor obţinuţi

[email protected] (UNITBV) Curs 4 April 7, 2014 49 / 75

Page 53: Curs 4 Data Mining

Outline

1 Preliminarii

2 Utilizarea arborilor de decizie

3 Construirea arborilor de decizie

4 Overfiting şi underfitting

5 Evaluarea performanţei unui clasificator

[email protected] (UNITBV) Curs 4 April 7, 2014 50 / 75

Page 54: Curs 4 Data Mining

Overfitting şi underfitting

Erorile sunt grupate în două categorii: erori de antrenare şi erori de

testare

Erori de antrenare: evaluate pentru setul de antrenare, dupăconstruirea clasificatoruluiErori de testare: rezultat obţinut pe set de testareUn bun clasificator trebuie să aibă erori mici pe ambele seturi de dateDacă modelul (clasificatorul) se potriveşte pe datele de antrenare preabine, atunci s–ar putea ca pe setul de testare să dea erori mari =eroare de overfittingDacă modelul este insuficient elaborat, atunci va da erori mari atât deantrenare, cât şi de testareDacă s–ar continua antrenarea modelului la perfecţie pe setul deantrenare, atunci s–ar putea ca unele noduri să reprezinte accidentaldate cu zgomot sau outliers (date inerent existente într–un volummare);In decursul antrenării nu se foloseşte în niciun fel setul de

[email protected] (UNITBV) Curs 4 April 7, 2014 51 / 75

Page 55: Curs 4 Data Mining

Overfitting şi underfitting

Figure 24: Problemă de overfitting şi underfitting: pentru underfitting, erorile deantrenare şi de testare sunt mari. Pentru overfitting, erorile de antrenare sunt (dince în ce mai) mici, dar erorile de testare sunt (tot mai) mari

[email protected] (UNITBV) Curs 4 April 7, 2014 52 / 75

Page 56: Curs 4 Data Mining

Cauze pentru overfitting: date cu zgomot

Un arbore de decizie care se potriveşte prea bine setului de antrenareeste senzitiv la datele “zgomot”Astfel de erori nu pot fi evitate şi stabilesc o rată de eroare minimă pecare o poate atinge un clasificator

Figure 25: Punct “zgomot” care influenţează crearea regiunii de [email protected] (UNITBV) Curs 4 April 7, 2014 53 / 75

Page 57: Curs 4 Data Mining

Cauze pentru overfitting: date nereprezentative

Dacă suprafaţa de decizie este formată pornind de la puţine date,există riscul ca datele de test situate în vecinătatea regiunii de deciziesă fie gresit clasificateLipsa de date face dificilă predicţia

Figure 26: Construirea unui clasificator plecând de la un set de datenereprezentativ pentru ceea ce se vrea a fi clasificat. Punctele albastre şi bileleroşii sunt setul de date de antrenare.

[email protected] (UNITBV) Curs 4 April 7, 2014 54 / 75

Page 58: Curs 4 Data Mining

Cauze pentru overfitting: compararea multiplă

Posibilitatea de a efectua comparaţii multiple poate duce la overfitting

Exemplu: pentru problema predicţiei evoluţiei pieţei, presupunem căun analist financiar face alegeri aleatoare, dând cu banul

Probabilitatea de a ghici corect creşterea sau scăderea pieţii este 0.5

Probabilitatea de a ghici corect evoluţia pieţei de minim 8 ori din 10încercări este:

C810 + C9

10 + C1010

210= 0.0547

Să presupunem că avem un grup de 50 de investitori care procedeazăca mai sus; alegem pe acel analist care face cele mai multe predicţiicorecte în următoarele 10 zile

[email protected] (UNITBV) Curs 4 April 7, 2014 55 / 75

Page 59: Curs 4 Data Mining

Cauze pentru overfitting: compararea multiplă

Probabilitatea ca să existe cel puţin un analist care face minim 8predicţii corecte este

1 − (1 − 0.0547)50 = 0.9399

Chiar dacă un analist are probabilitatea mică de predicţie corectă,fiind suficient de mulţi, şansa de nimerire “la gramadă” este mare(Principiul lui Bonferroni)Dar nu e nicio garanţie că analistul care a realizat cele mai

multe predicţii corecte va fi bun şi în continuare!

Posibilitatea de alegere creează aparenţa posibilităţii găsirii unuipredictor, dar acesta singur de fapt nu are un comportament strălucitAceeaşi problemă poate apărea şi pentru arbori de decizie: la fiecarenod se poate să existe mai multe variante de alegere a criteriului departiţionareCâştigul datorat acestei partiţionări ar trebui să ia în considerare şinumărul de variante existente, altfel posibilităţile multiple de alegerepot da aparenţa existenţei unui criteriu bun

[email protected] (UNITBV) Curs 4 April 7, 2014 56 / 75

Page 60: Curs 4 Data Mining

Estimarea erorii de generalizare a unui model

Eroarea de generalizare (de operare pe seturi de date ce nu au fostfolosite la instruirea modelului) este ceea ce interesează şi se doreşte afi cât mai mică

Întrucât setul de test nu este de fapt cunoscut apriori, se poate facedoar o estimare a erorii de generalizareEroarea de resubstituire:

se presupune că setul de antrenare este reprezentativ în raport cu setulde date de testeroarea de antrenare este folosită ca estimare pentru eroarea de testarede regulă este o estimare mult prea optimistă a erorii de testare

[email protected] (UNITBV) Curs 4 April 7, 2014 57 / 75

Page 61: Curs 4 Data Mining

Estimarea erorii de generalizare a unui model

În loc să se utilizeze setul de antrenare pentru estimarea erorii, sepoate folosi un set de validare

Setul de antrenare se partiţionează în două:Subset folosit pentru antrenare; de exemplu, 2/3 din datele deantrenare iniţiale pot fi folosite pentru acest subsetSubset folosit pentru estimarea erorii de generalizare = set de validare= restul datelor

Antrenarea nu se face şi pe subsetul de validare, ci doar pe primulsubset

Modelul care dă cea mai mică eroare pe setul de validare este folositmai departe pentru testarea efectivă

[email protected] (UNITBV) Curs 4 April 7, 2014 58 / 75

Page 62: Curs 4 Data Mining

Includerea complexităţii modelului

Este o opinie larg acceptată faptul că modelele complexe predispun laoverfitting

Principiu: briciul lui Occam (Occam’s razor):

Definiţie (Briciul lui Occam)

Dându–se două modele cu aceeaşi eroare de generalizare, modelul maisimplu ar trebui preferat (formularea originară: Entia non suntmultiplicanda praeter necessitatem).

Cea mai simplă explicaţie a unui fenomen ar trebui preferată

Echivalent cu principiul enunţat de A. Einstein: “Totul ar trebui să fiecât mai simplu cu putinţă, dar nu mai simplu de atât”.

Mod de încorporare a complexităţii modelului: estimarea pesimistă

a erorii şi principiul descrierii de lungime minimă

[email protected] (UNITBV) Curs 4 April 7, 2014 59 / 75

Page 63: Curs 4 Data Mining

Estimarea pesimistă a erorii

Fie n(t) numărul de inregistrări din setul de antrenare pentru frunza t

Notăm e(t), Ω(t) numărul de înregistrări gresit clasificate de frunza t,respectiv termenul de penalizare pentru frunza t

Estimarea pesimistă a erorii pentru arborele T este:

eg(T ) =

∑ti frunză

e(ti) + Ω(ti)

∑ti frunză

n(ti)

[email protected] (UNITBV) Curs 4 April 7, 2014 60 / 75

Page 64: Curs 4 Data Mining

Estimarea pesimistă: exemplu

Figure 27: Arbore binar de decizie pentru o problemă de dihotomie. Clasificareaîn nodurile frunză se face pe principiul majorităţii.

Pentru arborele de mai sus considerăm că în setul de antrenare sunt 6înregistrări clasificate eronatDacă fixăm Ω(ti) = 0.5:

eg(T ) =6 + 4 · 0.5

24= 0.3333

Interpretarea valorii “0.5” pentru Ω: “Introduction to Data Mining”,pag 182.

[email protected] (UNITBV) Curs 4 April 7, 2014 61 / 75

Page 65: Curs 4 Data Mining

Principiul descrierii de lungime minimă

Eng: Minimum description length (MDL)

Ideea de bază: orice regularitate într–un set de date poate fi utilizatăpentru a comprima datele, i.e. pentru a le descrie folosind mai puţinesimboluri decât ar fi folosite pentru reprezentarea brută a datelor.

Este o altă manifestare a briciului lui Occam

Un set de date poate fi reprezentat folosind simboluri dintr–un alfabetconvenabil ales

Costul transmiterii datelor este calculat ca:

Cost(model , date) = Cost(model) + Cost(date|model) (6)

unde ultimul termen din sumă reprezintă costul transmiteriisuplimentare a datelor greşit clasificate de către model

Principiul MDL spune că ar trebui preferate modelele pentru carecostul dat de ec. (6) este minim

[email protected] (UNITBV) Curs 4 April 7, 2014 62 / 75

Page 66: Curs 4 Data Mining

Prevenirea overfitting–ului în arborii de decizie: prepruning

Retezarea apriori (prepruning, early stopping rule)

Opreşte algoritmul înainte de a construi complet arboreleCondiţiile tipice de oprire sunt:

dacă toate înregistrările din nodul curent sunt din aceeaşi clasădacă toate atributele au aceleaşi valori

Condiţii de prepruning pentru oprirea partiţionării unui nod:dacă numărul de înregistrări pe nod scade sub o anumită fracţiedacă expandarea nodului nu îmbunătăţeşte indexul Gini sau câştigulinformaţionaldacă distribuţia claselor este independentă de atributele existente

Există pericolul impunerii unor condiţii prea dure → underfitting

[email protected] (UNITBV) Curs 4 April 7, 2014 63 / 75

Page 67: Curs 4 Data Mining

Prevenirea overfitting–ului în arborii de decizie:postprunning

Retezarea ramurilor din arbore se face la sfârşit

Strategie: se creează complet arborele de decizie

Se retează noduri pornind de la bază spre vârf

Daca arborele obţinut generalizează mai bine, arborele retezat seînlocuieşte cu o frunză;clasa decisă de frunză se determină prinmajoritate

Se poate utiliza MDL pentru postpruning

Postpruning tinde să dea rezultate mai bune decât prepruning,evitând terminarea prematură a procesului de creştere a arborelui

[email protected] (UNITBV) Curs 4 April 7, 2014 64 / 75

Page 68: Curs 4 Data Mining

Postprunning: exemplu

Class = Yes 20Class = No 10Eroare = 10/30

Table 4: Clasificarea folosind nodulneterminal

Figure 28: Obţinerea de noduri copil pebaza valorilor atributului A

Eroare pe setul de antrenare, înainte de partiţionare: 10/30

Eroarea pesimistă, înainte de partiţionare: (10 + 0.5)/30 = 10.5/30

Eroare pe setul de antrenare, după partiţionare: 9/30

Eroare pesimistă, după partiţionare: (9 + 4×0.5)/30 = 11/30

Concluzia: se face retezare

[email protected] (UNITBV) Curs 4 April 7, 2014 65 / 75

Page 69: Curs 4 Data Mining

Outline

1 Preliminarii

2 Utilizarea arborilor de decizie

3 Construirea arborilor de decizie

4 Overfiting şi underfitting

5 Evaluarea performanţei unui clasificator

[email protected] (UNITBV) Curs 4 April 7, 2014 66 / 75

Page 70: Curs 4 Data Mining

Evaluarea performanţei unui clasificator: metrici

Se bazează pe numărarea înregistrărilor din setul de test care suntclasificate corect sau incorect

Numerele sunt trecute într–o matrice de confuzie:

Clasa prezisăClasa = 1 Clasa = 0

Clasa Clasa = 1 f11 f01

(true positive) (false negative)reală Clasa = 0 f10 f00

(false positive) (true negative)

fij este numărul de înregistrări din clasa i prezise ca fiind din clasa j

numărul total de predicţii corecte este f11 + f00 = true positive +true negative

numărul total de predicţii incorecte este f01 + f10

matricea de confuzie poate fi şi pentru mai mult de două clase

[email protected] (UNITBV) Curs 4 April 7, 2014 67 / 75

Page 71: Curs 4 Data Mining

Evaluarea performanţei unui clasificator: metrici

Plecând de la matricea de confuzie se pot defini metrici de

performanţă:

Acurateţea:

Acuratetea =Numarul de predictii corecte

Numarul total de predictii=

f11 + f00

f11 + f10 + f01 + f00

Rata de eroare = 1 - acurateţea:

Rata de eroare =Numarul de predictii incorecte

Numarul total de predictii=

=f10 + f01

f11 + f10 + f01 + f00

[email protected] (UNITBV) Curs 4 April 7, 2014 68 / 75

Page 72: Curs 4 Data Mining

Evaluarea performanţei unui clasificator: metrici

Limitări ale acurateţei:

Considerăm o problemă de clasificare binară (dihotomie): exemple dinclasa 0 = 9990, exemple din clasa 1 = 10

Dacă modelul prezice totul ca fiind de clasă 0, atunci acurateţea este9990/10000 = 99.9%

Acurateţea este în acest caz înşelătoare, deoarece modelul nu clasificănimic ca fiind de clasă 1 (nu ştie deloc clasa 1)

[email protected] (UNITBV) Curs 4 April 7, 2014 69 / 75

Page 73: Curs 4 Data Mining

Evaluarea performanţei unui clasificator: metrici

Pentru matricea de confuzie se poate considera matricea de costuri,care dă costul erorii de clasificare C(i |j):

C(i |j): costul clasificării unui obiect ca fiind de clasă i când el este defapt de clasă j

Clasa prezisăClasa = 1 Clasa = 0

Clasa Clasa = 1 C(1|1) C(0|1)reală Clasa = 0 C(1|0) C(0|0)

Costul unei clasificări în care se foloseşte matrice de costuri:

Cost = f11C(1|1) + f01C(0|1) + f10C(1|0) + f00C(0|0)

Cu cât costul e mai mic, cu atât clasificarea e mai bună

[email protected] (UNITBV) Curs 4 April 7, 2014 70 / 75

Page 74: Curs 4 Data Mining

Evaluarea performanţei unui clasificator: metrici

Clasa prezisăClasa = 1 Clasa = 0

Clasa Clasa = 1 -1 100reală Clasa = 0 1 0

Clasa prezisăClasa = 1 Clasa = 0

Clasa Clasa = 1 150 40reală Clasa = 0 60 250

Acurateţea = 80%Costul = 3910

Clasa prezisăClasa = 1 Clasa = 0

Clasa Clasa = 1 250 45reală Clasa = 0 5 200

Acurateţea = 90%Costul = 4255

Primul clasificator este mai bun relativ la matricea de costuri dată, chiardacă acurateţea este mai mare pentru al doilea clasificator

[email protected] (UNITBV) Curs 4 April 7, 2014 71 / 75

Page 75: Curs 4 Data Mining

Evaluarea performanţei unui clasificator: metode deevaluare

Reprezintă metode folosite pentru compararea modelelor

Metoda holdout: setul dat iniţial se divide în set de antrenare şi setde testare (e.g. 2/3 + 1/3); se face antrenare doar pe setul deantrenare şi testare doar pe setul de testare

Metoda eşantionării aleatoare: se repetă metoda holdout de câteva oripe partiţionări aleatoare ale setului iniţial; se face media procentelorde clasificare corecte obţinute pe fiecare set de testare în parte

K-fold cross validation: setul iniţial se împarte în k submulţimidisjuncte de dimensiuni (cât mai) egale; pe rând, fiecare din cele ksubmulţimi este folosită drept set de test şi restul alcătuiesc setul deantrenare; evaluarea finală este media celor k evaluări

[email protected] (UNITBV) Curs 4 April 7, 2014 72 / 75

Page 76: Curs 4 Data Mining

Evaluarea performanţei unui clasificator: metode deevaluare

Leave-one-out: dacă sunt date puţine, atunci se poate lua k = N înk-fold cross validationBootstrap:

se face extragerea datelor din setul iniţial, dar cu întoarcerea datelorextrase în setul iniţiale posibil ca o înregistrare să fie astfel folosită de mai multe orinumărul de extrageri efectuate este chiar Nnumărul de date distincte rezultate în urma celor N extrageri:

1 − (1 − 1/N)N N→∞

−→ 1 − e−1 ≈ 0.632modelul construit pe baza setului de bootstrap (N înregistrări,aproximativ 63.2% unice) se face antrenarea; datele ce nu sunt incluseîn eşantionul de bootstrap sunt date de test

[email protected] (UNITBV) Curs 4 April 7, 2014 73 / 75

Page 77: Curs 4 Data Mining

Evaluarea performanţei unui clasificator: metode deevaluare

Bootstrap (cont):modelul rezultat pe setul de antrenare este evaluat pe setul de testare,rezultând o rată de acurateţe εt

se repetă procesul de mai sus de b oriacurateţea totală cuantificată prin metoda .632 bootstrap:

accboot =1b

b∑

i=1

(0.632 · εi + 0.368 · accs)

accs este acurateţea clasificatorului măsurată pe setul de antrenare

Metodă îmbunătăţită: .632+ bootstrap, dezvoltată în “Improvementson 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 — metodă cuvariabilitate mică şi abatere moderată

[email protected] (UNITBV) Curs 4 April 7, 2014 74 / 75

Page 78: Curs 4 Data Mining

Evaluarea performanţei unui clasificator: comparareaclasificatorilor

Se bazează pe teste statistice

Detalii: “Introduction to Data Mining”, sec. 4.6

[email protected] (UNITBV) Curs 4 April 7, 2014 75 / 75