18.07.2013 Views

Odkrivanje zakonitosti v podatkih Urnik Seznam študentov Cilji ... - IJS

Odkrivanje zakonitosti v podatkih Urnik Seznam študentov Cilji ... - IJS

Odkrivanje zakonitosti v podatkih Urnik Seznam študentov Cilji ... - IJS

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Odkrivanje</strong> <strong>zakonitosti</strong><br />

v <strong>podatkih</strong><br />

predavateljici:<br />

prof. dr. Nada Lavrač, doc. dr. Dunja Mladenić<br />

Bucik Janez<br />

Ferjančič Uroš<br />

Koblar Valentin<br />

Korečič Bojan<br />

Lazar Marko<br />

Malik Gregor<br />

Milanović Daniela<br />

Morenčič Janoš<br />

Sever Kristjan<br />

Srebrnič Vidojka<br />

Štokelj Matjaž<br />

asistenta:<br />

Petra Kralj, Blaž Fortuna<br />

Institut Jožef Stefan<br />

Ljubljana, Slovenija<br />

<strong>Seznam</strong> <strong>študentov</strong><br />

Vsebina – Analiza tabelaričnih podatkov<br />

(N. Lavrač, P. Kralj)<br />

I. Uvod<br />

• <strong>Odkrivanje</strong> <strong>zakonitosti</strong> v<br />

podatkovnih bazah (Data<br />

Mining, Knowledge<br />

Discovery in Databases),<br />

strojno učenje in<br />

statistika<br />

• Metode in primeri<br />

• Aplikacije odkrivanja<br />

znanja v projektu Sol-Eu-<br />

Net<br />

II. Napovedna indukcija<br />

• Naivni Bayesov klasifikator<br />

• Učenje odločitvenih<br />

dreves<br />

• Učenje klasifikacijskih<br />

pravil<br />

• Evalvacija klasifikatorjev<br />

III.Opisna indukcija<br />

• Napovedna vs. Opisna<br />

indukcija<br />

• <strong>Odkrivanje</strong> podskupin<br />

• Učenje povezovalnih pravil<br />

• Razvrščanje v skupine<br />

IV. Relacijsko učenje,<br />

Literatura, Povzetek<br />

V. Praktične vaje<br />

• Uporaba orodij za rudarjenje<br />

podatkov (WEKA, Orange)<br />

1<br />

3<br />

5<br />

<strong>Urnik</strong><br />

• ponedeljek, 5.3. - Nada Lavrač, 4 ure<br />

• ponedeljek, 12.3. - Nada Lavrač, 4 ure<br />

• petek, 16.3., računalniška učilnica - Petra Kralj, 3 ure<br />

• ponedeljek, 19.3. - Dunja Mladenić, 4 ure<br />

• petek, 23.3., računalniška učilnica - Petra Kralj, 3 ure<br />

• ponedeljek, 26.3. - Dunja Mladenić, 4 ure<br />

• petek, 30.3., računalniška učilnica - Blaž Fortuna, 4<br />

ure<br />

• seminar petek 11.5. – Nada Lavrač, Petra Kralj, 4 ure<br />

<strong>Cilji</strong> in vsebina predmeta<br />

Osnovni cilj predmeta je predstaviti metode in tehnike<br />

podatkovnega rudarjenja in odkrivanja <strong>zakonitosti</strong> v<br />

<strong>podatkih</strong> ter študente usposobiti za reševanje problemov<br />

analize podatkov na področju raziskovanja, industrijskih,<br />

upravljalskih in družboslovnih aplikacij.<br />

Študenti bodo seznanjeni z osnovami podatkovnega<br />

rudarjenja in odkrivanja <strong>zakonitosti</strong> v podatki ter s<br />

postopkom odkrivanja <strong>zakonitosti</strong> v <strong>podatkih</strong> po<br />

standardih CRISP-DM metodologije.<br />

Predstavili bomo metode in orodja podatkovnega rudarjenja<br />

in odkrivanja <strong>zakonitosti</strong> v <strong>podatkih</strong> (učenje<br />

klasifikacijskih in asociacijskih pravil, odločitvenih<br />

dreves, razvrščanje v skupine, odkrivanje podskupin,<br />

učenje relacijskih modelov, analiza tekstovnih podatkov),<br />

hevristike, postopke ocenjevanja kvalitete naučenih<br />

vzorcev ter metodologijo evalvacije rezultatov.<br />

Študente bomo tudi usposobili za praktično uporabo<br />

izbranih orodij rudarjenja podatkov.<br />

Prvi del: Uvod<br />

• <strong>Odkrivanje</strong> <strong>zakonitosti</strong> v podatkovnih<br />

bazah (Data Mining, Knowledge<br />

Discovery in Databases), strojno<br />

učenje in statistika<br />

• Metode in primeri<br />

• Aplikacije odkrivanja znanja v<br />

projektu Sol-Eu-Net<br />

2<br />

4<br />

6<br />

1


<strong>Odkrivanje</strong> <strong>zakonitosti</strong> v<br />

<strong>podatkih</strong> (KDD)<br />

“<strong>Odkrivanje</strong> <strong>zakonitosti</strong> v <strong>podatkih</strong> je<br />

proces identifikacije veljavnih, novih,<br />

potencialno uporabnih in razumljivih<br />

vzorcev v <strong>podatkih</strong>.”<br />

Usama M. Fayyad, Gregory Piatesky-Shapiro, Pedhraic Smyth: The KDD Process for Extracting<br />

Useful Knowledge form Volumes of Data. Comm ACM, Nov 96/Vol 39 No 11<br />

<strong>Odkrivanje</strong> <strong>zakonitosti</strong> v<br />

<strong>podatkih</strong> (KDD)<br />

• Povzetek: <strong>Odkrivanje</strong> <strong>zakonitosti</strong> v <strong>podatkih</strong> je<br />

proces gradnje modelov in identifikacije<br />

zanimivih vzorcev v <strong>podatkih</strong>.<br />

• Proces vključuje več faz:<br />

– razumevanje in priprava podatkov<br />

– analiza podatkov (data mining, machine<br />

learning, statistics)<br />

– evalvacija in uporaba odkritih vzorcev<br />

• Analiza podatkov: ključna faza, le 15%-25%<br />

celotnega KDD procesa<br />

Proces odkrivanja znanja iz<br />

podatkov<br />

• tabela n-terk, relacijska podatkovna baza,<br />

tekst, slike, podatkovna skladišča<br />

7<br />

9<br />

11<br />

<strong>Odkrivanje</strong> <strong>zakonitosti</strong> v<br />

<strong>podatkih</strong> (KDD)<br />

“<strong>Odkrivanje</strong> <strong>zakonitosti</strong> v <strong>podatkih</strong> je<br />

proces identifikacije veljavnih, novih,<br />

potencialno uporabnih in razumljivih<br />

vzorcev v <strong>podatkih</strong>.”<br />

proces: iterativni proces čiščenja podatkov in luščenja<br />

koristnih informacij/znanja iz podatkov<br />

veljavnost: omogoča posplošitve tudi za prihodnost<br />

novost: doslej še neznane relacije v <strong>podatkih</strong><br />

uporabnost: koristnost za reševanje zastavljene naloge<br />

razumljivost: omogoča človeško razumevanje in nova<br />

spoznanja<br />

Usama M. Fayyad, Gregory Piatesky-Shapiro, Pedhraic Smyth: The KDD Process for Extracting<br />

Useful Knowledge form Volumes of Data. Comm ACM, Nov 96/Vol 39 No 11<br />

Proces odkrivanja znanja iz<br />

podatkov<br />

Proces odkrivanja znanja iz<br />

podatkov<br />

• tabela n-terk, relacijska podatkovna baza,<br />

tekst, slike, podatkovna skladišča<br />

• izbor podmnožice podatkov in spremenljivk<br />

8<br />

10<br />

12<br />

2


Proces odkrivanja znanja iz<br />

podatkov<br />

• tabela n-terk, relacijska podatkovna baza,<br />

tekst, slike, podatkovna skladišča<br />

• izbor podmnožice podatkov in spremenljivk<br />

• čiščenje podatkov, izločanje šuma, obravnava<br />

manjkajočih vrednosti<br />

Proces odkrivanja znanja iz<br />

podatkov<br />

• Data Mining (DM): uporaba algoritmov za<br />

analizo podatkov: iskanje vzorcev izbrane<br />

oblike (odločitvena drevesa, pravila, ...),<br />

glede na tip naloge (klasifikacija,<br />

napovedovanje,razvrščanje v skupine, ...)<br />

Proces odkrivanja znanja iz<br />

podatkov<br />

• Data Mining (DM) – uporaba algoritmov za<br />

analizo podatkov: iskanje vzorcev izbrane<br />

oblike (odločitvena drevesa, pravila, ...),<br />

glede na tip naloge (klasifikacija,<br />

predikcija, razvrščanje v skupine, ...)<br />

• izbor/evaluacija glede na dane kriterije, druge<br />

izluščene vzorce, ekspertno znanje ...<br />

• vključitev znanja v SW za reševanje problema<br />

13<br />

15<br />

17<br />

Proces odkrivanja znanja iz<br />

podatkov<br />

• tabela n-terk, relacijska podatkovna baza,<br />

tekst, slike, podatkovna skladišča<br />

• izbor podmnožice podatkov in spremenljivk<br />

• čiščenje podatkov, izločanje šuma, obravnava<br />

manjkajočih vrednosti<br />

• transformacija v obliko, ki jo zahteva izbrani<br />

algoritem za analizo podatkov<br />

Proces odkrivanja znanja iz<br />

podatkov<br />

• Data Mining (DM) – uporaba algoritmov za<br />

analizo podatkov: iskanje vzorcev izbrane<br />

oblike (odločitvena drevesa, pravila, ...),<br />

glede na tip naloge (klasifikacija,<br />

napovedovanje, razvrščanje v skupine, ...)<br />

• izbor/evaluacija glede na dane kriterije, druge<br />

izluščene vzorce, ekspertno znanje ...<br />

CRISP-DM<br />

• Cross-Industry Standard Process for DM<br />

• 18-mesečni projekt, delno financiran s strani<br />

Evropske komisije, 1997-98<br />

• NCR, ISL (Clementine), Daimler-Benz, OHRA<br />

(Dutch health insurance companies) in več kot 80<br />

članski SIG<br />

• Cilj: standardizacija procesa DM (DM from art to<br />

engineering)<br />

• Širši pogled na rudarjenje podatkov (data mining)<br />

kot je definiran v Fayyad et al.: CRISP-DM<br />

obravnava rudarjenje podatkov (DM) kot KDD<br />

proces<br />

14<br />

16<br />

18<br />

3


CRISP Data Mining Process<br />

• DM Tasks<br />

Primeri nalog<br />

• Napovedovanje<br />

– klasifikacija in predikcija<br />

učenje odločitvenih dreves<br />

in klasifikacijskih pravil<br />

– regresijska analiza, ...<br />

– relacijska analiza podatkov<br />

(ILP)<br />

• Opisovanje<br />

– analiza povezav<br />

učenje povezovalnih pravil<br />

– razvrščanje v skupine<br />

– odkrivanje podskupin, ...<br />

• Analiza teksta, spletnih strani,<br />

slik, ...<br />

Opisna indukcija:<br />

Formulacija problema<br />

+<br />

-<br />

- -<br />

x<br />

+<br />

+<br />

x<br />

x<br />

x<br />

x<br />

• Podana je:<br />

– množica postavk (meritev,<br />

opazovanj – angl. items):<br />

• pozitivni primeri E +<br />

– predznanje B<br />

– jezik za opis hipotez LH – relacija pokritosti<br />

• Poišči<br />

+ +<br />

+<br />

H<br />

+<br />

– Najbolj specifično hipotezo H ∈ LH , tako da (pri danem B) H<br />

pokriva vse pozitivne primere<br />

– V logiki to zahtevo izrazimo tako, da iščemo tako hipotezo H, da<br />

velja ζα ∀c ∈ H, da je c resničen v nekem izbranem modelu B∪E<br />

(npr. v najmanjšem Herbrandovem modelu M(B∪E))<br />

+ x x<br />

19<br />

H<br />

21<br />

23<br />

Prvi del: Uvod<br />

• <strong>Odkrivanje</strong> <strong>zakonitosti</strong> v podatkovnih<br />

bazah (Data Mining, Knowledge<br />

Discovery in Databases), strojno<br />

učenje in statistika<br />

• Metode in primeri<br />

• Aplikacije odkrivanja znanja v<br />

projektu Sol-Eu-Net<br />

Napovedna indukcija:<br />

Formulacija problema<br />

• Podana je:<br />

– množica primerov (meritev, opazovanj, …)<br />

• pozitivni primeri E +<br />

• negativni primeri E- +<br />

– predznanje B<br />

+<br />

– jezik za opis hipotez L H<br />

H<br />

-<br />

-<br />

– relacija pokritosti<br />

• Poišči:<br />

– hipotezo H ∈ L H , tako da (pri danem B) H pokriva<br />

vse pozitivne primere in nobenih negativnih<br />

primerov<br />

– V logiki to zahtevo izrazimo tako, da iščemo tako<br />

