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
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