hipotezo H, da velja<br />

• e ∈ E + : B ∧ H |= e (H je kompletna)<br />

• e ∈ E - : B ∧ H |= e (H je konsistentna)<br />

Napovedovanje kot<br />

naloga strojnega učenja:<br />

• Dana je množica učnih primerov (tabela n-terk<br />

vrednosti atributov označenih z imenom razreda)<br />

– A1 A2 A3 Razred<br />

– primer1 v1,1 v1,2 v1,3 C1 – primer2 v2,1 v2,2 v2,3 C2 – . .<br />

• S postopkom generalizacije iz primerov (indukcija)<br />

poišči hipotezo (klasifikacijska pravila, odločitveno<br />

drevo, ...), ki pojasnjuje učne primere, npr. pravila<br />

oblike:<br />

– (Ai = vi,k ) & (Aj = vj,l ) & ... Razred = Cn +<br />

-<br />

+<br />

20<br />

22<br />

24<br />

4


Primer: izbor kontaktnih leč<br />

Oseba Starost Dioptrija Astigmat. Solzenje Leče<br />

O1 mlad kratko ne zmanjšano NE<br />

O2 mlad kratko ne normalno MEHKE<br />

O3 mlad kratko da zmanjšano NE<br />

O4 mlad kratko da normalno TRDE<br />

O5 mlad daleko ne zmanjšano NE<br />

O6-O13 ... ... ... ... ...<br />

O14 pr_st_dal daleko ne normalno MEHKE<br />

O15 pr_st_dal daleko da zmanjšano NE<br />

O16 pr_st_dal daleko da normalno NE<br />

O17 st_daleko kratko ne zmanjšano NE<br />

O18 st_daleko kratko ne normalno NE<br />

O19-O23 ... ... ... ... ...<br />

O24 st_daleko daleko da normalno NE<br />

Klasifikacijska pravila<br />

• Tip naloge: napovedovanje in klasifikacija<br />

• Opisni jezik: pravila X R, če X potem R<br />

•X konjunkcija vrednosti atributov, R razred<br />

• Primer: Kontaktne leče<br />

1.solzenje=zmanjšano leče=NE<br />

2. solzenje=normalno & astigmatizem=da &<br />

dioptrija=dalekovidnost leče=NE<br />

3. solzenje=normalno & astigmatizem=ne <br />

leče=MEHKE<br />

4. solzenje= normalno & astigmatizem=da &<br />

dioptrija=kratkovidnost leče=TRDE<br />

Odločitvena drevesa<br />

• Primer: ocenjevanje kupcev<br />

slab<br />

= ženski<br />

Starost<br />

≤ 49 > 49<br />

dober<br />

Spol<br />

= moški<br />

slab<br />

25<br />

27<br />

29<br />

Odločitvena drevesa<br />

• Tip naloge: napovedovanje in klasifikacija<br />

• Opisni jezik: odločitvena drevesa<br />

notranja vozlišča: atributi, veje: vrednosti<br />

atributov, listi: razred<br />

zmanjšano<br />

NE<br />

solzenje<br />

normalno<br />

astigmatizem<br />

ne da<br />

MEHKE<br />

kratkovidnost<br />

TRDE<br />

dioptrija<br />

Primer: ocenjevanje kupcev<br />

Kupec Spol Starost Dohodek Poraba Ocena<br />

c1 moški 30 214000 18800 dober<br />

c2 ženski 19 139000 15100 dober<br />

c3 moški 55 50000 12400 slab<br />

c4 ženski 48 26000 8600 slab<br />

c5 moški 63 191000 28100 dober<br />

O6-O13 ... ... ... ... ...<br />

c14 ženski 61 95000 18100 dober<br />

c15 moški 56 44000 12000 slab<br />

c16 moški 36 102000 13800 slab<br />

c17 ženski 57 215000 29300 dober<br />

c18 moški 33 67000 9700 slab<br />

c19 ženski 26 95000 11000 slab<br />

c20 ženski 55 214000 28800 dober<br />

dalekovidnost<br />

Odločitveno in regresijsko drevo<br />

za ocenjevanje kupcev<br />

slab<br />

= ženski<br />

Starost<br />

≤ 49 > 49<br />

dober<br />

16500<br />

Spol<br />

≤ 108000<br />

Starost<br />

= moški<br />

slab<br />

≤ 42.5 > 42.5<br />

Dohodek<br />

26700<br />

NE<br />

> 108000<br />

12000<br />

26<br />

28<br />

30<br />

5


ID<br />

Klasifikacijska pravila<br />

• Primer: Ocenjevanje kupcev<br />

1. Dohodek > 108000 Ocena = dober<br />

2. Starost ≥ 49 & Dohodek > 57000 Ocena = dober<br />

3. Starost ≤ 56 & Dohodek < 98500 Ocena = slab<br />

4. Dohodek < 51000 Ocena = slab<br />

5. 33 < Starost ≤ 42 Ocena = slab<br />

6. DEFAULT Ocena = dober<br />

Povezovalna pravila<br />

za ocenjevanje kupcev<br />

• Starost > 52 & Ocena = slab Spol = moški<br />

• Starost > 52 & Ocena = slab <br />

Spol = moški & Dohodek ≤ 73250<br />

• Spol = moški & Starost > 52 &<br />

Dohodek ≤ 73250 Ocena = slab<br />

...<br />

3478<br />

3479<br />

...<br />

...<br />

Smith<br />

Doe<br />

...<br />

ID<br />

...<br />

Name<br />

3478<br />

3479<br />

...<br />

First<br />

name<br />

...<br />

John<br />

Jane<br />

...<br />

Zip<br />

...<br />

34667<br />

43666<br />

...<br />

Street<br />

...<br />

38,<br />

Lake<br />

Dr<br />

45,<br />

Sea Ct<br />

...<br />

City<br />

...<br />

Sampleton<br />

Invention<br />

...<br />

Zip<br />

...<br />

34677<br />

43666<br />

...<br />

Sex<br />

...<br />

male<br />

female<br />

...<br />

Social<br />

status<br />

...<br />

single<br />

marred<br />

...<br />

...<br />

i60-<br />

70k<br />

i80-<br />

90k<br />

Tabela 1: Osnovna tabela kupcev<br />

Sex<br />

...<br />

m<br />

f<br />

...<br />

Soc St<br />

...<br />

si<br />

ma<br />

...<br />

Income<br />

...<br />

60-70<br />

80-90<br />

...<br />

Age<br />

...<br />

32<br />

45<br />

...<br />

Income<br />

...<br />

...<br />

Age<br />

...<br />

32<br />

45<br />

...<br />

Club<br />

...<br />

me<br />

nm<br />

Club<br />

status<br />

...<br />

member<br />

nonmember<br />

...<br />

Resp<br />

...<br />

nr<br />

re<br />

...<br />

31<br />

33<br />

Response<br />

...<br />

no<br />

response<br />

response<br />

...<br />

Povezovalna pravila<br />

• Tip naloge: opisovanje<br />

• Opisni jezik: pravila X Y, če X potem Y<br />

X, Y konjunkcija postavk (binarnih atributov)<br />

• Primeri:<br />

– Trgovina:<br />

pivo & Coca-Cola arašidi & čips (0.05, 0.65)<br />

– Zavarovalništvo:<br />

posojilo = da & varčevanje = da 116<br />

zavarovanje = da 95 (0.82)<br />

• Podpora: Po(X,Y) = #XY/#D = p(XY)<br />

• Zaupanje: Za(X,Y) = #XY/#X = p(XY)/p(X) =<br />

p(Y|X)<br />

Analiza relacijskih podatkov:<br />

Induktivno logično programiranje<br />

• Analiza podatkov<br />

shranjenih v<br />

relacijskih<br />

podatkovnih<br />

bazah<br />

• Učenje iz več<br />

relacijskih tabel:<br />

večrelacijsko<br />

učenje ali<br />

induktivno<br />

logično<br />

programiranje<br />

ID<br />

...<br />

3478<br />

3479<br />

...<br />

Kako izrazimo neko lastnost dane relacije ?<br />

Tabela 2. Tabela za analizo 35<br />

customer(_,_,f,_,_,_,_,_).<br />

36<br />

Zip<br />

...<br />

34667<br />

43666<br />

...<br />

Sex<br />

...<br />

m<br />

f<br />

...<br />

Soc St<br />

...<br />

si<br />

ma<br />

...<br />

Income<br />

...<br />

60-70<br />

80-90<br />

...<br />

Age<br />

...<br />

32<br />

45<br />

...<br />

Logični izrazni jezik: Prolog<br />

Club<br />

...<br />

me<br />

nm<br />

Tabela kupcev predstavljena v logični obliki<br />

Format: Prologova dejstva (facts):<br />

customer(Id,Zip,Sex,SoSt,In,Age,Club,Re)<br />

Prologova dejstva za opis podatkov v Tabeli 2:<br />

customer(3478,34667,m,si,60-70,32,me,nr).<br />

customer(3479,43666,f,ma,80-90,45,nm,re).<br />

...<br />

Resp<br />

...<br />

nr<br />

re<br />

...<br />

32<br />

34<br />

6


Analiza relacijskih podatkov:<br />

Induktivno logično programiranje<br />

Podatkovne baze:<br />

• ime relacije p<br />

• attribut relacije p<br />

• n-terka < v1, ..., vn > =<br />

vrstica v relacijski tabeli<br />

• relacija p = množica n-terk<br />

= relacijska tabela<br />

Logično programiranje:<br />

• predikatni simbol p<br />

• argument predikata p<br />

• osnovno dejstvo p(v1, ..., vn)<br />

• definicija predikata p<br />

• množica osnovnih dejstev<br />

• Prologov stavek ali množica<br />

Prologovih stavkov<br />

Primer definicije predikata:<br />

good_customer(C) :customer(C,_,female,_,_,_,_,_),<br />

order(C,_,_,_,creditcard).<br />

Področja aplikacij analize podatkov<br />

• Bančništvo in finance (analiza strank, investicij,<br />

odobravanje posojil, …)<br />

• Zavarovalništvo (analiza strank, …)<br />

• Telekomunikacije (odkrivanje zlorab, …)<br />

• Trgovina (organizacija ponudbe v samopostrežnih<br />

trgovinah, določitev lokacije trgovin, analiza dobrih<br />

strank – kako zadržati stranko, kako ji ponuditi<br />

dodatne usluge, kako identificirati potencialne kupce<br />

za kataloško prodajo, ...)<br />

• Medicina in zdravstvo (napovedovanje stroškov<br />

hospitalizacije, odkrivanje novih diagnostičnih<br />

dejavnikov ter novih diagnostičnih in prognostičnih<br />

pravil, …)<br />

• Znanosti o okolju (ocenjevanje onesnaženosti voda,<br />

napovedovanje povečevanja gozdnih površin, ...)<br />

Povezana področja<br />

Statistika,<br />

strojno učenje,<br />

razpoznavanje<br />

vzorcev in<br />

mehko računanje*<br />

• tehnike za<br />

klasifikacijo in<br />

zajemanje znanja<br />

iz podatkov<br />

obravnava<br />

besedil<br />

podatkovne<br />

baze<br />

statistika<br />

odkrivanje<br />

<strong>zakonitosti</strong><br />

strojno<br />

učenje<br />

mehko<br />

vizualizacija<br />

računanje<br />

razpoznavanje<br />

vzorcev<br />

37<br />

39<br />

Analiza relacijskih podatkov<br />

Večrelacijsko učenje<br />

omogoča reševanje<br />

kompleksnih<br />

relacijskih<br />

problemov:<br />

• časovni podatki:<br />

časovne vrste v<br />

medicini, analizi<br />

prometa, ...<br />

• strukturirani podatki:<br />

predstavitev molekul<br />

in njih. lastnosti v<br />

proteinskem<br />

inženirstvu,<br />

biokemiji, ...<br />

Tehnologija<br />

podatkovnih baz in<br />

podatkovna<br />

skladišča<br />

• učinkovito<br />

shranjevanje,<br />

doseganje in<br />

manipuliranje s<br />

podatki<br />

Class<br />

Element<br />

AtomType<br />

Charge<br />

Molecule<br />

1<br />

1<br />

Has<br />

M<br />

Atom<br />

Bond<br />

Povezana področja<br />

obravnava<br />

besedil<br />

podatkovne<br />

baze<br />

1<br />

statistika<br />

odkrivanje<br />

<strong>zakonitosti</strong><br />

BondType<br />

strojno<br />

učenje<br />

Ind1<br />

IndA<br />

Lumo<br />

LogP<br />

mehko<br />

vizualizacija<br />

računanje<br />

razpoznavanje<br />

vzorcev<br />

Povezana področja<br />

Obravnava besedil<br />

(tekst, WWW)<br />

• analiza spletnih<br />

strani<br />

• kategorizacija<br />

besedil<br />

• zajemanje,<br />

filtriranje in<br />

strukturiranje<br />

informacij<br />

• procesiranje<br />

naravnega jezika<br />

obravnava<br />

besedil<br />

podatkovne<br />

baze<br />

statistika<br />

odkrivanje<br />

<strong>zakonitosti</strong><br />

* nevronske mreže, mehka logika, genetski algoritmi, verjetnostno sklepanje 41<br />

42<br />

strojno<br />

učenje<br />

mehko<br />

vizualizacija<br />

računanje<br />

razpoznavanje<br />

vzorcev<br />

38<br />

40<br />

7


Vizualizacija<br />

• grafično<br />

prikazovanje<br />

podatkov in<br />

izluščenega<br />

znanja<br />

Povezana področja<br />

obravnava<br />

besedil<br />

podatkovne<br />

baze<br />

statistika<br />

odkrivanje<br />

<strong>zakonitosti</strong><br />

strojno<br />

učenje<br />

mehko<br />

vizualizacija<br />

računanje<br />

razpoznavanje<br />

vzorcev<br />

Prikazovanje<br />

odločitvenih dreves<br />

Vizualno programiranje -<br />

Clementine<br />

43<br />

45<br />

47<br />

Prikazovanje podatkov<br />

Prikazovanje povezovalnih pravil<br />

Prikaz odkritih podskupin in<br />

vizualno programiranje - Orange<br />

44<br />

46<br />

48<br />

8


<strong>Odkrivanje</strong><br />

<strong>zakonitosti</strong> z<br />

uporabo<br />

metod<br />

strojnega<br />

učenja<br />

Povezava s<br />

statistiko<br />

Naš zorni kot<br />

obravnava<br />

besedil<br />

podatkovne<br />

baze<br />

Prvi del: Uvod<br />

statistika<br />

odkrivanje<br />

<strong>zakonitosti</strong><br />

strojno<br />

učenje<br />

mehko<br />

vizualizacija<br />

računanje<br />

razpoznavanje<br />

vzorcev<br />

• <strong>Odkrivanje</strong> <strong>zakonitosti</strong> v podatkovnih<br />

bazah (Data Mining, Knowledge<br />

Discovery in Databases), strojno<br />

učenje in statistika<br />

• Metode in primeri<br />

• Aplikacije odkrivanja znanja v<br />

projektu Sol-Eu-Net<br />

Projekt Sol-Eu-Net<br />

• Komercialni cilji<br />

– izdelava uporabniških aplikacij, konzultacije<br />

– ustanovitev virtualnega podjetja za<br />

komercializacijo ekspertnih znanj na področju<br />

analize podatkov in odločanja<br />

Memebrs :<br />

Suppliers<br />

Material<br />

Information<br />

Members :<br />

Processors<br />

VE Coordinator<br />

Members :<br />

Retailers,<br />

Warehouses<br />

Members :<br />

Customers<br />

49<br />

51<br />

53<br />

Strojno učenje in statistika<br />

• Obe področji imata dolgoletno tradicijo<br />

razvoja induktivnih tehnik za analizo podatkov.<br />

– omogočata sklepanje iz lastnosti vzorca (podatkov)<br />

na lastnosti populacije<br />

• KDD = statistika + marketing ?<br />

• KDD = statistika + ... + strojno učenje<br />

• Uporabi statistiko za preverjanje danih<br />

hipotez ter za analizo podatkov, če podatki<br />

– zadoščajo vrsti predpostavk: o distribuciji,<br />

neodvisnosti, naključnem vzorčenju, itd.<br />

• Uporabi strojno učenje za generiranje hipotez<br />

– ki so preproste in razumljive<br />

– lahko tudi iz majhne količine podatkov<br />

Projekt Sol-Eu-Net<br />

• Evropski projekt 5. OP “Data Mining & Decision<br />

Support for Business Competitiveness: A<br />

European Virtual Enterprise”, 2000-2002<br />

• Koordinator <strong>IJS</strong>, 12 partnerjev (8 akademskih in<br />

4 podjetja), 3 MIO EURO, cilji:<br />

– ustanovitev in koordinacija evropske mreže<br />

institucij s komplementarnimi orodji in znanji<br />

– razvoj in uporaba lastnih in komercialnih orodij<br />

za prototipno reševanje realnih problemov<br />

analize podatkov in odločanja<br />

– prenos DM in DS znanj v prakso<br />

Projekt Sol-Eu-Net<br />

nekaj prototipnih aplikacij<br />

• Mediana - analiza branosti, gledanosti in<br />

poslušanosti slovenskih medijev<br />

• Traffic – analiza prometnih nesreč v Veliki<br />

Britaniji<br />

• Komisija evropske unije - avtomatska<br />

konstrukcija ontologij evropskih projektov iz<br />

spletnih opisov, identifikacija klik (skupin<br />

inštitucij v konzorcijih evropskih projektov)<br />

50<br />

52<br />

54<br />

9


Mediana<br />

prototipna študija<br />

• Analiza podatkov o branosti, gledanosti in<br />

poslušanosti slovenskih medijev, Mediana BGP<br />

• Recenzirana polletna poročila<br />

• Cilj pilotne študije: iz podatkov odkriti kaj<br />

zanimivega, kasneje razviti nekaj ciljnih<br />

aplikacij<br />

• Sodelavci: Grobelnik, Zupanič, Škrjanc,<br />

Mladenić (<strong>IJS</strong>), Božič Marolt, Zdovc<br />

(Mediana)<br />

Podatki Mediana BGP<br />

• ankete o gledanosti, branosti in poslušanosti od l.<br />

1992, okrog 1200 vprašanj (branost, ..., interesi, ...)<br />

• podatki za leto 1998, okrog 8000 anket<br />

• zelo kvalitetni in čisti podatki<br />

• tabela n-terk (vrstice: anketirani, stolpci: atributi,<br />

pri klasifikacijskih nalogah določimo razred)<br />

Povezovalna pravila<br />

• Tip naloge: opisovanje<br />

• Opisni jezik: pravila X Y, če X potem Y<br />

X, Y konjunkcija postavk (binarnih atributov)<br />

• Primeri:<br />

– Trgovina:<br />

pivo & Coca-Cola arašidi & čips (0.05, 0.65)<br />

– Zavarovalništvo:<br />

posojilo = da & varčevanje = da 116<br />

zavarovanje = da 95 (0.82)<br />

• Podpora: Po(X,Y) = #XY/#D = p(XY)<br />

• Zaupanje: Za(X,Y) = #XY/#X = Po(X,Y)/Po(X) =<br />

55<br />

57<br />

Podatki Mediana BGP<br />

• ankete o gledanosti, branosti in poslušanosti od l.<br />

1992, okrog 1200 vprašanj (branost, ..., interesi, ...)<br />

Študija Mediana BGP<br />

• <strong>Cilji</strong> študije: odkriti še neznane relacije med posameznimi<br />

mediji, odkriti podskupine ljudi s podobnimi interesi<br />

– Katere tiskane medije berejo bralci posameznega<br />

časnika/revije?<br />

– Kakšne so lastnosti bralcev/gledalcev/poslušalcev<br />

določenega medija?<br />

– Katere lastnosti ločijo bralce različnih časnikov?<br />

• Tipi modelov: opisovanje (povezovalna pravila) in<br />

napovedovanje (odločitvena drevesa, klasifikacijska<br />

pravila)<br />

Povezovalna pravila<br />

Večina bralcev Marketing magazina, Financ,<br />

Razgledov, Denarja in Vipa bere tudi Delo.<br />

1. bere_Marketing magazin 116 <br />

bere_Delo 95 (0.82)<br />

2. bere_Finance 223 bere_Delo 180 (0.81)<br />

3. bere_Razgledi 201 bere_Delo 157 (0.78)<br />

4. bere_Denar 197 bere_Delo 150 (0.76)<br />

5. bere_Vip 181 bere_Delo 134 (0.74)<br />

= p(XY)/p(X) = p(Y|X) 59<br />

60<br />

56<br />

58<br />

10


Povezovalna pravila<br />

Večina bralcev Sare, Ljubezenskih zgodb,<br />

Dolenjskega lista, Omame in Delavske enotnosti<br />

bere tudi Slovenske novice.<br />

1. bere_Sara 332 bere_Slovenske novice 211 (0.64)<br />

2. bere_Ljubezenske zgodbe 283 <br />

bere_Slovenske novice 174 (0.61)<br />

3. bere_Dolenjski list 520 <br />

bere_Slovenske novice 310 (0.6)<br />

4. bere_Omama 154 bere_Slovenske novice 90 (0.58)<br />

5. bere_Delavska enotnost 177 <br />

bere_Slovenske novice 102 (0.58)<br />

Odločitveno drevo<br />

Klasifikacija v bralce Dela ali Slovenskih novic<br />

Analiza prometnih nesreč v VB<br />

Naročilo v sklopu projekta Karakteristike<br />

cestišč in prometna varnost v VB za<br />

naročnika Hampshire County Council<br />

• Analiza podatkovne baze prometnih nesreč STATS19<br />

• <strong>Cilji</strong> aplikacije:<br />

– Identifikacija trendov - sprememb značilnosti<br />

nesreč v zadnjih 20 letih, kot posledice<br />

izboljšanja stanja cestišč (avtocest) in izboljšanja<br />

varnosti avtomobilov<br />

– <strong>Odkrivanje</strong> podskupin:<br />

• pravil, posebnosti in <strong>zakonitosti</strong>, ki bi omogočila<br />

zmanjšanje števila nesreč<br />

61<br />

63<br />

Povezovalna pravila<br />

Več kot pol bralcev Sportskih novosti bere tudi<br />

Slovenskega delničarja, Salomonov oglasnik in<br />

Lady.<br />

1. bere_Sportske novosti 303 <br />

bere_Slovenski delnicar 164 (0.54)<br />

2. bere_Sportske novosti 303 <br />

bere_Salomonov oglasnik 155 (0.51)<br />

3. bere_Sportske novosti 303 <br />

bere_Lady 152 (0.5)<br />

Klasifikacijska pravila<br />

Značilnosti bralcev Slovenskih novic (izluščene iz klas.<br />

pravil)<br />

Dokaj redno berejo časnike in radi posedijo v kavarnah,<br />

slaščičarnah, lokalih... In ne berejo Sport_novosti<br />

(ted_bere_casnike >4) and (kavarne1) and (bere_Sport_novosti==F) <br />

bere_Novice (331, 0.889)<br />

Berejo Slovenski Delničar, Jano, ...<br />

(bere_Slov_deln)>0) and (bere_Jana)>0) and<br />

(bl_znam_casnikov>12) and (bl_znam_casnikov 0)) and (hrvasko>0) and (bere_Dnevnik==T) <br />

bere_Novice (140, 0.775)<br />

Podatkovna baza STATS19<br />

• Relacijska podatkovna baza data vseh nesreč in poškodb v VB v<br />

obdobju 1979-1999<br />

• 3 povezane tabele podatkov<br />

Accident ACC7999<br />

(~5 mil. nesreč,<br />

30 spremenljivk)<br />

Kje ? Kdaj ? Koliko ?<br />

Vehicle VEH7999<br />

(~9 mil. vozil,<br />

24 spremenljivk )<br />

Katera vozila ? Kakšno<br />

gibanje ? Kakšne posledice<br />

...<br />

Casualty CAS7999<br />

(~7 mil. poškodb,<br />

16 spremenljivk)<br />

Kdo je bil poškodovan ? Kakšne<br />

poškodbe ? ...<br />

• iskanje vzrokov nesreč 65<br />

66<br />

62<br />

64<br />

11


Razumevanje podatkov:<br />

Preprost prikaz podatkov<br />

270000<br />

260000<br />

250000<br />

240000<br />

230000<br />

220000<br />

79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99<br />

Year of Accident<br />

Preproste statistične analize<br />

in vizualizacija<br />

• Uporabne za razumevanje podatkov<br />

• Distribucija števila nesreč v raznih<br />

časovnih obdobjih (leto, mesec, dan v<br />

tednu, ura)<br />

Distribucija Dan/Ura<br />

1. Največ nesreč je zjutraj in pozno popoldne (“Rush Hour”),<br />

najslabše je ob petkih popoldne<br />

2. Manj prometa in manj nesreč je ponoči in ob vikendih<br />

SUN<br />

MON<br />

TUES<br />

WED<br />

THU<br />

FRI<br />

SAT<br />

67<br />

69<br />

71<br />

Analiza kvalitete podatkov:<br />

Prikaz kraja nesreče<br />

Distribucija Dan/Mesec<br />

SAT<br />

Jan Feb Mar Apr May Jun July Aug Sept Oct Nov Dec<br />

Največ nesreč je ob delovnikih (pon.– petek) pozimi,<br />

predvsem ob petkih<br />

<strong>Odkrivanje</strong> podskupin z<br />

učenjem pravil<br />

• Cilj: odkriti opise podskupin podatkov v obliki<br />

kratkih, človeku razumljivih pravil<br />

– Vhod: množica primerov s podano ciljno<br />

spremenljivko (lastnost, ki jo proučujemo)<br />

– Izhod: opisi “zanimivih” podskupin<br />

primerov v obliki kratkih pravil, ki<br />

•pokrivajo čimveč učnih primerov<br />

•imajo čimbolj različno porazdelitev<br />

vrednosti ciljne spremenljivke glede na<br />

učno množico (Wrobel 1997, Kloesgen<br />

1997)<br />

SUN<br />

MON<br />

TUES<br />

WED<br />

THU<br />

FRI<br />

68<br />

70<br />

72<br />

12


Nekaj odkritih pravil<br />

• Povezovalna pravila:<br />

– Verjetnost težke ali smrtne prometne nesreče je na cesti “K8”<br />

2.2 krat večja kot povprečna verjetnost istega tipa nesreče v<br />

VB<br />

– Verjetnost nesreče s smrtnim izidom je na cesti “K7” 2.8 krat<br />

večja kot povprečna verjetnost istega tipa nesreče v VB (ko je<br />

cesta suha in omejitev hitrosti = 70 milj/h).<br />

• <strong>Odkrivanje</strong> podskupin:<br />

– Nesreča je težka ali smrtna, če je bilo v nesreči poškodovano<br />

le eno vozilo<br />

– Nesreča je lahka, če je bilo v nesreči poškodovanih več vozil<br />

(>2) in malo poškodovanih oseb.<br />

Priprava podatkov<br />

YEAR<br />

pfc 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999<br />

a 10023 9431 9314 8965 8655 9014 9481 9069 8705 8829 9399 9229 8738 8199 7453 7613 7602 7042 7381 7362 6905<br />

b 6827 6895 6952 7032 6778 6944 6387 6440 6141 5924 6331 6233 5950 6185 5910 6161 5814 6263 5881 5855 5780<br />

c 2409 2315 2258 2286 2022 2169 2212 2096 1989 1917 2137 2072 2032 1961 1653 1526 1552 1448 1521 1408 1234<br />

MONTH<br />

pfc jan feb mar apr may jun jul aug sep oct nov dec<br />

a 72493 67250 77434 73841 78813 78597 80349 74226 79362 85675 84800 76282<br />

b 2941 2771 3145 3317 3557 3668 3988 4048 3822 3794 3603 3481<br />

c 9261 8574 9651 9887 10649 10590 10813 11299 10810 11614 10884 10306<br />

DAY OF WEEK<br />

12 Sunday Monday Tuesday Wednesday Thursday Friday Saturday<br />

a 96666 132845 137102 138197 142662 155752 125898<br />

b 5526 5741 5502 5679 6103 7074 6510<br />

c 15350 17131 16915 17116 18282 21000 18544<br />

HOUR<br />

pfc 0 1 2 3 4 5 6 7 8 … 16 17 18 19 20 21 22 23<br />

a 794 626 494 242 166 292 501 1451 2284 … 3851 3538 2557 2375 1786 1394 1302 1415<br />

b 2186 1567 1477 649 370 521 1004 4099 7655 … 11500 11140 7720 7129 5445 4396 3946 4777<br />

c 2468 1540 1714 811 401 399 888 3577 8304 … 12112 12259 8701 7825 6216 4809 4027 4821<br />

Rezultat združevanja v skupine:<br />

dinamika po letih<br />

• Siva: tipična področja v<br />

VB, zmanjševanje letnega<br />

števila nesreč<br />

• Bela: področja, kjer se<br />

letno število nesreč<br />

povečuje<br />

73<br />

75<br />

77<br />

Iskanje podobnih podskupin:<br />

analiza kratkih časovnih vrst<br />

• Nova metoda za hierarhično združevanje<br />

kratkih časovnih vrst v skupine<br />

• Identifikacija področij v VB (skupine<br />

policijskih okrožij) s podobno dinamiko po<br />

številu prometnih nesreč<br />

• Analiza za različna časovna obdobja (leto,<br />

mesec, dan, ura)<br />

Rezultat združevanja v skupine:<br />

dinamika po letih<br />

Rezultat združevanja v skupine:<br />

dinamika po mesecih<br />

Bela: Obalna področja<br />

(11)<br />

Siva: Tipična<br />

področja VB (36)<br />

Temno sive: Področje<br />

Londona (2)<br />

Črna: Izjeme ? (2)<br />

74<br />

76<br />

78<br />

13


Uporabljene metode analize<br />

podatkov<br />

• odkrivanje povezovalnih pravil<br />

• odkrivanje podskupin<br />

• relacijska analiza podatkov<br />

• …<br />

• analiza tekstovnih podatkov<br />

–več o tem področju D. Mladenić<br />

Analiza dokumentov o<br />

evropskih projektih<br />

• Vir podatkov: Evropska komisija<br />

• <strong>Cilji</strong> analize:<br />

– Izdelava ontologije vsebin evropskih projektov –<br />

cilj je boljše obvladovanje obsežne množice<br />

tekstovnega materiala<br />

– Vizualizacija vsebin projektov<br />

– Povezanost institucij - analiza sodelovanj med<br />

institucijami, ki sodelujejo na evropskih projektih<br />

– Identifikacija zaključenih skupin institucij (klike)<br />

– Identifikacija institucij, relevantnih za določeno<br />

vsebinsko področje<br />

– Simulacija verjetnih sodelovanj v IST 6OP<br />

Primer podatkov – interna<br />

EC baza<br />

Tabela vseh IST projektov – za vsak projekt podan seznam partnerjev<br />

79<br />

81<br />

83<br />

Analiza besedil in svetovnega spleta<br />

(Text & Web Mining )<br />

• Količina besedil na elektronskih mediji dnevno<br />

narašča<br />

– elektronska pošta, poslovni dokumenti,<br />

svetovni splet, organizirane baze besedil,...<br />

– veliko informacij je skritih v besedilih in<br />

svetovnem spletu (tudi obiskanost strani)<br />

• Tehnologije odkrivanja znanja omogočajo<br />

reševanje zanimivih in zahtevnih problemov:<br />

– filtriranje spletnih informacij,<br />

vizualizacija besedil, razvrščanje<br />

dokumentov v skupine,...<br />

Analiza dokumentov o<br />

evropskih projektih<br />

Uporabili smo vse projekte 5. OP iz interne baze<br />

EC (september, 2002): 2786 projektov v<br />

katerih sodeluje 7886 organizacij<br />

Dvavirapodatkov:<br />

• Tabela IST projektov 5OP iz interne baze EC:<br />

– Project Ref., Acronym, Key Action, Unit, Officer<br />

– Org. Name, Country, Org Type, Role in project<br />

• <strong>Seznam</strong> IST projektov opisanih z 1-2 strani<br />

besedila na svetovnem spletu (Cordis<br />

http://dbs.cordis.lu/fep/FP5/FP5_PROJl_sea<br />

rch.html)<br />

Primer podatkov – svetovni splet<br />

Naslov<br />

projekta<br />

Akronim<br />

projekta<br />

Opis projekta<br />

80<br />

82<br />

84<br />

14


Analiza dokumentov o<br />

evropskih projektih<br />

Del omrežja zaavtomobilsko<br />

industrijo (>6)<br />

št. sodelovanj<br />

na projektih<br />

Sodelovanje med državami<br />

• 6788: GERMANY - GERMANY<br />

• 6212: ITALY - ITALY<br />

• 4168: FRANCE - FRANCE<br />

• 4064: UNITED KINGDOM - UNITED KINGDOM<br />

• 3749: GERMANY - ITALY<br />

• 3566: GERMANY - UNITED KINGDOM<br />

• 3200: FRANCE - GERMANY<br />

• 3046: ITALY - UNITED KINGDOM<br />

• 2920: SPAIN - SPAIN<br />

• 2597: FRANCE - ITALY<br />

• 2514: ITALY - SPAIN<br />

• 2375: FRANCE - UNITED KINGDOM<br />

• 2298: GERMANY - SPAIN<br />

• 1946: GREECE - GREECE<br />

• 1669: SPAIN - UNITED KINGDOM<br />

• 1592: FRANCE - SPAIN<br />

• 1488: GERMANY - NETHERLANDS<br />

• 1387: GERMANY - GREECE<br />

• 1285: GREECE - ITALY<br />

• 1168: NETHERLANDS - UNITED KINGDOM<br />

• 1140: GREECE - UNITED KINGDOM<br />

• 1054: FINLAND - GERMANY<br />

• 1010: ITALY – NETHERLANDS<br />

85<br />

87<br />

89<br />

Vizualizacija področij (25 skupin)<br />

Mobile<br />

computing<br />

Knowledge<br />

Management<br />

Transport<br />

Electronics<br />

Data<br />

analysis<br />

Health<br />

Povezanost pomembnih institucij (>10)<br />

No. of joint<br />

projects<br />

Telecommunication<br />

Sodelovanje med državami (top 12)<br />

Most active<br />

country<br />

Number of<br />

collaborations<br />

86<br />

88<br />

90<br />

15


št. ljudi na<br />

eno sodelovanje<br />

Sodelovanje med državami<br />

(na prebivalca)<br />

• 1. 5470 ppc ( 1946 colab.): GREECE - GREECE (pop.: 10645343)<br />

• 2. 6933 ppc ( 4 colab.): SAN MARINO - SAN MARINO (pop.: 27730)<br />

• 3. 8150 ppc ( 636 colab.): FINLAND - FINLAND (pop.: 5183545)<br />

• 4. 9291 ppc ( 6212 colab.): ITALY - ITALY (pop.: 57715625)<br />

• 5. 12265 ppc ( 6788 colab.): GERMANY - GERMANY (pop.: 83251851)<br />

• 6. 13725 ppc ( 2920 colab.): SPAIN - SPAIN (pop.: 40077100)<br />

• 7. 14210 ppc ( 54 colab.): CYPRUS - CYPRUS (pop.: 767314)<br />

• 8. 14339 ppc ( 4168 colab.): FRANCE - FRANCE (pop.: 59765983)<br />

• 9. 14709 ppc ( 4064 colab.): UNITED KINGDOM - UNITED KINGDOM (pop.: 59778002)<br />

• 10. 15415 ppc ( 530 colab.): AUSTRIA - AUSTRIA (pop.: 8169929)<br />

• 11. 17012 ppc ( 266 colab.): NORWAY - NORWAY (pop.: 4525116)<br />

• 12. 17356 ppc ( 592 colab.): BELGIUM - BELGIUM (pop.: 10274595)<br />

• 13. 17638 ppc ( 414 colab.): SWITZERLAND - SWITZERLAND (pop.: 7301994)<br />

• 14. 19266 ppc ( 834 colab.): NETHERLANDS - NETHERLANDS (pop.: 16067754)<br />

• 15. 19903 ppc ( 446 colab.): SWEDEN - SWEDEN (pop.: 8876744)<br />

• 16. 19956 ppc ( 14 colab.): ICELAND - ICELAND (pop.: 279384)<br />

• 17. 22004 ppc ( 244 colab.): DENMARK - DENMARK (pop.: 5368854)<br />

• 18. 24781 ppc ( 78 colab.): SLOVENIA - SLOVENIA (pop.: 1932917)<br />

• 19. 25514 ppc ( 402 colab.): CZECH REPUBLIC - CZECH REPUBLIC (pop.: 10256760)<br />

• 20. 26216 ppc ( 54 colab.): ESTONIA - ESTONIA (pop.: 1415681)<br />

• 21. 31316 ppc ( 124 colab.): IRELAND - IRELAND (pop.: 3883159)<br />

• 22. 37601 ppc ( 3749 colab.): GERMANY - ITALY (pop.: 140967476=83251851+57715625)<br />

• 23. 38573 ppc ( 3046 colab.): ITALY - UNITED KINGDOM (pop.:<br />

117493627=57715625+59778002)<br />

• 24. 38899 ppc ( 2514 colab.): ITALY - SPAIN (pop.: 97792725=57715625+40077100)<br />

• 25. 39086 ppc ( 258 colab.): PORTUGAL - PORTUGAL (pop.: 10084245)<br />

91<br />

Relevantne institucije za področje<br />

Primer odkrivanja <strong>zakonitosti</strong> v <strong>podatkih</strong> - uporabljene ključne besede:<br />

“knowledge discovery text mining classification machine learning data mining data<br />

analysis personalization decision support”:<br />

Drugi del: Napovedna indukcija<br />

• Naivni Bayeson klasifikator<br />

•Učenje odločitvenih dreves<br />

•Učenje klasifikacijskih pravil<br />

• Evalvacija klasifikatorjev<br />

93<br />

95<br />

Sodelovanje znotraj države (Slovenija)<br />

Aplikaciji “Project Intelligence”<br />

in “IST-World”<br />

• Project intelligence: Demonstracija sistema,<br />

poročila in rezultati analize projektov IST<br />

5.OP so na voljo na http://pi.ijs.si/<br />

• Nova aplikacija IST-World za 6.OP je na<br />

http://www.ist-world.org/<br />

• Uporabno za iskanje partnerjev projektov<br />

• Približno 1000 povpraševanj dnevno<br />

Bayesovsko učenje<br />

• Bayesovske metode - preproste a zelo<br />

močne klasifikacijske metode<br />

– temeljijo na uporabi Bayesove formule<br />

p(<br />

D | H )<br />

p ( H | D)<br />

=<br />

p(<br />

H )<br />

p(<br />

D)<br />

• Glavne metode:<br />

– Naivni Bayesov klasifikator<br />

– Delno-naivni Bayesov klasifikator<br />

– Bayesovske mreže *<br />

* jih ne obravnavamo v teh predavanjih<br />

92<br />

94<br />

96<br />

16


Naivni Bayesov klasifikator<br />

• Verjetnost razreda pri danih vrednostih atributov<br />

p(<br />

v1...<br />

vn<br />

| c j )<br />

p( c j | v1...<br />

vn<br />

) = p(<br />

c j ) ⋅<br />

p(<br />

v1...<br />

vn<br />

)<br />

• Za vse Cjizračunaj verjetnost p(Cj ) pri danih vrednostih<br />

vi vseh atributov, ki opisujejo primer, ki ga želimo<br />

klasificirati (pri tem predpostavimo pogojno neodvisnost<br />

atributov pri ocenjevanju p(Cj ) in p(Cj |vi ))<br />

p(<br />

c j | vi<br />

)<br />

p(<br />

c j | v1...<br />

vn<br />

) ≈ p(<br />

c j ) ⋅∏<br />

i p(<br />

c j )<br />

• Izhod je CMAP z maksimalno posteriorno verjetnostjo<br />

razreda:<br />

C MAP = arg maxCj<br />

p(<br />

c j | v1...<br />

vn<br />

)<br />

Delno-naivni Bayesov klasifikator<br />

• Naivno Bayesovsko ocenjevanje verjetnosti<br />

(zanesljivo)<br />

p(<br />

c j | vi<br />

) p(<br />

c j | vk<br />

)<br />

⋅<br />

p(<br />

c ) p(<br />

c )<br />

• Delno-naivno Bayesovsko ocenjevanje<br />

verjetnosti (manj zanesljivo)<br />

j<br />

p(<br />

c | v , v )<br />

j<br />

i<br />

p(<br />

c )<br />

Ocenjevanje verjetnosti: intuicija<br />

• Eksperiment z N poskusi, n uspešnimi<br />

• Ocenimo verjetnost uspeha v naslednjem poskusu<br />

• Relativna frekvenca: n/N<br />

– ocena je zanesljiva pri velikem številu poskusov<br />

– Nezanesljiva pri majhnem številu, npr., 1/1=1<br />

• Laplace: (n+1)/(N+2), (n+1)/(N+k), k razredov<br />

– Predpostavlja enakomerno distribucijo razredov<br />

• m-ocena: (n+m.pa) /(N+m)<br />

– Apriorna verjetnost uspeha pa, parameter m<br />

(utež apriorni verjetnosti, t.j. število ‘virtualnih’<br />

primerov)<br />

j<br />

k<br />

j<br />

97<br />

99<br />

101<br />

=<br />

Naivni Bayesov klasifikator -<br />

izpeljava<br />

p(<br />

c j ⋅v1...<br />

vn<br />

) p(<br />

v1...<br />

vn<br />

| c j ) ⋅ p(<br />

c j )<br />

p(<br />

c j | v1...<br />

vn<br />

) =<br />

=<br />

=<br />

p(<br />

v ... v ) p(<br />

v ... v )<br />

∏<br />

i<br />

p(<br />

vi<br />

| c j ) ⋅ p(<br />

ci<br />

)<br />

p(<br />

c j )<br />

=<br />

p(<br />

v ... v ) p(<br />

v ... v )<br />

∏<br />

p(<br />

vi<br />

)<br />

= p(<br />

c j ) ⋅<br />

p(<br />

v ... v )<br />

1<br />

1<br />

n<br />

n<br />

1<br />

∏<br />

n<br />

1<br />

∏<br />

p(<br />

c j | vi<br />

)<br />

≈ p(<br />

c j ) ⋅<br />

p(<br />

c )<br />

i j<br />

n<br />

1<br />

n<br />

p(<br />

c j | vi<br />

) ⋅ p(<br />

vi<br />

)<br />

=<br />

p(<br />

c )<br />

i j<br />

∏<br />

p(<br />

c | v )<br />

i j<br />

j<br />

i<br />

p(<br />

c )<br />

Ocenjevanje verjetnosti<br />

• Relativna frekvenca:<br />

n(<br />

c j , vi<br />

)<br />

p ( c j | vi<br />

) =<br />

n(<br />

v )<br />

• apriorna verjetnost: Laplace-ov zakon<br />

• m-ocena:<br />

p ( c<br />

j<br />

)<br />

=<br />

i<br />

n ( c j ) + 1<br />

n + k<br />

n ( c j , v i ) + m ⋅ p ( c j )<br />

p ( c j | v i ) =<br />

n ( v ) + m<br />

i<br />

j = 1. . k<br />

Pojasnjevanje odgovorov<br />

Bayesovega klasifikatorja<br />

• Temelji na informacijski teoriji<br />

– Pričakovano število bitov potrebnih za kodiranje nekega<br />

sporočila = optimalni dolžini kode -log p bitov za sporočilo,<br />

katerega verjetnost je p (*)<br />

• Pojasnjevanje na osnovi vsote informacijskih<br />

prispevkov (information gains) posameznih vrednosti<br />

atributov v i (Kononenko and Bratko 1991, Kononenko 1993)<br />

− log(<br />

p(<br />

c | v ... v )) =<br />

= − log( p(<br />

c )) −<br />

j<br />

n<br />

∑<br />

i=<br />

1<br />

* log p označuje binarni logaritem<br />

j<br />

1<br />

n<br />

( − log p(<br />

c ) + log( p(<br />

c | v ))<br />

j<br />

j<br />

i<br />

98<br />

100<br />

102<br />

17


Primer pojasnjevanja delno-naivnega<br />

Bayesovega klasifikatorja<br />

Prognostika pri zdravljenju zlomljenega kolka<br />

Razred = no (“brez komplikacij”, najverjetnejši razred, 2 razredni problem)<br />

Attribute value For decision Against<br />

(bit) (bit)<br />

Age = 70-80 0.07<br />

Sex = Female -0.19<br />

Mobility before injury = Fully mobile 0.04<br />

State of health before injury = Other 0.52<br />

Mechanism of injury = Simple fall -0.08<br />

Additional injuries = None 0<br />

Time between injury and operation > 10 days 0.42<br />

Fracture classification acc. To Garden = Garden III -0.3<br />

Fracture classification acc. To Pauwels = Pauwels III -0.14<br />

Transfusion = Yes 0.07<br />

Antibiotic profilaxies = Yes -0.32<br />

Hospital rehabilitation = Yes 0.05<br />

General complications = None 0<br />

Combination: 0.21<br />

Time between injury and examination < 6 hours<br />

AND Hospitalization time between 4 and 5 weeks<br />

Combination: 0.63<br />

Therapy = Artroplastic AND anticoagulant therapy = Yes<br />

Naivni Bayesov klasifikator<br />

• Naivni Bayesov klasifikator lahko uporabljamo<br />

– ko imamo dovolj veliko število učnih primerov za<br />

zanesljivo ocenjevanje verjetnosti<br />

• Dosega dobro klasifikacijsko točnost<br />

– uporabljamo ga kot ‘gold standard’ za primerjavo<br />

pri ocenjevanju drugih kompleksnejših<br />

klasifikatorjev<br />

• Odpornost na šumne podatke:<br />

– Zanesljivo ocenjevanje verjetnosti<br />

– Uporablja vso razpoložljivo informacijo<br />

• Uspešnost pri aplikacijah<br />

– Klasifikacija Web strani in dokumentov<br />

– Medicinska diagnostika in prognostika, …<br />

Izboljšanje klasifikacijske točnosti z<br />

uporabo m-ocene<br />

Relative freq. m-estimate<br />

Primary tumor 48.20% 52.50%<br />

Breast cancer 77.40% 79.70%<br />

hepatitis 58.40% 90.00%<br />

lymphography 79.70% 87.70%<br />

103<br />

105<br />

107<br />

Information gain<br />

Vizualizacija informacijskih<br />

prispevkov za/proti C i<br />

50<br />

40<br />

30<br />

20<br />

10<br />

0<br />

-10<br />

-20<br />

-30<br />

-40<br />

1 2<br />

C1 C2<br />

Izbrane medicinske domene<br />

Primary Breast thyroid Rheumatology<br />

tumor cancer<br />

#instan 339 288 884 355<br />

#class 22 2 4 6<br />

#attrib 17 10 15 32<br />

#values 2 2.7 9.1 9.1<br />

majority 25% 80% 56% 66%<br />

entropy 3.64 0.72 1.59 1.7<br />

Drugi del: Napovedna indukcija<br />

• Naivni Bayeson klasifikator<br />

•Učenje odločitvenih dreves<br />

• Algoritem za učenje odločitvenih<br />

dreves<br />

• Hevristike in mere kvalitete<br />

•Učenje klasifikacijskih pravil<br />

• Evalvacija klasifikatorjev<br />

v1<br />

v2<br />

v3<br />

v4<br />

v5<br />

v6<br />

v7<br />

104<br />

106<br />

108<br />

18


Odločitvena drevesa<br />

• Tip naloge: napovedovanje in klasifikacija<br />

• Opisni jezik: odločitvena drevesa<br />

notranja vozlišča: atributi, veje: vrednosti<br />

atributov, listi: razred<br />

zmanjšano<br />

NE<br />

solzenje<br />

normalno<br />

Učenje odločitvenih dreves<br />

• ID3 (Quinlan 1979), CART (Breiman s sod. 1984), C4.5,<br />

WEKA<br />

• če vsi primeri iz S pripadajo istemu razredu C j<br />

– potem označi ta list s C j<br />

– sicer<br />

• izberi ‘najinformativnejši’ atribut A z vrednostmi<br />

v1, v2, … vn<br />

•razdeli učno množico S na S1,… , Sn glede na<br />

astigmatizem<br />

ne<br />

MEHKE<br />

da<br />

dioptrija<br />

vrednosti v1,…,vn<br />

• rekurzivno zgradi poddrevesa<br />

T1,…,Tn za S1,…,Sn<br />

A<br />

v1<br />

...<br />

vn<br />

kratkovidnost<br />

dalekovidnost<br />

• generiraj drevo T:<br />

T1 ... Tn<br />

TRDE NE 109<br />

110<br />

Ocena informativnosti atributov<br />

• Glavna izbira v ID3: Kateri atribut izbrati kot test v danem vozlišču<br />

odločitvenega drevesa ? Atribut, ki je najkoristnejši za čimtočnejšo<br />

klasifikacijo primerov.<br />

• Definiramo statistično oceno informativnosti atributa, ki meri kako<br />

dobro atribut ločuje med primeri, ki pripadajo različnim razredom<br />

• Informativnost merimo kot zmanjšanje entropije učne množice<br />

primerov (entropija je mera “nečistosti” učne množice: E(S) = - p +<br />

log2p + -p-log2p- )<br />

• Najinformativnejši atribut:<br />

– uporabi atribut v vozlišču<br />

1<br />

0,9<br />

drevesa, razbij S na S1,S2<br />

0,8<br />

0,7<br />

– izberi A, ki maksimizira<br />

0,6<br />

informacijski prispevek<br />

0,5<br />

0,4<br />

Max Gain(S,A)<br />

0,3<br />

| Sv<br />

|<br />

Gain( S,<br />

A)<br />

= E(<br />

S)<br />

− ∑ ⋅ E(<br />

Sv<br />

)<br />

| S |<br />

v∈Values(<br />

A)<br />

Entropy(S)<br />

0,2<br />

0,1<br />

0<br />

0 0,2 0,4 0,6 0,8 1 p+<br />

Odločitveno drevo: PlayTennis<br />

Sunny<br />

Outlook<br />

Overcast<br />

Rain<br />

Humidity Yes<br />

Wind<br />

High Normal Strong Weak<br />

No Yes No Yes<br />

- vsako notranje vozlišče je atributni test<br />

- vsaka veja pripada vrednosti atributa<br />

- vsaka pot je konjunkcija vrednosti atributov<br />

- vsak list označuje pripadnost danemu razredu<br />

111<br />

113<br />

Tabela učnih primerov:<br />

Igranje tenisa (PlayTennis)<br />

Day Outlook Temperature Humidity Wind PlayTennis<br />

D1 Sunny Hot High Weak No<br />

D2 Sunny Hot High Strong No<br />

D3 Overcast Hot High Weak Yes<br />

D4 Rain Mild High Weak Yes<br />

D5 Rain Cool Normal Weak Yes<br />

D6 Rain Cool Normal Strong No<br />

D7 Overcast Cool Normal Strong Yes<br />

D8 Sunny Mild High Weak No<br />

D9 Sunny Cool Normal Weak Yes<br />

D10 Rain Mild Normal Weak Yes<br />

D11 Sunny Mild Normal Strong Yes<br />

D12 Overcast Mild High Weak Yes<br />

D13 Overcast Hot Normal Weak Yes<br />

D14 Rain Mild High Strong No<br />

Odločitveno drevo: PlayTennis<br />

Sunny<br />

Outlook<br />

Overcast<br />

Rain<br />

Humidity Yes<br />

Wind<br />

High Normal Strong Weak<br />

No Yes No Yes<br />

Odločitvena drevesa predstavljajo disjunkcijo konjunkcij vrednosti atributov, ki<br />

opisujejo učne primere danega razreda. Primer: opis razreda Yes:<br />

(Outlook=Sunny ∧ Humidity=Normal)<br />

V (Outlook=Overcast)<br />

V (Outlook=Rain ∧ Wind=Weak)<br />

112<br />

114<br />

19


PlayTennis: Drugi opisni formalizmi<br />

• Logični izraz za PlayTennis=Yes:<br />

– (Outlook=Sunny ∧ Humidity=Normal) ∨ (Outlook=Overcast) ∨<br />

(Outlook=Rain ∧ Wind=Weak)<br />

• If-then pravila:<br />

– IF Outlook=Sunny ∧ Humidity=Normal THEN PlayTennis=Yes<br />

– IF Outlook=Overcast THEN PlayTennis=Yes<br />

– IF Outlook=Rain ∧ Wind=Weak THEN PlayTennis=Yes<br />

– IF Outlook=Sunny ∧ Humidity=High THEN PlayTennis=No<br />

– IF Outlook=Rain ∧ Wind=Strong THEN PlayTennis=Yes<br />

PlayTennis: Entropija<br />

• Učna množica S: 14 primerov (9 poz., 5 neg.)<br />

• Oznaka: S = [9+, 5-]<br />

• E(S) = - p + log 2p + - p - log 2p -<br />

• Izračun entropije, če verjetnost ocenimo z<br />

relativno frekvenco<br />

• E([9+,5-]) = - (9/14) log 2 (9/14) - (5/14) log 2 (5/14)<br />

= 0.940<br />

⎛ | S+<br />

| | S+<br />

| ⎞ ⎛ | S−<br />

| | S−<br />

| ⎞<br />

E(<br />

S)<br />

= −⎜<br />

⋅log<br />

⎟ − ⎜ ⋅log<br />

⎟<br />

⎝ | S | | S | ⎠ ⎝ | S | | S | ⎠<br />

Informacijski prispevek kot<br />

preiskovalna hevristika<br />

• Informacijski prispevek (information gain) je mera s katero<br />

poskušamo minimizirati število testov potrebnih za<br />

klasifikacijo novega primera<br />

• Gain(S,A) – predvideno zmanjšanje entropije množice S<br />

zaradi razbitja na podmnožice glede na vrednosti atributa A<br />

| Sv<br />

|<br />

Gain( S,<br />

A)<br />

= E(<br />

S)<br />

− ∑ ⋅ E(<br />

Sv<br />

)<br />

| S |<br />

v∈Values(<br />

A)<br />

• Najinformativnejši atribut: max Gain(S,A)<br />

115<br />

117<br />

119<br />

PlayTennis: Uporaba odločitvenega<br />

drevesa za klasifikacijo<br />

Sunny<br />

Outlook<br />

Overcast<br />

Rain<br />

Humidity Yes<br />

Wind<br />

High Normal Strong Weak<br />

No Yes No Yes<br />

Ali je sobotno jutro OK za igranje tenisa ?<br />

Outlook=Sunny, Temperature=Hot, Humidity=High, Wind=Strong<br />

PlayTennis = No, ker Outlook=Sunny ∧ Humidity=High<br />

PlayTennis: Entropija<br />

• E(S) = - p + log 2 p + -p - log 2 p -<br />

• E(9+,5-) = -(9/14) log 2 (9/14) - (5/14) log 2 (5/14) = 0.940<br />

Outlook?<br />

Humidity?<br />

Wind?<br />

Sunny<br />

Overcast<br />

Rain<br />

High<br />

Normal<br />

Weak<br />

Strong<br />

{D1,D2,D8,D9,D11} [2+, 3-] E=0.970<br />

{D3,D7,D12,D13} [4+, 0-] E=0<br />

{D4,D5,D6,D10,D14} [3+, 2-] E=0.970<br />

[3+, 4-] E=0.985<br />

[6+, 1-] E=0.592<br />

[6+, 2-] E=0.811<br />

[3+, 3-] E=1.00<br />

Informacijski prispevek kot<br />

preiskovalna hevristika<br />

• Kateri atribute je informativnejši, A1 ali A2 ?<br />

[9+,5−], Ε = 0.94<br />

Α1<br />

[6+, 2−] [3+, 3−]<br />

Ε=0.811 Ε=1.00<br />

[9+,5−], Ε = 0.94<br />

• Gain(S,A1) = 0.94 – (8/14 x 0.811 + 6/14 x 1.00) = 0.048<br />

• Gain(S,A2) = 0.94 – 0 = 0.94 A2 ima max Gain<br />

Α2<br />

[9+, 0−] [0+, 5−]<br />

Ε=0.0 Ε=0.0<br />

116<br />

118<br />

120<br />

20


PlayTennis: Informacijski prispevek<br />

| Sv<br />

|<br />

Gain( S,<br />

A)<br />

= E(<br />

S)<br />

− ∑ ⋅ E(<br />

Sv<br />

)<br />

| S |<br />

v∈Values(<br />

A)<br />

• Vrednosti(Wind) = {Weak, Strong}<br />

Wind?<br />

Weak<br />

Strong<br />

[6+, 2-] E=0.811<br />

[3+, 3-] E=1.00<br />

– S = [9+,5-], E(S) = 0.940<br />

– Sweak = [6+,2-], E(Sweak ) = 0.811<br />

– Sstrong = [3+,3-], E(Sstrong ) = 1.0<br />

– Gain(S,Wind) = E(S) - (8/14)E(Sweak ) - (6/14)E(Sstrong ) =<br />

0.940 - (8/14)x0.811 - (6/14)x1.0=0.048<br />

PlayTennis: Informacijski prispevek<br />

Outlook?<br />

Rain<br />

{D4,D5,D6,D10,D14} [3+, 2-] E > 0 ???<br />

Overcast<br />

{D3,D7,D12,D13} [4+, 0-] E = 0 OK – razred Yes<br />

Sunny<br />

{D1,D2,D8,D9,D11} [2+, 3-] E > 0 ???<br />

• Kateri atribut je najboljši v tem vozlišču drevesa?<br />

– Gain(S sunny , Humidity) = 0.97-(3/5)0-(2/5)0 = 0.970 MAX !<br />

– Gain(Ssunny ,Temperature) = 0.97-(2/5)0-(2/5)1-(1/5)0 = 0.570<br />

– Gain(Ssunny ,Wind) = 0.97-(2/5)1-(3/5)0.918 = 0.019<br />

Rezanje odločitvenih dreves<br />

• Razširitve ID3 za obravnavo šumnih podatkov:<br />

– cilj je, da se izognemo pretiranemu prilagajanju<br />

(overfitting) učni množici<br />

• Porezana drevesa so:<br />

– manj točna na učnih <strong>podatkih</strong><br />

– točnejša pri klasifikaciji novih primerov<br />

121<br />

123<br />

125<br />

PlayTennis: Informacijski prispevek<br />

• Kateri atribut je najboljši?<br />

– Gain(S,Outlook)=0.246 MAX !<br />

– Gain(S,Humidity)=0.151<br />

– Gain(S,Wind)=0.048<br />

– Gain(S,Temperature)=0.029<br />

Klasifikacija z odločitvenimi drevesi<br />

Odločitvena drevesa lahko uporabljamo za klasifikacijo če:<br />

• Klasifikacijski problem tak, da zahteva klasifikacijo<br />

danega primera v enega od diskretne množice<br />

klasifikacijskih razredov (medicinska diagnostika,<br />

klasifikacija prosilcev za posojilo, …<br />

• Primeri opisani z vrednostmi končne množice atributov<br />

(diskretnih ali realnih vrednosti)<br />

• Ciljna funkcija je diskretna (boolova ali večvrednostna,<br />

če ima ciljni atribut realne vrednosti gre za problem<br />

učenja regresijskih dreves)<br />

• Učenje disjunktivnih konceptov<br />

• Učni primeri so lahko šumni (napake v klasifikaciji in/ali<br />

napačne vrednosti atributov)<br />

• Učni primeri lahko vsebujejo manjkajoče vrednosti<br />

atributov<br />

Obravnava šumnih podatkov z<br />

rezanjem dreves<br />

Vzroki za nepopolnost podatkov:<br />

1. Naključne napake (šum) v<br />

učnih primerih<br />

– napake v vrednostih atributov<br />

– napake v klasifikaciji<br />

primerov<br />

2. Premalo primerov<br />

(incompleteness)<br />

3. Neprimerna or. Nezadostna<br />

množica atributov<br />

(neeksaktnost)<br />

4. Manjkajoče vrednosti<br />

atributov v učni množici<br />

122<br />

124<br />

Obravnava nepopolnih podatkov tipa 1-<br />

3:<br />

• pre-pruning (stopping criteria)<br />

• post-pruning / rule<br />

truncation<br />

Obravnava manjkajočih vrednosti:<br />

Rezanje dreves preprečuje, da bi se<br />

odločitveno drevo pretirano<br />

prilagodilo napakam v učni množici.<br />

Tako sprostimo zahtevo po<br />

kompletnosti (pokrivanje vseh poz.<br />

primerov) in konsistentnosti (nepokritost<br />

neg. primerov) opisov v<br />

ID3<br />

126<br />

21


Rezanje dreves<br />

• Kaj bi se zgodilo pri dodajanju novega primera D15<br />

Sunny, Hot, Normal, Strong, PlayTennis=No<br />

Sunny<br />

Outlook<br />

Overcast<br />

Rain<br />

Humidity Yes<br />

Wind<br />

High Normal Strong Weak<br />

No<br />

Yes<br />

{D9,D11}<br />

Odločitveno drevo za določitev lokacije<br />

primarnega tumorja<br />

• 339 primerov<br />

• 228 za učenje, 111 za testitanje<br />

• Točnost naučenega drevesa: brez rezanja: 41%, z rezanjem: 45%<br />

histological type<br />

degree of<br />

differentiation<br />

good<br />

fair, poor<br />

degree of<br />

bone<br />

differentiation<br />

yes<br />

no<br />

fair<br />

poor<br />

kidney stomach<br />

adeno<br />

axilla sex<br />

yes<br />

no<br />

m<br />

No<br />

epidermoid, anaplasti<br />

head, neck<br />

breast colon lung gallbladder<br />

neck<br />

lung<br />

Yes<br />

sex<br />

lung<br />

Prilagajanje podatkom (overfitting) in<br />

klasifikacijska točnost<br />

• Tipična relacija med velikostjo drevesa in<br />

klasifikacijsko točnostjo<br />

0.9<br />

0.85<br />

0.8<br />

0.75<br />

0.7<br />

0.65<br />

0.6<br />

0.55<br />

yes<br />

0.5<br />

0 20 40 60 80 100 120<br />

f<br />

m<br />

no<br />

On training data<br />

On test data<br />

• Vprašanje: kako doseči optimalno rezanje<br />

dreves ?<br />

f<br />

127<br />

129<br />

131<br />

Odločitveno drevo za napovedovanje<br />

ponovitve raka na dojki<br />

no_recur 4<br />

recurrence 1<br />

Tumor_size<br />

Age no_recur 125<br />

recurrence 39<br />

no_recur 4<br />

Degree_of_malig<br />

< 3 ≥ 3<br />

Involved_nodes<br />

< 15 ≥ 15 < 3 ≥ 3<br />

< 40 ≥40<br />

no_rec 4 rec1<br />

• Opis domen<br />

no_recur 30<br />

recurrence 18<br />

Medicinske aplikacije<br />

domain #cls #atts #val/att #inst. maj.cl.(%) entropy(bit)<br />

THYR 4 15 9.1 884 56 1.59<br />

PRIM 22 17 2.2 339 25 3.89<br />

BREA 2 10 2.7 288 80 1.73<br />

LYMP 4 18 3.3 148 55 1.28<br />

RHEU 6 32 9.1 355 66 0.93<br />

BONE 2 19 4.5 270 65 0.93<br />

HEPA 2 19 3.8 155 79 0.74<br />

DIAB 2 8 8.8 768 65 0.93<br />

HEART 2 13 5 270 56 0.99<br />

• Ocenjevanje točnosti<br />

no_recur 27<br />

recurrence 10<br />

classifier primary tumor breast cancer<br />

thyroid rheumatology<br />

naïve Bayes 49% 1.60bit 78% 0.08bit 70% 0.79bit 67% 0.52bit<br />

Assistant 44% 1.38bit 77% 0.07bit 73% 0.87bit 61% 0.46bit<br />

physicians 42% 1.22bit 64% 0.05bit 64% 0.59bit 56% 0.26bit<br />

Rezanje dreves<br />

Mehanizmi za preprečevanje pretiranega<br />

prilagajanja podatkom:<br />

– Pre-pruning; prenehaj z gradnjo ko izboljšave<br />

niso več statistično signifikantne ali ko listu<br />

pripada premalo primerov<br />

– Post-pruning: najprej zgradi drevo, nato reži<br />

veje<br />

Izbor najboljšega drevesa<br />

– Merjenje na učni množici ali na<br />

ločeni validacijski množici<br />

Pre-pruning<br />

Post-pruning<br />

128<br />

130<br />

132<br />

22


Drugi del: Napovedna indukcija<br />

• Naivni Bayeson klasifikator<br />

•Učenje odločitvenih dreves<br />

•Učenje klasifikacijskih pravil<br />

• Evalvacija klasifikatorjev<br />

Učenje klasifikacijskih pravil<br />

• Predstavitev množice pravil<br />

• Dva pristopa k učenju:<br />

–Naučeno odločitveno drevo prevedi v<br />

množico klasifikacijskih pravil<br />

–Nauči se množice klasifikacijskih pravil<br />

• Hevristike, preveliko prilagajanje podatkom<br />

(učni množici), rezanje pravil<br />

Primer: ocenjevanje kupcev<br />

Kupec Spol Starost Dohodek Poraba Ocena<br />

c1 moški 30 214000 18800 dober<br />

c2 ženski 19 139000 15100 dober<br />

c3 moški 55 50000 12400 slab<br />

c4 ženski 48 26000 8600 slab<br />

c5 moški 63 191000 28100 dober<br />

O6-O13 ... ... ... ... ...<br />

c14 ženski 61 95000 18100 dober<br />

c15 moški 56 44000 12000 slab<br />

c16 moški 36 102000 13800 slab<br />

c17 ženski 57 215000 29300 dober<br />

c18 moški 33 67000 9700 slab<br />

c19 ženski 26 95000 11000 slab<br />

c20 ženski 55 214000 28800 dober<br />

133<br />

135<br />

137<br />

Učenje odločitvenih dreves<br />

vs. učenje klasifikacijskih pravil:<br />

Razbijanje vs. pokrivanje<br />

• Splitting (ID3)<br />

• Covering (AQ, CN2)<br />

+ +<br />

-<br />

+ +<br />

-<br />

+<br />

+<br />

-<br />

-<br />

+<br />

-<br />

-<br />

+ +<br />

+ +<br />

-<br />

-<br />

+<br />

+<br />

-<br />

- -<br />

+<br />

-<br />

Predstavitev množice pravil<br />

• Množica pravil je disjunktna množica konjunktivnih pravil<br />

• Standardna oblika pravil:<br />

IF Condition THEN Class<br />

Class IF Conditions<br />

Class ← Conditions<br />

IF Outlook=Sunny ∧ Humidity=Normal THEN<br />

PlayTennis=Yes<br />

IF Outlook=Overcast THEN PlayTennis=Yes<br />

IF Outlook=Rain ∧ Wind=Weak THEN PlayTennis=Yes<br />

• Oblika CN2 pravil:<br />

IF Conditions THEN BestClass [ClassDistr]<br />

• Množica pravil : {R1, R2, R3, …, DefaultRule}<br />

Ocenjevanje kupcev:<br />

klasifikacijska pravila<br />

Neurejena pravila (neodvisna, lahko s presekom):<br />

Income > 108000 => BigSpender = yes<br />

Age ≥ 49 & Income > 57000 => BigSpender = yes<br />

Age ≤ 56 & Income < 98500 => BigSpender = no<br />

Income < 51000 => BigSpender = no<br />

33 < Age ≤ 42 => BigSpender = no<br />

DEFAULT BigSpender = yes<br />

134<br />

136<br />

138<br />

23


Primer: izbor kontaktnih leč<br />

Oseba Starost Dioptrija Astigmat. Solzenje Leče<br />

O1 mlad kratko ne zmanjšano NE<br />

O2 mlad kratko ne normalno MEHKE<br />

O3 mlad kratko da zmanjšano NE<br />

O4 mlad kratko da normalno TRDE<br />

O5 mlad daleko ne zmanjšano NE<br />

O6-O13 ... ... ... ... ...<br />

O14 pr_st_dal daleko ne normalno MEHKE<br />

O15 pr_st_dal daleko da zmanjšano NE<br />

O16 pr_st_dal daleko da normalno NE<br />

O17 st_daleko kratko ne zmanjšano NE<br />

O18 st_daleko kratko ne normalno NE<br />

O19-O23 ... ... ... ... ...<br />

O24 st_daleko daleko da normalno NE<br />

Izbor kontaktnih leč:<br />

odločitveni seznam (decision list)<br />

Pravila oblike if-then-else<br />

IF solzenje=zmanjšano THEN leče=NE<br />

ELSE /* solzenje=normalno */<br />

IF astigmatizem=ne THEN leče=MEHKE<br />

ELSE /* astigmatizem=da */<br />

IF spect. pre.=myope THEN leče=TRDE<br />

ELSE /* dioptrija=kratkovidnost */<br />

leče=NE<br />

Učenje posameznega pravila s<br />

hevrističnim preiskovanjem<br />

Lenses = hard IF true [S=5, H=4, N=15]<br />

...<br />

Lenses = hard<br />

Lenses = hard<br />

IF Astigmatism = no<br />

IF Tearprod. = reduced<br />

[S=5, H=0, N=7]<br />

Lenses = hard Lenses = hard [S=0, H=0, N=12]<br />

IF Astigmatism = yes IF Tearprod. = normal<br />

[S=0, H=4, N=8]<br />

[S=5, H=4, N=3]<br />

Lenses = hard<br />

IF Tearprod. = normal<br />

AND Spect.Pre. = myope<br />

Lenses = hard<br />

[S=2, H=3, N=1]<br />

IF Tearprod. = normal<br />

Lenses = hard<br />

Lenses = hard<br />

AND Astigmatism = yes<br />

IF Tearprod. = normal IF Tearprod. = normal<br />

[S=0, H=4, N=2]<br />

AND Spect.Pre. = hyperm. AND Astigmatism = no<br />

[S=3, H=1, N=2] [S=5, H=0, N=1]<br />

139<br />

141<br />

143<br />

Izbor kontaktnih leč:<br />

klasifikacijska pravila<br />

• solzenje=zmanjšano leče=NE [S=0,H=0,N=12]<br />

• solzenje=normalno & astigmatizem=ne <br />

leče=MEHKE [S=5,H=0,N=1]<br />

• solzenje= normalno & astigmatizem=da &<br />

dioptrija=kratkovidnost leče=TRDE<br />

[S=0,H=3,N=2]<br />

• solzenje=normalno & astigmatizem=da &<br />

dioptrija=dalekovidnost leče=NE<br />

[S=0,H=1,N=2]<br />

• Verjetnostna klasifikacija novega neznanega primera:<br />

če je klasificirani primer pokrit z več različnimi<br />

pravili in ga pravila klasificirajo v različne razrede,<br />

primer klasificiramo v največkrat klasificirani razred<br />

Osnovni prekrivni algoritem (AQ,<br />

Michalski 1969,86)<br />

+ +<br />

for vsak razred Ci do<br />

-<br />

+ +<br />

– Ei := Pi U Ni (Pi poz., Ni neg.)<br />

+<br />

– RuleBase(Ci) := prazna<br />

+<br />

-<br />

– repeat {learn-set-of-rules}<br />

• learn-one-rule R (R pokriva nekaj pozitivnih in<br />

nobenih negativnih primerov)<br />

• Dodaj R v RuleBase(Ci)<br />

• Izbriši iz Pi vse pozitivne primere, ki jih pokriva R<br />

– until Pi = prazna<br />

-<br />

- -<br />

-<br />

+<br />

Učenje posameznega pravila s<br />

hevrističnim preiskovanjem<br />

Play tennis = yes<br />

IF Wind=weak<br />

[6+,2−] (8)<br />

Play tennis = yes<br />

IF Wind=strong<br />

[3+,3−] (6)<br />

Play tennis = yes IF<br />

Play tennis = yes<br />

IF Humidity=normal,<br />

Wind=weak<br />

Play tennis = yes<br />

IF Humidity=normal,<br />

Wind=strong<br />

[9+,5−] (14)<br />

Play tennis = yes<br />

IF Humidity=high<br />

Play tennis = yes<br />

[3+,4−] (7)<br />

IF Humidity=normal<br />

[6+,1−] (7)<br />

140<br />

142<br />

Play tennis = yes<br />

IF Humidity=normal,<br />

Play tennis = yes<br />

Outlook=rain<br />

IF Humidity=normal,<br />

Outlook=sunny<br />

144<br />

[2+,0−] (2)<br />

...<br />

24


Učenje posameznega pravila s<br />

hevrističnim preiskovanjem<br />

PlayTennis = yes [9+,5-] (14)<br />

PlayTennis = yes ← Wind=weak [6+,2-] (8)<br />

← Wind=strong [3+,3-] (6)<br />

← Humidity=normal [6+,1-] (7)<br />

← …<br />

PlayTennis = yes ← Humidity=normal<br />

Outlook=sunny [2+,0-] (2)<br />

← …<br />

Estimating accuracy with probability:<br />

A(Ci ← Conditions) = p(Ci | Conditions)<br />

Estimating probability with relative frequency:<br />

covered pos. ex. / all covered ex.<br />

[6+,1-] (7) = 6/7, [2+,0-] (2) = 2/2 = 1<br />

Evalvacija klasifikatorjev<br />

• Uporaba naučenih modelov<br />

– <strong>Odkrivanje</strong> novega znanja (odl. drevesa, pravila)<br />

– Klasifikacija novih objektov (Bayes, odl. drevesa, pravila)<br />

• Evalvacija kvalitete klasifikatorjev<br />

– Točnost (Accuracy), Napaka (Error = 1 – Accuracy)<br />

– Klasifikacijska točnost na učni množici + procent pravilno<br />

klasificiranih primerov<br />

• Razbij množico primerov na učno množico (training set, npr.<br />

70%) za učenje klasifikatorja, in na testno množico (test set,<br />

npr.30%) za testiranje točnosti klasifikatorja<br />

• Prečno preverjanje (10-fold cross validation, leave-one-out, ...)<br />

– Razumljivost (npr. mera kompaktnosti modelov)<br />

– Informacijska vsebina (information score), signifikanca, …<br />

• Razdeli<br />

•Nauči<br />

• Testiraj<br />

T 1 T 2 T 3<br />

D\T 1=D 1 D\T 2=D 2 D\T 3=D 3<br />

T 1 T 2 T 3<br />

D<br />

145<br />

147<br />

149<br />

Drugi del: Napovedna indukcija<br />

• Naivni Bayeson klasifikator<br />

•Učenje odločitvenih dreves<br />

•Učenje klasifikacijskih pravil<br />

• Evalvacija klasifikatorjev<br />

– Klasifikacijska točnost (accuracy) in<br />

napaka (error)<br />

–Prečno preverjanje<br />

(n-fold cross-validation)<br />

Prečno preverjanje<br />

(n-fold cross validation)<br />

• Metoda za ocenjevanje točnosti klasifikatorjev<br />

• Razdeli množico primerov D v n disjunktnih, (skoraj)<br />

enako velikih podmnožic (folds) T i tako da je D = U T i<br />

• for i = 1, ..., n do<br />

– Konstruiraj učno množico iz n-1 foldov: Di = D\T i<br />

– nauči se klasifikatorja H i iz primerov v Di<br />

– Uporabi fold T i za testiranje točnosti H i<br />

• Oceni klasifikacijsko točnost klasifikatorja tako, da<br />

izračunaš povprečje po desetih foldih T i<br />

(Ne)točnost<br />

• Denimo da dva različna klasifikatorja dosežeta<br />

80% točnost na testni množici, ali je njuna<br />

kvaliteta vedno enaka ?<br />

– Npr. klasifikator 1 pravilno klasificira 40 od 50 pozitivnih<br />

primerov in 40 od 50 negativnih; klasifikator 2 pa<br />

pravilno klasificira 30 od 50 pozitivnih in 50 od 50<br />

negativnih<br />

• Na testni množici ki ima več negativnih kot pozitivnih<br />

primerov je klasifikator 2 boljši<br />

• Na testni množici ki ima več negativnih kot pozitivnih<br />

primerov je klasifikator 1 boljši, razen če …<br />

• … razmerje pozitivnih postane tako veliko da je<br />

klasifikator ‘vedno pozitivni’ najboljši!<br />

• Povzetek: Klasifikacijska točnost ni vedno<br />

najboljša mera kvalitete klasifikatorjev<br />

146<br />

148<br />

150<br />

25


Kontingenčna tabela<br />

(confusion matrix, contingency table)<br />

Predicted positive Predicted negative<br />

Positive examples True positives False negatives<br />

Negative examples False positives True negatives<br />

Classifier 1<br />

Predicted positive Predicted negative<br />

Positive examples 40 10 50<br />

Negative examples 10 40 50<br />

50 50 100<br />

Classifier 2<br />

Predicted positive Predicted negative<br />

Positive examples 30 20 50<br />

Negative examples 0 50 50<br />

30 70 100<br />

ROC krivulja: konveksna ovojnica<br />

najboljših klasifikatorjev<br />

true positive rate<br />

100%<br />

80%<br />

60%<br />

40%<br />

20%<br />

0%<br />

0% 20% 40% 60% 80% 100%<br />

false positive rate<br />

Napovedna vs.opisna indukcija<br />

• Napovedna indukcija (predictive induction):<br />

Indukcija (učenje) modelov iz klasificiranih primerov s<br />

ciljem napovedovanja ter klasifikacije novih primerov<br />

– Učenje odločitvenih dreves, učenje klasifikacijskih pravil<br />

– Naivni Bayesov klasifikator, ANN, SVM, ...<br />

– Učenje modelov (hipotez) iz podatkov<br />

• Opisna indukcija (descriptive induction):<br />

<strong>Odkrivanje</strong> zanimivih skupin in pogostih vzorcev v <strong>podatkih</strong> z<br />

namenom odkrivanja <strong>zakonitosti</strong> v <strong>podatkih</strong><br />

– <strong>Odkrivanje</strong> podskupin, razvrščanje v skupine (clustering),<br />

učenje povezovalnih pravil (association rule learning), …<br />

– Pojasnjevalna analiza podatkov (exploratory data analysis)<br />

151<br />

153<br />

155<br />

• True positive rate =<br />

#true pos. /#pos.<br />

– TP 1 = 40/50 = 80%<br />

– TP 2 = 30/50 = 60%<br />

• False positive rate =<br />

#false pos. /#neg.<br />

– FP 1 = 10/50 = 20%<br />

– FP 2 = 0/50 = 0%<br />

• ROC krivulja<br />

narisana v ROC<br />

prostoru z FP rate<br />

na X osi in TP rate<br />

na Y osi<br />

ROC krivulja<br />

Classifier 1<br />

Predicted positive Predicted negative<br />

Positive examples<br />

Negative examples<br />

40<br />

10<br />

50<br />

10<br />

40<br />

50<br />

50<br />

50<br />

100<br />

Classifier 2<br />

Predicted positive Predicted negative<br />

Positive examples 30 20 50<br />

Negative examples 0 50 50<br />

30 70 100<br />

true positive rate<br />

100%<br />

80%<br />

60%<br />

40%<br />

Confirmation rules<br />

20%<br />

WRAcc<br />

CN2<br />

0%<br />

0% 20% 40% 60% 80% 100%<br />

false positive rate<br />

Tretji del: Opisna indukcija<br />

• Napovedna vs. opisna indukcija<br />

•Učenje povezovalnih pravil<br />

• <strong>Odkrivanje</strong> podskupin<br />

•Razvrščanje v skupine<br />

Napovedna vs. opisna indukcija<br />

v učenju pravil<br />

• Napovedna indukcija: Gradnja množice pravil<br />

(ruleset), ki jih uporabimo kot model za<br />

napovedovanje in klasifikacijo novih primerov<br />

• Opisna indukcija: Gradnja posameznih pravil<br />

(rules), ki opisujejo zanimive <strong>zakonitosti</strong>, skupine<br />

ali vzorce v <strong>podatkih</strong><br />

• Razlike:<br />

– Različni cilji, različne hevristike, različni kriteriji za<br />

ocenjevanje naučenih pravil<br />

152<br />

154<br />

156<br />

26


Nadzorovana vs. nenadzorovana<br />

indukcija v učenju pravil<br />

• Nadzorovano učenje (supervised induction):<br />

Učenje pravil iz klasificiranih primerov (vsak učni primer<br />

pripada nekemu razredu) – ponavadi se uporablja v<br />

napovedni indukciji<br />

• Nenadzorovano učenje (unsupervised induction):<br />

Učenje pravil iz neklasificiranih primerov (za učne<br />

primere pripadnost razredu ni podana) – ponavadi se<br />

uporablja v opisni indukciji<br />

• Izjema: <strong>Odkrivanje</strong> podskupin<br />

<strong>Odkrivanje</strong> posameznih pravil, ki opisujejo zanimive<br />

zakonistosti v <strong>podatkih</strong> iz klasificiranih primerov<br />

Povezovalna pravila (association rules)<br />

• X ⇒ Y . . . if X then Y<br />

• X in Y sta množici postavk (itemsets)<br />

• Intuitivni pomen: transakcije ki vsebujejo X najpogosteje vsebujejo tudi Y<br />

• Postavke (Items) – binarni atributi (features)<br />

– Medicina: moški, ženska,glavobol, število_otrdelih_sklepov_manjše_od_1, …<br />

– Trženje: CocaCola. Arašidi, pivo, …<br />

• Transakcije (transactions) – množice postavk (itemsets), zapisi v transakcijski<br />

tabeli (database records)<br />

i1 i2 ……………… i50<br />

t1 1 0 0<br />

t2 0 1 0<br />

… … … ...<br />

• Povezovalna pravila (Association rules)<br />

spondylitic ⇒ arthritic & stiff_gt_1 [70%, 5%]<br />

arthrotic & spondylotic ⇒ stiff_less_1 [90%,20%]<br />

Učenje povezovalnih pravil<br />

• Velike množice postavk so tiste, ki nastopajo v vsaj MinPodpora transakcij<br />

• Vse podmnožice velike množice postavk so tudi velike množice postavk<br />

(npr. če se A,B pojavljata v vsaj MinPodpora transakcij, se A in B tudi)<br />

• Ta lastnost je osnova za učinkovito implementacijo algoritmov za iskanje<br />

povezovalnih pravil (linearni v številu transakcij)<br />

• Postopek učenja:<br />

– Izberi MonPodpora, MinZaupanje<br />

– Poišči vse velike množice postavk MP, za katere velja<br />

Po(MP) > MinPodpora<br />

– Vsako veliko množico postavk MP razdeli na XY, MP = XY<br />

• izračunaj Za(X,Y) = p(XY)/p(X) = Po(XY)/Po(X)<br />

• če Za(X,Y) > MinZaupanje potem velja X ⇒ Y<br />

157<br />

159<br />

161<br />

Tretji del: Opisna indukcija<br />

• Napovedna vs. opisna indukcija<br />

•Učenje povezovalnih pravil<br />

• <strong>Odkrivanje</strong> podskupin<br />

•Razvrščanje v skupine<br />

Učenje povezovalnih pravil<br />

• Naloga učenja povezovalnih pravil (oblika pojasnjevalna<br />

indukcije):<br />

– Input: množica transakcij D<br />

– Poišči: Vsa povezovalna pravila za katere v množici transakcij D<br />

velja<br />

• Podpora pravila > MinPodpora (MinSup)<br />

• Zaupanje > MinZaupanje (MinConf)<br />

– Podpora: pravilo ima podporo (support) s če velja da s% vseh<br />

transakcij (množic postavk) v D vsebuje X in Y<br />

Po(X,Y) = #XY/#D = p(XY)<br />

– Zaupanje: Pravilo ima zaupanje (confidence) c če velja da c%<br />

vseh transakcij (množic postavk) v D ki vsebujejo X vsebujejo<br />

tudi Y<br />

Za(X,Y) = #XY/#X = p(XY)/p(X) = p(Y|X)<br />

– Popolno (nehevristično) preiskovalnje celotnega prostora postavk<br />

160<br />

Učenje povezovalnih pravil: Primeri<br />

• Primeri povezovalnih pravil<br />

– Analiza nakupov (market basket analysis)<br />

• beer & coke ⇒ peanuts & chips (80%, 13%)<br />

(IF beer AND coke THEN peanuts AND chips)<br />

• Confidence 80%: 80% of customers that buy beer and<br />

coke also buy peanuts and chips<br />

• Support 13%: 13% of all customers buy all four items<br />

– Zavarovanje (insurance)<br />

• mortgage & loans & savings ⇒ insurance (62%, 2%)<br />

• Confidence 62%: 62% of all customers that have<br />

mortgage, loan and savings also have insurance<br />

• Support 2%: 2% of all customers have all four<br />

158<br />

162<br />

27


Tretji del: Opisna indukcija<br />

• Napovedna vs. opisna indukcija<br />

•Učenje povezovalnih pravil<br />

• <strong>Odkrivanje</strong> podskupin<br />

•Razvrščanje v skupine<br />

Vizualizacija odkritih podskupin<br />

<strong>Odkrivanje</strong> rizičnih podskupin v TP/FP<br />

prostoru: SD algoritem<br />

• Cilj je odkrivanje kratkih opisov podskupin<br />

• Primer - Medicinska aplikacija: <strong>Odkrivanje</strong> obolelih<br />

(CHD – coronary heart disease)<br />

• Metoda hevrističnega preiskovanja posameznih pravil z<br />

maksimalno vrednostjo hevristike<br />

q = TP/(FP+g)<br />

TP – true positives: pravilno klasificirani pozitivni primeri<br />

(pravilno klasificirani oboleli pacienti z diagnoyo CHD)<br />

FP - false positives: nepravilno klasificirani negativni primeri<br />

klasificirani v razred, ki ga karakterizira pravilo (zdrave osebe,<br />

nepravilno klasificirane v razred CHD)<br />

g - generalizacijski parameter<br />

163<br />

165<br />

167<br />

<strong>Odkrivanje</strong> podskupin vs.<br />

učenje klasifikacijskih pravil<br />

• Klasifikator – model (množica pravil)<br />

– Vsako pravilo v klasifikatorju naj bo čimbolj čisto<br />

– Množica pravil tvori model domene<br />

• Opisi podskupin – vzorci (posamezna pravila)<br />

– Pravila niso čista, pokrivajo pa signifikantno večje<br />

število pozitivnih primerov z dano lastnostjo, ki jo<br />

proučujemo<br />

– Vsako pravilo je neodvisni vzorec<br />

positives<br />

negatives<br />

true<br />

positives<br />

false<br />

pos.<br />

<strong>Odkrivanje</strong> rizičnih skupin<br />

pacientov<br />

Cilj: Odkriti skupine pacientov z visoko rizičnostjo<br />

za koronarno bolezen (CHD), za A, B, C:<br />

• Glavni faktorji za skupino A1:<br />

CHD 46<br />

Podporni faktorji za A1:<br />

stress, smoking, hypertension, overweight<br />

• Glavni faktorji za A2:<br />

CHD 25 & age > 63<br />

Podporni faktorji za A2: ...<br />

• Glavni faktorji (odkriti z metodo za odkrivanje kratkih,<br />

značilnih pravil), Podporni faktorji (določeni s statistično<br />

analizo)<br />

Mera za kvaliteto pravil<br />

q = TP/(FP+g)<br />

• Pravila z visoko q vrednostjo pokrivajo veliko<br />

število primerov ciljnega razreda in majhno število<br />

primerov neciljnega razreda<br />

• Tolerirano število pokritih neciljnih primerov<br />

modeliramo z velikostjo parametra g<br />

– Če je g majhen (< 1) dobimo zelo specifična pravila (low<br />

false alarm rate)<br />

– Če je g velik (> 10) dobimo zelo senzitivna splošna<br />

pravila<br />

164<br />

166<br />

168<br />

28


Statistična karakterizacija<br />

podskupin<br />

• Izhajamo iz dobljenih kratkih pravil<br />

• Za vsak rizični faktor (značilko)<br />

izračunamo statistično signifikantnost<br />

značilke glede na pozitivne primere (CHD<br />

paciente pravilno vključene v podskupino) in<br />

negativne primere (zdrave osebe) s ℵ 2<br />

testom z 95% mero zaupanja<br />

Hierarhično razvrščanje v skupine<br />

Združevanje najbližjega para v novo skupino<br />

Ci<br />

Cj<br />

( i, j)<br />

C C d<br />

( i, k)<br />

C C d<br />

( j, k)<br />

C C d<br />

Ck<br />

• Minimiziraj podobnost<br />

(razdaljo) znotraj<br />

skupine<br />

• Maksimiziraj razdaljo<br />

med skupinami<br />

Pregled snovi<br />

• <strong>Odkrivanje</strong> <strong>zakonitosti</strong> v <strong>podatkih</strong><br />

– Pojmi: Data Mining, Knowledge Discovery in Databases, strojno učenje,<br />

statistika<br />

• Napovedna vs. opisna indukcija<br />

• Napovedna indukcija<br />

– Naivni Bayesov klasifikator (je klasifikator a ne generira eksplicitnega<br />

modela)<br />

– Učenje odločitvenih dreves<br />

• Hevristike, konstrukcija dreves, klasifikacija z odločitvenimi drevesi,<br />

klasifikacijska točnost, transformacija dreves v pravila, pretirano<br />

prilagajanje učni množici (overfitting), rezanje dreves (pruning)<br />

– Učenje klasifikacijskih pravil<br />

• Pokrivni algoritem, konstrukcija posameznih pravil, hevristike,<br />

spreminjanje trenutne učne množice (current training set)<br />

• Metodologija evalvacije<br />

• Opisna indukcija<br />

– Učenje povezovalnih pravil<br />

• Algoritem za učenje pravil, podpora, zaupanje<br />

– <strong>Odkrivanje</strong> podskupin<br />

– Razvrščanje v skupine (le na kratko)<br />

169<br />

171<br />

173<br />

Tretji del: Opisna indukcija<br />

• Napovedna vs. opisna indukcija<br />

•Učenje povezovalnih pravil<br />

• <strong>Odkrivanje</strong> podskupin<br />

•Razvrščanje v skupine<br />

Hierarhično razvrščanje v skupine<br />

•Algoritem<br />

Vsak primer je ločena skupina Ci;<br />

repeat<br />

poišči najbližji par Ci in Cj;<br />

združi Ci in Cj v novo<br />

skupino Cr = Ci U Cj;<br />

določi različnost med<br />

Cr in ostalimi skupinami;<br />

until<br />

ostane ena sama skupina;<br />

• Dendrogram:<br />

170<br />

172<br />

29

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!