Odkrivanje zakonitosti v podatkih -...
Transcript of Odkrivanje zakonitosti v podatkih -...
Odkrivanje zakonitostiv podatkih
predavateljica: prof. dr. Nada Lavrač
asistentka: Petra Kralj Novak
Institut Jožef StefanLjubljana, Slovenija
Urnik• ponedeljek 9.2. 16:15-19:45 N. Lavrac • petek 13.2. 16:15-19:45 N. Lavrac ali P. Kralj Novak
(prinesti kalkulator in prenosni računalnik)• ponedeljek 16.2. 16:15-19:45 N. Lavrac ali P. Kralj Novak • petek 20.2. 16:15-19:45 P. Kralj Novak • pisni izpit – datum določimo naknadno• zagovor seminarskih nalog – datum določimo naknadno
Seznam študentov
Mitja BlažičVitko ČrepEmanuela Alibabič
Cilji in vsebina predmetaOsnovni cilj predmeta je predstaviti metode in tehnike
podatkovnega rudarjenja in odkrivanja zakonitosti v podatkih ter študente usposobiti za reševanje problemov analize podatkov na področju raziskovanja, industrijskih, upravljalskih in družboslovnih aplikacij.
Študenti bodo seznanjeni z osnovami podatkovnega rudarjenja in odkrivanja zakonitosti v podatki ter s postopkom odkrivanja zakonitosti v podatkih po standardih CRISP-DM metodologije.
Predstavili bomo metode in orodja podatkovnega rudarjenja in odkrivanja zakonitosti v podatkih (učenje klasifikacijskih in asociacijskih pravil, odločitvenih dreves, razvrščanje v skupine, odkrivanje podskupin, učenje relacijskih modelov, analiza tekstovnih podatkov), hevristike, postopke ocenjevanja kvalitete naučenih vzorcev ter metodologijo evalvacije rezultatov.
Študente bomo tudi usposobili za praktično uporabo izbranih orodij rudarjenja podatkov.
Vsebina – Analiza tabelaričnih podatkov (N. Lavrač, P. Kralj)
I. Uvod• Odkrivanje zakonitosti v
podatkovnih bazah (DataMining, KnowledgeDiscovery in Databases), strojno učenje in statistika
• Metode in primeri • Aplikacije odkrivanja
znanja v projektu Sol-Eu-Net
II. Napovedna indukcija• Naivni Bayesov klasifikator• Učenje odločitvenih
dreves• Učenje klasifikacijskih
pravil• Evalvacija klasifikatorjev
III.Opisna indukcija• Napovedna vs. Opisna
indukcija• Odkrivanje podskupin• Učenje povezovalnih pravil• Razvrščanje v skupine
IV. Relacijsko učenje,
Literatura, Povzetek
V. Praktične vaje• Uporaba orodij za rudarjenje
podatkov (WEKA, Orange)
Prvi del: Uvod
• Odkrivanje zakonitosti v podatkovnihbazah (Data Mining, KnowledgeDiscovery in Databases), strojnoučenje in statistika
• Metode in primeri • Aplikacije odkrivanja znanja v
projektu Sol-Eu-Net
Odkrivanje zakonitosti v podatkih (KDD)
“Odkrivanje zakonitosti v podatkih je proces identifikacije veljavnih, novih,potencialno uporabnih in razumljivihvzorcev v podatkih.”
Usama M. Fayyad, Gregory Piatesky-Shapiro, Pedhraic Smyth: The KDD Process for Extracting
Useful Knowledge form Volumes of Data. Comm ACM, Nov 96/Vol 39 No 11
Odkrivanje zakonitosti v podatkih (KDD)
“Odkrivanje zakonitosti v podatkih je proces identifikacije veljavnih, novih,potencialno uporabnih in razumljivihvzorcev v podatkih.”proces: iterativni proces čiščenja podatkov in luščenja
koristnih informacij/znanja iz podatkovveljavnost: omogoča posplošitve tudi za prihodnostnovost: doslej še neznane relacije v podatkihuporabnost: koristnost za reševanje zastavljene nalogerazumljivost: omogoča človeško razumevanje in nova
spoznanjaUsama M. Fayyad, Gregory Piatesky-Shapiro, Pedhraic Smyth: The KDD Process for Extracting
Useful Knowledge form Volumes of Data. Comm ACM, Nov 96/Vol 39 No 11
Odkrivanje zakonitosti v podatkih (KDD)
• Povzetek: Odkrivanje zakonitosti v podatkih je proces gradnje modelov in identifikacijezanimivih vzorcev v podatkih.
• Proces vključuje več faz:– razumevanje in priprava podatkov– analiza podatkov (data mining, machine
learning, statistics)– evalvacija in uporaba odkritih vzorcev
• Analiza podatkov: ključna faza, le 15%-25% celotnega KDD procesa
Proces odkrivanja znanja iz podatkov
Proces odkrivanja znanja iz podatkov
• tabela n-terk, relacijska podatkovna baza, tekst, slike, podatkovna skladišča
Proces odkrivanja znanja iz podatkov
• tabela n-terk, relacijska podatkovna baza, tekst, slike, podatkovna skladišča
• izbor podmnožice podatkov in spremenljivk
Proces odkrivanja znanja iz podatkov
• tabela n-terk, relacijska podatkovna baza, tekst, slike, podatkovna skladišča
• izbor podmnožice podatkov in spremenljivk • čiščenje podatkov, izločanje šuma, obravnava
manjkajočih vrednosti
Proces odkrivanja znanja iz podatkov
• tabela n-terk, relacijska podatkovna baza, tekst, slike, podatkovna skladišča
• izbor podmnožice podatkov in spremenljivk • čiščenje podatkov, izločanje šuma, obravnava
manjkajočih vrednosti• transformacija v obliko, ki jo zahteva izbrani
algoritem za analizo podatkov
Proces odkrivanja znanja iz podatkov
• Data Mining (DM): uporaba algoritmov za analizo podatkov: iskanje vzorcev izbrane oblike (odločitvena drevesa, pravila, ...), glede na tip naloge (klasifikacija, napovedovanje,razvrščanje v skupine, ...)
Proces odkrivanja znanja iz podatkov
• Data Mining (DM) – uporaba algoritmov za analizo podatkov: iskanje vzorcev izbrane oblike (odločitvena drevesa, pravila, ...), glede na tip naloge (klasifikacija, napovedovanje, razvrščanje v skupine, ...)
• izbor/evaluacija glede na dane kriterije, drugeizluščene vzorce, ekspertno znanje ...
Proces odkrivanja znanja iz podatkov
• Data Mining (DM) – uporaba algoritmov za analizo podatkov: iskanje vzorcev izbrane oblike (odločitvena drevesa, pravila, ...), glede na tip naloge (klasifikacija, predikcija, razvrščanje v skupine, ...)
• izbor/evaluacija glede na dane kriterije, drugeizluščene vzorce, ekspertno znanje ...
• vključitev znanja v SW za reševanje problema
CRISP-DM• Cross-Industry Standard Process for DM• 18-mesečni projekt, delno financiran s strani
Evropske komisije, 1997-98• NCR, ISL (Clementine), Daimler-Benz, OHRA
(Dutch health insurance companies) in več kot 80članski SIG
• Cilj: standardizacija procesa DM (DM from art to engineering)
• Širši pogled na rudarjenje podatkov (data mining) kot je definiran v Fayyad et al.: CRISP-DM obravnava rudarjenje podatkov (DM) kot KDD proces
CRISP Data Mining Process
• DM Tasks
Prvi del: Uvod
• Odkrivanje zakonitosti v podatkovnihbazah (Data Mining, KnowledgeDiscovery in Databases), strojnoučenje in statistika
• Metode in primeri • Aplikacije odkrivanja znanja v
projektu Sol-Eu-Net
Primeri nalog• Napovedovanje
– klasifikacija in predikcijaučenje odločitvenih dreves in klasifikacijskih pravil
– regresijska analiza, ... – relacijska analiza podatkov
(ILP)
• Opisovanje– analiza povezav
učenje povezovalnih pravil– razvrščanje v skupine– odkrivanje podskupin, ...
• Analiza teksta, spletnih strani, slik, ...
++
+
---
H
xxx x
+xxx
Napovedna indukcija:Formulacija problema
• Podana je:– množica primerov (meritev, opazovanj, …)
• pozitivni primeri E+
• negativni primeri E-
– predznanje B– jezik za opis hipotez LH– relacija pokritosti
• Poišči:– hipotezo H ∈ LH, tako da (pri danem B) H pokriva
vse pozitivne primere in nobenih negativnih primerov
– V logiki to zahtevo izrazimo tako, da iščemo tako hipotezo H, da velja
• e ∈ E+ : B ∧ H |= e (H je kompletna)• e ∈ E- : B ∧ H |= e (H je konsistentna)
++
++
---H
Opisna indukcija: Formulacija problema
• Podana je:– množica postavk (meritev,
opazovanj – angl. items):• pozitivni primeri E+
– predznanje B– jezik za opis hipotez LH
– relacija pokritosti• Poišči
– Najbolj specifično hipotezo H ∈ LH, tako da (pri danem B) H pokriva vse pozitivne primere
– V logiki to zahtevo izrazimo tako, da iščemo tako hipotezo H, da velja ζα ∀c ∈ H, da je c resničen v nekem izbranem modelu B∪E(npr. v najmanjšem Herbrandovem modelu M(B∪E))
++++ H
Napovedovanje kotnaloga strojnega učenja:
• Dana je množica učnih primerov (tabela n-terkvrednosti atributov označenih z imenom razreda)
– A1 A2 A3 Razred– primer1 v1,1 v1,2 v1,3 C1– primer2 v2,1 v2,2 v2,3 C2– . .
• S postopkom generalizacije iz primerov (indukcija) poišči hipotezo (klasifikacijska pravila, odločitveno drevo, ...), ki pojasnjuje učne primere, npr. pravilaoblike:– (Ai = vi,k) & (Aj = vj,l) & ... Razred = Cn
Primer: izbor kontaktnih leč
Oseba Starost Dioptrija Astigmat. Solzenje LečeO1 mlad kratko ne zmanjšano NEO2 mlad kratko ne normalno MEHKEO3 mlad kratko da zmanjšano NEO4 mlad kratko da normalno TRDEO5 mlad daleko ne zmanjšano NE
O6-O13 ... ... ... ... ...O14 pr_st_dal daleko ne normalno MEHKEO15 pr_st_dal daleko da zmanjšano NEO16 pr_st_dal daleko da normalno NEO17 st_daleko kratko ne zmanjšano NEO18 st_daleko kratko ne normalno NE
O19-O23 ... ... ... ... ...O24 st_daleko daleko da normalno NE
Odločitvena drevesa• Tip naloge: napovedovanje in klasifikacija • Opisni jezik: odločitvena drevesa
notranja vozlišča: atributi, veje: vrednosti atributov, listi: razred
solzenje
astigmatizem
dioptrija
NE
NE
ne da
normalno
dalekovidnost
zmanjšano
MEHKEkratkovidnost
TRDE
Klasifikacijska pravila• Tip naloge: napovedovanje in klasifikacija • Opisni jezik: pravila X R, če X potem R
•X konjunkcija vrednosti atributov, R razred
• Primer: Kontaktne leče1.solzenje=zmanjšano leče=NE2. solzenje=normalno & astigmatizem=da &
dioptrija=dalekovidnost leče=NE3. solzenje=normalno & astigmatizem=ne
leče=MEHKE4. solzenje= normalno & astigmatizem=da &
dioptrija=kratkovidnost leče=TRDE
Primer: ocenjevanje kupcevKupec Spol Starost Dohodek Poraba Ocena
c1 moški 30 214000 18800 doberc2 ženski 19 139000 15100 doberc3 moški 55 50000 12400 slabc4 ženski 48 26000 8600 slabc5 moški 63 191000 28100 dober
O6-O13 ... ... ... ... ...c14 ženski 61 95000 18100 doberc15 moški 56 44000 12000 slabc16 moški 36 102000 13800 slabc17 ženski 57 215000 29300 doberc18 moški 33 67000 9700 slabc19 ženski 26 95000 11000 slabc20 ženski 55 214000 28800 dober
Odločitvena drevesa• Primer: ocenjevanje kupcev
Spol
Starost
slab
slab
= ženski
dober
= moški
≤ 49 > 49
Odločitveno in regresijsko drevo za ocenjevanje kupcev
Spol
Starost
slab
slab
= ženski
dober
= moški
≤ 49 > 49
Dohodek
Starost
16500
12000
≤ 108000 > 108000
≤ 42.5 > 42.5
26700
Klasifikacijska pravila
• Primer: Ocenjevanje kupcev
1. Dohodek > 108000 Ocena = dober2. Starost ≥ 49 & Dohodek > 57000 Ocena = dober3. Starost ≤ 56 & Dohodek < 98500 Ocena = slab4. Dohodek < 51000 Ocena = slab5. 33 < Starost ≤ 42 Ocena = slab6. DEFAULT Ocena = dober
Povezovalna pravila• Tip naloge: opisovanje• Opisni jezik: pravila X Y, če X potem Y
X, Y konjunkcija postavk (binarnih atributov)• Primeri:
– Trgovina: pivo & Coca-Cola arašidi & čips (0.05, 0.65)
– Zavarovalništvo: posojilo = da & varčevanje = da 116
zavarovanje = da 95 (0.82)• Podpora: Po(X,Y) = #XY/#D = p(XY)• Zaupanje: Za(X,Y) = #XY/#X = p(XY)/p(X) =
p(Y|X)
Povezovalna pravilaza ocenjevanje kupcev
• Starost > 52 & Ocena = slab Spol = moški• Starost > 52 & Ocena = slab
Spol = moški & Dohodek ≤ 73250• Spol = moški & Starost > 52 &
Dohodek ≤ 73250 Ocena = slab
Analiza relacijskih podatkov: Induktivno logično programiranje
• Analiza podatkov shranjenih v relacijskih podatkovnih bazah
• Učenje iz večrelacijskih tabel: večrelacijskoučenje ali induktivno logično programiranje
ID Name First name
Street City Zip Sex Social status
In-come
Age Club status
Res-ponse
...3478
...Smith
...John
...38, Lake Dr
... Sam-pleton
...34677
...male
...single
...i60-70k
...32
...mem-ber
...no res-ponse
3479
...
Doe
...
Jane
...
45, Sea Ct
...
Inven-tion
...
43666
...
female
...
mar-red
...
i80-90k
...
45
...
non-mem-ber...
res-ponse
...
Tabela 1: Osnovna tabela kupcev
ID Zip Sex Soc St Income Age Club Resp... ... ... ... ... ... ... ...
3478 34667 m si 60-70 32 me nr3479 43666 f ma 80-90 45 nm re... ... ... ... ... ... ... ...
Tabela 2. Tabela za analizo
ID Zip Sex Soc St Income Age Club Resp... ... ... ... ... ... ... ...
3478 34667 m si 60-70 32 me nr3479 43666 f ma 80-90 45 nm re... ... ... ... ... ... ... ...
Logični izrazni jezik: Prolog
Tabela kupcev predstavljena v logični oblikiFormat: Prologova dejstva (facts):
customer(Id,Zip,Sex,SoSt,In,Age,Club,Re)
Prologova dejstva za opis podatkov v Tabeli 2:customer(3478,34667,m,si,60-70,32,me,nr).customer(3479,43666,f,ma,80-90,45,nm,re).
Kako izrazimo neko lastnost dane relacije ?customer(_,_,f,_,_,_,_,_).
Analiza relacijskih podatkov: Induktivno logično programiranje
Logično programiranje:• predikatni simbol p• argument predikata p• osnovno dejstvo p(v1, ..., vn)• definicija predikata p
• množica osnovnih dejstev• Prologov stavek ali množica
Prologovih stavkov
Primer definicije predikata:
good_customer(C) :-customer(C,_,female,_,_,_,_,_),
order(C,_,_,_,creditcard).
Podatkovne baze:• ime relacije p• attribut relacije p• n-terka < v1, ..., vn > =
vrstica v relacijski tabeli• relacija p = množica n-terk
= relacijska tabela
Analiza relacijskih podatkov
Večrelacijsko učenje omogoča reševanje kompleksnih relacijskih problemov:
• časovni podatki:časovne vrste v medicini, analizi prometa, ...
• strukturirani podatki:predstavitev molekul in njih. lastnosti v proteinskem inženirstvu, biokemiji, ...
HasHas
AtomAtom
ElementElement
AtomTypeAtomType
ChargeCharge
11
MM
BondTypeBondTypeBondBond
1111
MoleculeMoleculeClassClass
Ind1Ind1
IndAIndA
LumoLumo
LogPLogP
Področja aplikacij analize podatkov• Bančništvo in finance (analiza strank, investicij,
odobravanje posojil, …)• Zavarovalništvo (analiza strank, …)• Telekomunikacije (odkrivanje zlorab, …)• Trgovina (organizacija ponudbe v samopostrežnih
trgovinah, določitev lokacije trgovin, analiza dobrih strank – kako zadržati stranko, kako ji ponuditi dodatne usluge, kako identificirati potencialne kupce za kataloško prodajo, ...)
• Medicina in zdravstvo (napovedovanje stroškov hospitalizacije, odkrivanje novih diagnostičnih dejavnikov ter novih diagnostičnih in prognostičnih pravil, …)
• Znanosti o okolju (ocenjevanje onesnaženosti voda, napovedovanje povečevanja gozdnih površin, ...)
Povezana področja
Tehnologijapodatkovnih baz inpodatkovnaskladišča • učinkovito
shranjevanje, doseganje in manipuliranje s podatki
odkrivanjezakonitosti
statistika
strojnoučenje
vizualizacija
podatkovnebaze
obravnava besedil
mehkoračunanje
razpoznavanjevzorcev
Povezana področja
Statistika, strojno učenje,razpoznavanjevzorcev in mehko računanje* • tehnike za
klasifikacijo in zajemanje znanja iz podatkov
odkrivanjezakonitosti
statistika
strojnoučenje
vizualizacija
podatkovnebaze
obravnava besedil
mehkoračunanje
razpoznavanjevzorcev
* nevronske mreže, mehka logika, genetski algoritmi, verjetnostno sklepanje
Povezana področjaObravnava besedil(tekst, WWW)• analiza spletnih
strani• kategorizacija
besedil• zajemanje,
filtriranje in strukturiranje informacij
• procesiranje naravnega jezika
odkrivanjezakonitosti
statistika
strojnoučenje
vizualizacija
podatkovnebaze
obravnava besedil
mehkoračunanje
razpoznavanjevzorcev
Povezana področja
Vizualizacija• grafično
prikazovanje podatkov in izluščenega znanja
odkrivanjezakonitosti
statistika
strojnoučenje
vizualizacija
podatkovnebaze
obravnava besedil
mehkoračunanje
razpoznavanjevzorcev
Prikazovanje podatkov
Prikazovanjeodločitvenih dreves
Prikazovanje povezovalnih pravil
Vizualno programiranje -Clementine
Prikaz odkritih podskupin in vizualno programiranje - Orange
Naš zorni kot
Odkrivanje zakonitosti z uporabo metod strojnega učenja
Povezava sstatistiko
odkrivanjezakonitosti
statistika
strojnoučenje
vizualizacija
podatkovnebaze
obravnava besedil
mehkoračunanje
razpoznavanjevzorcev
Strojno učenje in statistika• Obe področji imata dolgoletno tradicijo
razvoja induktivnih tehnik za analizo podatkov.– omogočata sklepanje iz lastnosti vzorca (podatkov)
na lastnosti populacije• KDD = statistika + marketing ?• KDD = statistika + ... + strojno učenje• Uporabi statistiko za preverjanje danih
hipotez ter za analizo podatkov, če podatki– zadoščajo vrsti predpostavk: o distribuciji,
neodvisnosti, naključnem vzorčenju, itd.• Uporabi strojno učenje za generiranje hipotez
– ki so preproste in razumljive – lahko tudi iz majhne količine podatkov
Prvi del: Uvod
• Odkrivanje zakonitosti v podatkovnihbazah (Data Mining, KnowledgeDiscovery in Databases), strojnoučenje in statistika
• Metode in primeri • Aplikacije odkrivanja znanja v
projektu Sol-Eu-Net
Projekt Sol-Eu-Net• Evropski projekt 5. OP “Data Mining & Decision
Support for Business Competitiveness: A European Virtual Enterprise”, 2000-2002
• Koordinator IJS, 12 partnerjev (8 akademskih in 4 podjetja), 3 MIO EURO, cilji:– ustanovitev in koordinacija evropske mreže
institucij s komplementarnimi orodji in znanji– razvoj in uporaba lastnih in komercialnih orodij
za prototipno reševanje realnih problemov analize podatkov in odločanja
– prenos DM in DS znanj v prakso
Projekt Sol-Eu-Net• Komercialni cilji
– izdelava uporabniških aplikacij, konzultacije– ustanovitev virtualnega podjetja za
komercializacijo ekspertnih znanj na področju analize podatkov in odločanja
MaterialInformation Members :
Processors
Members :Retailers,
Warehouses
Members :CustomersMemebrs :
SuppliersVE Coordinator
Projekt Sol-Eu-Netnekaj prototipnih aplikacij
• Mediana - analiza branosti, gledanosti in poslušanosti slovenskih medijev
• Traffic – analiza prometnih nesreč v Veliki Britaniji
• Komisija evropske unije - avtomatska konstrukcija ontologij evropskih projektov iz spletnih opisov, identifikacija klik (skupininštitucij v konzorcijih evropskih projektov)
Mediana prototipna študija
• Analiza podatkov o branosti, gledanosti in poslušanosti slovenskih medijev, Mediana BGP
• Recenzirana polletna poročila• Cilj pilotne študije: iz podatkov odkriti kaj
zanimivega, kasneje razviti nekaj ciljnih aplikacij
• Sodelavci: Grobelnik, Zupanič, Škrjanc, Mladenić (IJS), Božič Marolt, Zdovc (Mediana)
Podatki Mediana BGP
• ankete o gledanosti, branosti in poslušanosti od l. 1992, okrog 1200 vprašanj (branost, ..., interesi, ...)
Podatki Mediana BGP
• ankete o gledanosti, branosti in poslušanosti od l. 1992, okrog 1200 vprašanj (branost, ..., interesi, ...)
• podatki za leto 1998, okrog 8000 anket • zelo kvalitetni in čisti podatki• tabela n-terk (vrstice: anketirani, stolpci: atributi,
pri klasifikacijskih nalogah določimo razred)
Študija Mediana BGP
• Cilji študije: odkriti še neznane relacije med posameznimi mediji, odkriti podskupine ljudi s podobnimi interesi– Katere tiskane medije berejo bralci posameznega časnika/revije?
– Kakšne so lastnosti bralcev/gledalcev/poslušalcev določenega medija?
– Katere lastnosti ločijo bralce različnih časnikov?• Tipi modelov: opisovanje (povezovalna pravila) in
napovedovanje (odločitvena drevesa, klasifikacijska pravila)
Povezovalna pravila• Tip naloge: opisovanje• Opisni jezik: pravila X Y, če X potem Y
X, Y konjunkcija postavk (binarnih atributov)• Primeri:
– Trgovina: pivo & Coca-Cola arašidi & čips (0.05, 0.65)
– Zavarovalništvo: posojilo = da & varčevanje = da 116
zavarovanje = da 95 (0.82)• Podpora: Po(X,Y) = #XY/#D = p(XY)• Zaupanje: Za(X,Y) = #XY/#X = Po(X,Y)/Po(X) =
= p(XY)/p(X) = p(Y|X)
Povezovalna pravilaVečina bralcev Marketing magazina, Financ,
Razgledov, Denarja in Vipa bere tudi Delo.
1. bere_Marketing magazin 116bere_Delo 95 (0.82)
2. bere_Finance 223 bere_Delo 180 (0.81)3. bere_Razgledi 201 bere_Delo 157 (0.78)4. bere_Denar 197 bere_Delo 150 (0.76)5. bere_Vip 181 bere_Delo 134 (0.74)
Povezovalna pravilaVečina bralcev Sare, Ljubezenskih zgodb,
Dolenjskega lista, Omame in Delavske enotnosti bere tudi Slovenske novice.
1. bere_Sara 332 bere_Slovenske novice 211 (0.64)2. bere_Ljubezenske zgodbe 283
bere_Slovenske novice 174 (0.61)3. bere_Dolenjski list 520
bere_Slovenske novice 310 (0.6)4. bere_Omama 154 bere_Slovenske novice 90 (0.58)5. bere_Delavska enotnost 177
bere_Slovenske novice 102 (0.58)
Povezovalna pravila
Več kot pol bralcev Sportskih novosti bere tudi Slovenskega delničarja, Salomonov oglasnik in Lady.
1. bere_Sportske novosti 303bere_Slovenski delnicar 164 (0.54)
2. bere_Sportske novosti 303 bere_Salomonov oglasnik 155 (0.51)
3. bere_Sportske novosti 303bere_Lady 152 (0.5)
Odločitveno drevoKlasifikacija v bralce Dela ali Slovenskih novic
Klasifikacijska pravila
Značilnosti bralcev Slovenskih novic (izluščene iz klas. pravil)Dokaj redno berejo časnike in radi posedijo v kavarnah,slaščičarnah, lokalih... In ne berejo Sport_novosti(ted_bere_casnike >4) and (kavarne<=6) and (tema_zivalski_svet>1) and (bere_Sport_novosti==F) bere_Novice (331, 0.889)
Berejo Slovenski Delničar, Jano, ...(bere_Slov_deln)>0) and (bere_Jana)>0) and (bl_znam_casnikov>12) and (bl_znam_casnikov <=16) bere_Novice (241, 0.877)Govorijo hrvaško in berejo Dnevnik in Kaj.(bere_Kaj=>0)) and (hrvasko>0) and (bere_Dnevnik==T) bere_Novice (140, 0.775)
Analiza prometnih nesreč v VBNaročilo v sklopu projekta Karakteristike
cestišč in prometna varnost v VB za naročnika Hampshire County Council
• Analiza podatkovne baze prometnih nesreč STATS19• Cilji aplikacije:
– Identifikacija trendov - sprememb značilnosti nesreč v zadnjih 20 letih, kot poslediceizboljšanja stanja cestišč (avtocest) in izboljšanja varnosti avtomobilov
– Odkrivanje podskupin: • pravil, posebnosti in zakonitosti, ki bi omogočila
zmanjšanje števila nesreč• iskanje vzrokov nesreč
Podatkovna baza STATS19
10
• Relacijska podatkovna baza data vseh nesreč in poškodb v VB v obdobju 1979-1999
• 3 povezane tabele podatkov
Accident ACC7999(~5 mil. nesreč, 30 spremenljivk)
Kje ? Kdaj ? Koliko ?
Vehicle VEH7999 (~9 mil. vozil,
24 spremenljivk )
Katera vozila ? Kakšno gibanje ? Kakšne posledice
...Casualty CAS7999(~7 mil. poškodb, 16 spremenljivk)
Kdo je bil poškodovan ? Kakšnepoškodbe ? ...
Razumevanje podatkov: Preprost prikaz podatkov
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99220000
230000
240000
250000
260000
270000
Year of Accident
Analiza kvalitete podatkov: Prikaz kraja nesreče
Preproste statistične analizein vizualizacija
• Uporabne za razumevanje podatkov• Distribucija števila nesreč v raznih časovnih obdobjih (leto, mesec, dan v tednu, ura)
Največ nesreč je ob delovnikih (pon.– petek) pozimi, predvsem ob petkih
SUN
FRI
SAT
MON
THU
TUES
WED
Jan Feb Mar Apr May Jun July Aug Sept Oct Nov Dec
Distribucija Dan/Mesec
SUN
FRI
SAT
MON
THU
TUES
WED
1. Največ nesreč je zjutraj in pozno popoldne (“Rush Hour”), najslabše je ob petkih popoldne
2. Manj prometa in manj nesreč je ponoči in ob vikendih
Distribucija Dan/Ura
Odkrivanje podskupin z učenjem pravil
• Cilj: odkriti opise podskupin podatkov v obliki kratkih, človeku razumljivih pravil– Vhod: množica primerov s podano ciljno
spremenljivko (lastnost, ki jo proučujemo)– Izhod: opisi “zanimivih” podskupin
primerov v obliki kratkih pravil, ki• pokrivajo čimveč učnih primerov• imajo čimbolj različno porazdelitev
vrednosti ciljne spremenljivke glede na učno množico (Wrobel 1997, Kloesgen1997)
Nekaj odkritih pravil • Povezovalna pravila:
– Verjetnost težke ali smrtne prometne nesreče je na cesti “K8”2.2 krat večja kot povprečna verjetnost istega tipa nesreče v VB
– Verjetnost nesreče s smrtnim izidom je na cesti “K7” 2.8 kratvečja kot povprečna verjetnost istega tipa nesreče v VB (ko je cesta suha in omejitev hitrosti = 70 milj/h).
• Odkrivanje podskupin: – Nesreča je težka ali smrtna, če je bilo v nesreči poškodovano
le eno vozilo– Nesreča je lahka, če je bilo v nesreči poškodovanih več vozil
(>2) in malo poškodovanih oseb.
Iskanje podobnih podskupin: analiza kratkih časovnih vrst
• Nova metoda za hierarhično združevanje kratkih časovnih vrst v skupine
• Identifikacija področij v VB (skupinepolicijskih okrožij) s podobno dinamiko po številu prometnih nesreč
• Analiza za različna časovna obdobja (leto, mesec, dan, ura)
Priprava podatkovYEARpfc 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999a 10023 9431 9314 8965 8655 9014 9481 9069 8705 8829 9399 9229 8738 8199 7453 7613 7602 7042 7381 7362 6905b 6827 6895 6952 7032 6778 6944 6387 6440 6141 5924 6331 6233 5950 6185 5910 6161 5814 6263 5881 5855 5780c 2409 2315 2258 2286 2022 2169 2212 2096 1989 1917 2137 2072 2032 1961 1653 1526 1552 1448 1521 1408 1234
MONTHpfc jan feb m ar apr m ay jun jul aug sep oct nov deca 72493 67250 77434 73841 78813 78597 80349 74226 79362 85675 84800 76282b 2941 2771 3145 3317 3557 3668 3988 4048 3822 3794 3603 3481c 9261 8574 9651 9887 10649 10590 10813 11299 10810 11614 10884 10306
DAY OF WEEK12 Sunday Monday Tuesday Wednesday Thursday Friday Saturdaya 96666 132845 137102 138197 142662 155752 125898b 5526 5741 5502 5679 6103 7074 6510c 15350 17131 16915 17116 18282 21000 18544
HOURpfc 0 1 2 3 4 5 6 7 8 … 16 17 18 19 20 21 22 23a 794 626 494 242 166 292 501 1451 2284 … 3851 3538 2557 2375 1786 1394 1302 1415b 2186 1567 1477 649 370 521 1004 4099 7655 … 11500 11140 7720 7129 5445 4396 3946 4777c 2468 1540 1714 811 401 399 888 3577 8304 … 12112 12259 8701 7825 6216 4809 4027 4821
Rezultat združevanja v skupine: dinamika po letih
Rezultat združevanja v skupine: dinamika po letih
• Siva: tipična področja v VB, zmanjševanje letnega števila nesreč
• Bela: področja, kjer se letno število nesrečpovečuje
Rezultat združevanja v skupine: dinamika po mesecih
Bela: Obalna področja(11)
Siva: Tipičnapodročja VB (36)
Temno sive: Področje Londona (2)
Črna: Izjeme ? (2)
Uporabljene metode analize podatkov
• odkrivanje povezovalnih pravil • odkrivanje podskupin• relacijska analiza podatkov• …
• analiza tekstovnih podatkov– več o tem področju D. Mladenić
Analiza besedil in svetovnega spleta(Text & Web Mining )
• Količina besedil na elektronskih mediji dnevnonarašča – elektronska pošta, poslovni dokumenti,
svetovni splet, organizirane baze besedil,...– veliko informacij je skritih v besedilih in
svetovnem spletu (tudi obiskanost strani)• Tehnologije odkrivanja znanja omogočajo
reševanje zanimivih in zahtevnih problemov: – filtriranje spletnih informacij,
vizualizacija besedil, razvrščanjedokumentov v skupine,...
Analiza dokumentov oevropskih projektih
• Vir podatkov: Evropska komisija• Cilji analize:
– Izdelava ontologije vsebin evropskih projektov –cilj je boljše obvladovanje obsežne množice tekstovnega materiala
– Vizualizacija vsebin projektov– Povezanost institucij - analiza sodelovanj med
institucijami, ki sodelujejo na evropskih projektih– Identifikacija zaključenih skupin institucij (klike)– Identifikacija institucij, relevantnih za določeno
vsebinsko področje– Simulacija verjetnih sodelovanj v IST 6OP
Analiza dokumentov oevropskih projektih
Uporabili smo vse projekte 5. OP iz interne bazeEC (september, 2002): 2786 projektov v katerih sodeluje 7886 organizacij
Dva vira podatkov: • Tabela IST projektov 5OP iz interne baze EC:
– Project Ref., Acronym, Key Action, Unit, Officer– Org. Name, Country, Org Type, Role in project
• Seznam IST projektov opisanih z 1-2 stranibesedila na svetovnem spletu (Cordishttp://dbs.cordis.lu/fep/FP5/FP5_PROJl_search.html)
Primer podatkov – internaEC baza
Tabela vseh IST projektov – za vsak projekt podan seznam partnerjev
Primer podatkov – svetovni splet
Opis projekta
Naslovprojekta
Akronimprojekta
Analiza dokumentov oevropskih projektih
Vizualizacija področij (25 skupin)Health
Data analysis
Knowledge Management
Mobile computing
Del omrežja za avtomobilskoindustrijo (>6)
TelecommunicationTransport
Electronics
No. of joint projects
Povezanost pomembnih institucij (>10)
Sodelovanje med državami• 6788: GERMANY - GERMANY• 6212: ITALY - ITALY• 4168: FRANCE - FRANCE• 4064: UNITED KINGDOM - UNITED KINGDOM• 3749: GERMANY - ITALY• 3566: GERMANY - UNITED KINGDOM• 3200: FRANCE - GERMANY• 3046: ITALY - UNITED KINGDOM• 2920: SPAIN - SPAIN• 2597: FRANCE - ITALY• 2514: ITALY - SPAIN• 2375: FRANCE - UNITED KINGDOM• 2298: GERMANY - SPAIN• 1946: GREECE - GREECE• 1669: SPAIN - UNITED KINGDOM• 1592: FRANCE - SPAIN• 1488: GERMANY - NETHERLANDS• 1387: GERMANY - GREECE• 1285: GREECE - ITALY• 1168: NETHERLANDS - UNITED KINGDOM• 1140: GREECE - UNITED KINGDOM• 1054: FINLAND - GERMANY• 1010: ITALY – NETHERLANDS
št. sodelovanjna projektih
Sodelovanje med državami (top 12)
Most active country
Number of collaborations
Sodelovanje med državami(na prebivalca)
• 1. 5470 ppc ( 1946 colab.): GREECE - GREECE (pop.: 10645343)• 2. 6933 ppc ( 4 colab.): SAN MARINO - SAN MARINO (pop.: 27730)• 3. 8150 ppc ( 636 colab.): FINLAND - FINLAND (pop.: 5183545)• 4. 9291 ppc ( 6212 colab.): ITALY - ITALY (pop.: 57715625)• 5. 12265 ppc ( 6788 colab.): GERMANY - GERMANY (pop.: 83251851)• 6. 13725 ppc ( 2920 colab.): SPAIN - SPAIN (pop.: 40077100)• 7. 14210 ppc ( 54 colab.): CYPRUS - CYPRUS (pop.: 767314)• 8. 14339 ppc ( 4168 colab.): FRANCE - FRANCE (pop.: 59765983)• 9. 14709 ppc ( 4064 colab.): UNITED KINGDOM - UNITED KINGDOM (pop.: 59778002)• 10. 15415 ppc ( 530 colab.): AUSTRIA - AUSTRIA (pop.: 8169929)• 11. 17012 ppc ( 266 colab.): NORWAY - NORWAY (pop.: 4525116)• 12. 17356 ppc ( 592 colab.): BELGIUM - BELGIUM (pop.: 10274595)• 13. 17638 ppc ( 414 colab.): SWITZERLAND - SWITZERLAND (pop.: 7301994)• 14. 19266 ppc ( 834 colab.): NETHERLANDS - NETHERLANDS (pop.: 16067754)• 15. 19903 ppc ( 446 colab.): SWEDEN - SWEDEN (pop.: 8876744)• 16. 19956 ppc ( 14 colab.): ICELAND - ICELAND (pop.: 279384)• 17. 22004 ppc ( 244 colab.): DENMARK - DENMARK (pop.: 5368854)• 18. 24781 ppc ( 78 colab.): SLOVENIA - SLOVENIA (pop.: 1932917)• 19. 25514 ppc ( 402 colab.): CZECH REPUBLIC - CZECH REPUBLIC (pop.: 10256760)• 20. 26216 ppc ( 54 colab.): ESTONIA - ESTONIA (pop.: 1415681)• 21. 31316 ppc ( 124 colab.): IRELAND - IRELAND (pop.: 3883159)• 22. 37601 ppc ( 3749 colab.): GERMANY - ITALY (pop.: 140967476=83251851+57715625)• 23. 38573 ppc ( 3046 colab.): ITALY - UNITED KINGDOM (pop.:
117493627=57715625+59778002)• 24. 38899 ppc ( 2514 colab.): ITALY - SPAIN (pop.: 97792725=57715625+40077100)• 25. 39086 ppc ( 258 colab.): PORTUGAL - PORTUGAL (pop.: 10084245)
št. ljudi naeno sodelovanje
Sodelovanje znotraj države (Slovenija)
Relevantne institucije za področjePrimer odkrivanja zakonitosti v podatkih - uporabljene ključne besede:
“knowledge discovery text mining classification machine learning data mining data analysis personalization decision support”:
Aplikaciji “Project Intelligence”in “IST-World”
• Project intelligence: Demonstracija sistema, poročila in rezultati analize projektov IST 5.OP so na voljo na http://pi.ijs.si/
• Nova aplikacija IST-World za 6.OP je nahttp://www.ist-world.org/
• Uporabno za iskanje partnerjev projektov
• Približno 1000 povpraševanj dnevno
Drugi del: Napovedna indukcija
• Naivni Bayesov klasifikator• Učenje odločitvenih dreves• Učenje klasifikacijskih pravil• Evalvacija klasifikatorjev
Bayesovsko učenje
• Bayesovske metode - preproste a zelo močne klasifikacijske metode– temeljijo na uporabi Bayesove formule
• Glavne metode:– Naivni Bayesov klasifikator– Delno-naivni Bayesov klasifikator– Bayesovske mreže *
* jih ne obravnavamo v teh predavanjih
)()(
)|()|( HpDp
HDpDHp =
Naivni Bayesov klasifikator• Verjetnost razreda pri danih vrednostih atributov
• Za vse Cj izračunaj verjetnost p(Cj) pri danih vrednostihvi vseh atributov, ki opisujejo primer, ki ga želimo klasificirati (pri tem predpostavimo pogojno neodvisnost atributov pri ocenjevanju p(Cj) in p(Cj |vi))
• Izhod je CMAP z maksimalno posteriorno verjetnostjo razreda:
)...()|...(
)()...|(1
11
n
jnjnj vvp
cvvpcpvvcp ⋅=
∏⋅≈i j
ijjnj cp
vcpcpvvcp
)()|(
)()...|( 1
)...|(maxarg 1 njCjMAP vvcpC =
Naivni Bayesov klasifikator -izpeljava
∏∏∏
∏∏
⋅≈⋅=
=⋅
=⋅
=
=⋅
=⋅
=
i j
ijj
i j
ij
n
ij
i j
iij
n
j
n
iiji
n
jjn
n
njnj
cpvcp
cpcp
vcpvvp
vpcp
cpvpvcp
vvpcp
vvp
cpcvpvvp
cpcvvpvvp
vvcpvvcp
)()|(
)()(
)|()...(
)()(
)()()|(
)...()(
)...(
)()|()...(
)()|...()...(
)...()...|(
1
11
1
1
1
11
Delno-naivni Bayesov klasifikator
• Naivno Bayesovsko ocenjevanje verjetnosti(zanesljivo)
• Delno-naivno Bayesovsko ocenjevanje verjetnosti (manj zanesljivo)
)()|(
)()|(
j
kj
j
ij
cpvcp
cpvcp
⋅
)(),|(
j
kij
cpvvcp
Ocenjevanje verjetnosti
• Relativna frekvenca:
• apriorna verjetnost: Laplace-ov zakon
• m-ocena:
)(),(
)|(i
ijij vn
vcnvcp =
mvncpmvcn
vcpi
jijij +
⋅+=
)()(),(
)|(
kncn
cp jj +
+=
1)()(
j = 1. . k
Ocenjevanje verjetnosti: intuicija
• Eksperiment z N poskusi, n uspešnimi• Ocenimo verjetnost uspeha v naslednjem poskusu• Relativna frekvenca: n/N
– ocena je zanesljiva pri velikem številu poskusov– Nezanesljiva pri majhnem številu, npr., 1/1=1
• Laplace: (n+1)/(N+2), (n+1)/(N+k), k razredov– Predpostavlja enakomerno distribucijo razredov
• m-ocena: (n+m.pa) /(N+m)– Apriorna verjetnost uspeha pa, parameter m
(utež apriorni verjetnosti, t.j. število ‘virtualnih’primerov)
Pojasnjevanje odgovorov Bayesovega klasifikatorja
• Temelji na informacijski teoriji– Pričakovano število bitov potrebnih za kodiranje nekega
sporočila = optimalni dolžini kode -log p bitov za sporočilo, katerega verjetnost je p (*)
• Pojasnjevanje na osnovi vsote informacijskih prispevkov (information gains) posameznih vrednosti atributov vi (Kononenko and Bratko 1991, Kononenko 1993)
* log p označuje binarni logaritem
∑=
+−−−=
=−n
iijjj
nj
vcpcpcp
vvcp
1
1
))|(log()(log())(log(
))...|(log(
Primer pojasnjevanja delno-naivnegaBayesovega klasifikatorja
Prognostika pri zdravljenju zlomljenega kolkaRazred = no (“brez komplikacij”, najverjetnejši razred, 2 razredni problem)
Attribute value For decision Against(bit) (bit)
Age = 70-80 0.07Sex = Female -0.19Mobility before injury = Fully mobile 0.04State of health before injury = Other 0.52Mechanism of injury = Simple fall -0.08Additional injuries = None 0Time between injury and operation > 10 days 0.42Fracture classification acc. To Garden = Garden III -0.3Fracture classification acc. To Pauwels = Pauwels III -0.14Transfusion = Yes 0.07Antibiotic profilaxies = Yes -0.32Hospital rehabilitation = Yes 0.05General complications = None 0Combination: 0.21 Time between injury and examination < 6 hours AND Hospitalization time between 4 and 5 weeksCombination: 0.63 Therapy = Artroplastic AND anticoagulant therapy = Yes
Vizualizacija informacijskihprispevkov za/proti Ci
-40
-30
-20
-10
0
10
20
30
40
50
1 2
C1 C2
Info
rmat
ion
gain
v1
v2
v3
v4
v5
v6
v7
Naivni Bayesov klasifikator• Naivni Bayesov klasifikator lahko uporabljamo
– ko imamo dovolj veliko število učnih primerov za zanesljivo ocenjevanje verjetnosti
• Dosega dobro klasifikacijsko točnost– uporabljamo ga kot ‘gold standard’ za primerjavo
pri ocenjevanju drugih kompleksnejših klasifikatorjev
• Odpornost na šumne podatke:– Zanesljivo ocenjevanje verjetnosti– Uporablja vso razpoložljivo informacijo
• Uspešnost pri aplikacijah– Klasifikacija Web strani in dokumentov– Medicinska diagnostika in prognostika, …
Izbrane medicinske domenePrimary Breast thyroid Rheumatologytumor cancer
#instan 339 288 884 355#class 22 2 4 6#attrib 17 10 15 32
#values 2 2.7 9.1 9.1majority 25% 80% 56% 66%entropy 3.64 0.72 1.59 1.7
Izboljšanje klasifikacijske točnosti z uporabo m-ocene
Relative freq. m-estimatePrimary tumor 48.20% 52.50%Breast cancer 77.40% 79.70%hepatitis 58.40% 90.00%lymphography 79.70% 87.70%
Drugi del: Napovedna indukcija
• Naivni Bayeson klasifikator• Učenje odločitvenih dreves
• Algoritem za učenje odločitvenih dreves
• Hevristike in mere kvalitete• Učenje klasifikacijskih pravil• Evalvacija klasifikatorjev
Odločitvena drevesa• Tip naloge: napovedovanje in klasifikacija • Opisni jezik: odločitvena drevesa
notranja vozlišča: atributi, veje: vrednosti atributov, listi: razred
solzenje
astigmatizem
dioptrija
NE
NE
ne da
normalno
dalekovidnost
zmanjšano
MEHKEkratkovidnost
TRDE
Učenje odločitvenih dreves• ID3 (Quinlan 1979), CART (Breiman s sod. 1984), C4.5,
WEKA• če vsi primeri iz S pripadajo istemu razredu Cj
– potem označi ta list s Cj– sicer
• izberi ‘najinformativnejši’ atribut A z vrednostmiv1, v2, … vn
• razdeli učno množico S na S1,… , Sn glede na vrednosti v1,…,vn
• rekurzivno zgradi poddrevesaT1,…,Tn za S1,…,Sn
• generiraj drevo T:
A
...
...T1 Tn
vnv1
Ocena informativnosti atributov• Glavna izbira v ID3: Kateri atribut izbrati kot test v danem vozlišču
odločitvenega drevesa ? Atribut, ki je najkoristnejši za čimtočnejšoklasifikacijo primerov.
• Definiramo statistično oceno informativnosti atributa, ki meri kako dobro atribut ločuje med primeri, ki pripadajo različnim razredom
• Informativnost merimo kot zmanjšanje entropije učne množice primerov (entropija je mera “nečistosti” učne množice: E(S) = - p+ log2p+ - p- log2p- )
• Najinformativnejši atribut:– uporabi atribut v vozlišču
drevesa, razbij S na S1,S2
– izberi A, ki maksimizirainformacijski prispevekMax Gain(S,A)
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
0 0,2 0,4 0,6 0,8 1 p+
Entr
opy(
S)
)(||||)(),(
)(v
AValuesv
v SESSSEASGain ⋅−= ∑
∈
Tabela učnih primerov: Igranje tenisa (PlayTennis)
Day Outlook Temperature Humidity Wind PlayTennisD1 Sunny Hot High Weak NoD2 Sunny Hot High Strong NoD3 Overcast Hot High Weak YesD4 Rain Mild High Weak YesD5 Rain Cool Normal Weak YesD6 Rain Cool Normal Strong NoD7 Overcast Cool Normal Strong YesD8 Sunny Mild High Weak NoD9 Sunny Cool Normal Weak Yes
D10 Rain Mild Normal Weak YesD11 Sunny Mild Normal Strong YesD12 Overcast Mild High Weak YesD13 Overcast Hot Normal Weak YesD14 Rain Mild High Strong No
Odločitveno drevo: PlayTennis
Outlook
Humidity WindYes
Overcast RainSunny
High Normal
No
Strong Weak
Yes No Yes
- vsako notranje vozlišče je atributni test
- vsaka veja pripada vrednosti atributa
- vsaka pot je konjunkcija vrednosti atributov
- vsak list označuje pripadnost danemu razredu
Odločitveno drevo: PlayTennis
Outlook
Humidity WindYes
Overcast RainSunny
High Normal Strong Weak
No Yes No Yes
Odločitvena drevesa predstavljajo disjunkcijo konjunkcij vrednosti atributov, ki
opisujejo učne primere danega razreda. Primer: opis razreda Yes:
(Outlook=Sunny ∧ Humidity=Normal) V (Outlook=Overcast)
V (Outlook=Rain ∧ Wind=Weak)
PlayTennis: Drugi opisni formalizmi
• Logični izraz za PlayTennis=Yes:– (Outlook=Sunny ∧ Humidity=Normal) ∨ (Outlook=Overcast) ∨
(Outlook=Rain ∧ Wind=Weak)
• If-then pravila:– IF Outlook=Sunny ∧ Humidity=Normal THEN PlayTennis=Yes
– IF Outlook=Overcast THEN PlayTennis=Yes
– IF Outlook=Rain ∧ Wind=Weak THEN PlayTennis=Yes
– IF Outlook=Sunny ∧ Humidity=High THEN PlayTennis=No
– IF Outlook=Rain ∧ Wind=Strong THEN PlayTennis=Yes
PlayTennis: Uporaba odločitvenega drevesa za klasifikacijo
Ali je sobotno jutro OK za igranje tenisa ?
Outlook=Sunny, Temperature=Hot, Humidity=High, Wind=Strong
PlayTennis = No, ker Outlook=Sunny ∧ Humidity=High
Outlook
Humidity WindYes
Overcast RainSunny
High Normal
No
Strong Weak
Yes No Yes
PlayTennis: Entropija
• Učna množica S: 14 primerov (9 poz., 5 neg.)• Oznaka: S = [9+, 5-] • E(S) = - p+ log2p+ - p- log2p-• Izračun entropije, če verjetnost ocenimo z
relativno frekvenco
• E([9+,5-]) = - (9/14) log2(9/14) - (5/14) log2(5/14) = 0.940
⎟⎟⎠
⎞⎜⎜⎝
⎛⋅−⎟⎟
⎠
⎞⎜⎜⎝
⎛⋅−= −−++
||||log
||||
||||log
||||)(
SS
SS
SS
SSSE
PlayTennis: Entropija
• E(S) = - p+ log2p+ - p- log2p-
• E(9+,5-) = -(9/14) log2(9/14) - (5/14) log2(5/14) = 0.940
Outlook?
{D1,D2,D8,D9,D11} [2+, 3-] E=0.970
{D3,D7,D12,D13} [4+, 0-] E=0
{D4,D5,D6,D10,D14} [3+, 2-] E=0.970
Sunny
Overcast
Rain
Humidity?
[3+, 4-] E=0.985
[6+, 1-] E=0.592
High
Normal
Wind?
[6+, 2-] E=0.811
[3+, 3-] E=1.00
Weak
Strong
Informacijski prispevek kot preiskovalna hevristika
• Informacijski prispevek (information gain) je mera s katero
poskušamo minimizirati število testov potrebnih za
klasifikacijo novega primera
• Gain(S,A) – predvideno zmanjšanje entropije množice S
zaradi razbitja na podmnožice glede na vrednosti atributa A
• Najinformativnejši atribut: max Gain(S,A)
)(||||)(),(
)(v
AValuesv
v SESSSEASGain ⋅−= ∑
∈
Informacijski prispevek kot preiskovalna hevristika
• Kateri atribute je informativnejši, A1 ali A2 ?
• Gain(S,A1) = 0.94 – (8/14 x 0.811 + 6/14 x 1.00) = 0.048
• Gain(S,A2) = 0.94 – 0 = 0.94 A2 ima max Gain
Α1
[9+,5−], Ε = 0.94
[3+, 3−][6+, 2−]Ε=0.811 Ε=1.00
Α2
[0+, 5−][9+, 0−]Ε=0.0 Ε=0.0
[9+,5−], Ε = 0.94
PlayTennis: Informacijski prispevek
• Vrednosti(Wind) = {Weak, Strong}
– S = [9+,5-], E(S) = 0.940
– Sweak = [6+,2-], E(Sweak ) = 0.811
– Sstrong = [3+,3-], E(Sstrong ) = 1.0
– Gain(S,Wind) = E(S) - (8/14)E(Sweak) - (6/14)E(Sstrong) = 0.940 - (8/14)x0.811 - (6/14)x1.0=0.048
)(||||)(),(
)(v
AValuesv
v SESSSEASGain ⋅−= ∑
∈
Wind?
[6+, 2-] E=0.811
[3+, 3-] E=1.00
Weak
Strong
PlayTennis: Informacijski prispevek
• Kateri atribut je najboljši?
– Gain(S,Outlook)=0.246 MAX !
– Gain(S,Humidity)=0.151
– Gain(S,Wind)=0.048
– Gain(S,Temperature)=0.029
PlayTennis: Informacijski prispevek
• Kateri atribut je najboljši v tem vozlišču drevesa?– Gain(Ssunny, Humidity) = 0.97-(3/5)0-(2/5)0 = 0.970 MAX !
– Gain(Ssunny,Temperature) = 0.97-(2/5)0-(2/5)1-(1/5)0 = 0.570
– Gain(Ssunny,Wind) = 0.97-(2/5)1-(3/5)0.918 = 0.019
Outlook?
{D1,D2,D8,D9,D11} [2+, 3-] E > 0 ???
{D3,D7,D12,D13} [4+, 0-] E = 0 OK – razred YesSunny
Overcast
{D4,D5,D6,D10,D14} [3+, 2-] E > 0 ???Rain
Klasifikacija z odločitvenimi drevesiOdločitvena drevesa lahko uporabljamo za klasifikacijo če:
• Klasifikacijski problem tak, da zahteva klasifikacijo danega primera v enega od diskretne množice klasifikacijskih razredov (medicinska diagnostika, klasifikacija prosilcev za posojilo, …
• Primeri opisani z vrednostmi končne množice atributov(diskretnih ali realnih vrednosti)
• Ciljna funkcija je diskretna (boolova ali večvrednostna, če ima ciljni atribut realne vrednosti gre za problem učenja regresijskih dreves)
• Učenje disjunktivnih konceptov• Učni primeri so lahko šumni (napake v klasifikaciji in/ali
napačne vrednosti atributov)• Učni primeri lahko vsebujejo manjkajoče vrednosti
atributov
Rezanje odločitvenih dreves• Razširitve ID3 za obravnavo šumnih podatkov:
– cilj je, da se izognemo pretiranemu prilagajanju (overfitting) učni množici
• Porezana drevesa so:– manj točna na učnih podatkih– točnejša pri klasifikaciji novih primerov
Obravnava šumnih podatkov z rezanjem dreves
Vzroki za nepopolnost podatkov:1. Naključne napake (šum) v učnih
primerih– napake v vrednostih atributov– napake v klasifikaciji primerov
2. Premalo primerov (incompleteness)
3. Neprimerna oz. nezadostnamnožica atributov (neeksaktnost)
4. Manjkajoče vrednosti atributov v učni množici
Obravnava nepopolnih podatkov tipa 1-3:
• pre-pruning (stopping criteria)
• post-pruning / rule truncation
Obravnava manjkajočih vrednosti:
Rezanje dreves preprečuje, da bi se odločitveno drevo pretirano prilagodilo napakam v učni množici. Tako sprostimo zahtevo po kompletnosti(pokrivanje vseh poz. primerov) in konsistentnosti (ne-pokritost neg. primerov)opisov v ID3
Rezanje dreves
• Kaj bi se zgodilo pri dodajanju novega primera D15Sunny, Hot, Normal, Strong, PlayTennis=No
Outlook
Humidity WindYes
Overcast RainSunny
High Normal
No
Strong Weak
Yes {D9,D11}
No Yes
Odločitveno drevo za napovedovanje ponovitve raka na dojki
Degree_of_malig
Tumor_size
Age no_recur 125recurrence 39
no_recur 4recurrence 1 no_recur 4
Involved_nodes
no_recur 30recurrence 18
no_recur 27recurrence 10
< 3 ≥ 3
< 15 ≥ 15 < 3 ≥ 3
< 40 ≥40
no_rec 4 rec1
Odločitveno drevo za določitev lokacije primarnega tumorja
• 339 primerov• 228 za učenje, 111 za testitanje• Točnost naučenega drevesa: brez rezanja: 41%, z rezanjem: 45%
histological type
degree of differentiation
epidermoid, anaplasti
degree of differentiation
neck
sex
lung lungaxilla sex
breast colon lung
bone head, neck
kidney stomach
gallbladder
adeno
noyesfair, poorgood
yes nofair poor
yes no fm
m f
Medicinske aplikacije• Opis domen
• Ocenjevanje točnosti
domain #cls #atts #val/att #inst. maj.cl.(%) entropy(bit)THYR 4 15 9.1 884 56 1.59PRIM 22 17 2.2 339 25 3.89BREA 2 10 2.7 288 80 1.73LYMP 4 18 3.3 148 55 1.28RHEU 6 32 9.1 355 66 0.93BONE 2 19 4.5 270 65 0.93HEPA 2 19 3.8 155 79 0.74DIAB 2 8 8.8 768 65 0.93
HEART 2 13 5 270 56 0.99
classifiernaïve Bayes 49% 1.60bit 78% 0.08bit 70% 0.79bit 67% 0.52bitAssistant 44% 1.38bit 77% 0.07bit 73% 0.87bit 61% 0.46bitphysicians 42% 1.22bit 64% 0.05bit 64% 0.59bit 56% 0.26bit
thyroid rheumatologyprimary tumor breast cancer
Prilagajanje podatkom (overfitting) in klasifikacijska točnost
• Tipična relacija med velikostjo drevesa in klasifikacijsko točnostjo
• Vprašanje: kako doseči optimalno rezanje dreves ?
0.5
0.55
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0 20 40 60 80 100 120
On training dataOn test data
Rezanje drevesMehanizmi za preprečevanje pretiranega
prilagajanja podatkom:– Pre-pruning; prenehaj z gradnjo ko izboljšave
niso več statistično signifikantne ali ko listu pripada premalo primerov
– Post-pruning: najprej zgradi drevo, nato reži veje
Izbor najboljšega drevesa– Merjenje na učni množici ali na
ločeni validacijski množici Pre-pruning
Post-pruning
Drugi del: Napovedna indukcija
• Naivni Bayeson klasifikator• Učenje odločitvenih dreves• Učenje klasifikacijskih pravil• Evalvacija klasifikatorjev
Učenje odločitvenih drevesvs. učenje klasifikacijskih pravil:
Razbijanje vs. pokrivanje
• Splitting (ID3)
• Covering (AQ, CN2)
++
++ +
+--
--
-
++
++ +
+-
--
--
+ -
+-
Učenje klasifikacijskih pravil
• Predstavitev množice pravil• Dva pristopa k učenju:
– Naučeno odločitveno drevo prevedi v množico klasifikacijskih pravil
– Nauči se množice klasifikacijskih pravil• Hevristike, preveliko prilagajanje podatkom
(učni množici), rezanje pravil
Predstavitev množice pravil• Množica pravil je disjunktna množica konjunktivnih pravil • Standardna oblika pravil:
IF Condition THEN ClassClass IF ConditionsClass ← Conditions
IF Outlook=Sunny ∧ Humidity=Normal THEN PlayTennis=Yes
IF Outlook=Overcast THEN PlayTennis=YesIF Outlook=Rain ∧ Wind=Weak THEN PlayTennis=Yes
• Oblika CN2 pravil: IF Conditions THEN BestClass [ClassDistr]
• Množica pravil : {R1, R2, R3, …, DefaultRule}
Primer: ocenjevanje kupcevKupec Spol Starost Dohodek Poraba Ocena
c1 moški 30 214000 18800 doberc2 ženski 19 139000 15100 doberc3 moški 55 50000 12400 slabc4 ženski 48 26000 8600 slabc5 moški 63 191000 28100 dober
O6-O13 ... ... ... ... ...c14 ženski 61 95000 18100 doberc15 moški 56 44000 12000 slabc16 moški 36 102000 13800 slabc17 ženski 57 215000 29300 doberc18 moški 33 67000 9700 slabc19 ženski 26 95000 11000 slabc20 ženski 55 214000 28800 dober
Ocenjevanje kupcev:klasifikacijska pravila
Neurejena pravila (neodvisna, lahko s presekom):
Income > 108000 => BigSpender = yes Age ≥ 49 & Income > 57000 => BigSpender = yesAge ≤ 56 & Income < 98500 => BigSpender = noIncome < 51000 => BigSpender = no33 < Age ≤ 42 => BigSpender = noDEFAULT BigSpender = yes
Primer: izbor kontaktnih leč
Oseba Starost Dioptrija Astigmat. Solzenje LečeO1 mlad kratko ne zmanjšano NEO2 mlad kratko ne normalno MEHKEO3 mlad kratko da zmanjšano NEO4 mlad kratko da normalno TRDEO5 mlad daleko ne zmanjšano NE
O6-O13 ... ... ... ... ...O14 pr_st_dal daleko ne normalno MEHKEO15 pr_st_dal daleko da zmanjšano NEO16 pr_st_dal daleko da normalno NEO17 st_daleko kratko ne zmanjšano NEO18 st_daleko kratko ne normalno NE
O19-O23 ... ... ... ... ...O24 st_daleko daleko da normalno NE
Izbor kontaktnih leč:klasifikacijska pravila
• solzenje=zmanjšano leče=NE [S=0,H=0,N=12]• solzenje=normalno & astigmatizem=ne
leče=MEHKE [S=5,H=0,N=1]• solzenje= normalno & astigmatizem=da &
dioptrija=kratkovidnost leče=TRDE[S=0,H=3,N=2]
• solzenje=normalno & astigmatizem=da & dioptrija=dalekovidnost leče=NE [S=0,H=1,N=2]
• Verjetnostna klasifikacija novega neznanega primera: če je klasificirani primer pokrit z več različnimi pravili in ga pravila klasificirajo v različne razrede, primer klasificiramo v največkrat klasificirani razred
Izbor kontaktnih leč:odločitveni seznam (decision list)
Pravila oblike if-then-else
IF solzenje=zmanjšano THEN leče=NE ELSE /* solzenje=normalno */IF astigmatizem=ne THEN leče=MEHKE
ELSE /* astigmatizem=da */IF spect. pre.=myope THEN leče=TRDE
ELSE /* dioptrija=kratkovidnost */leče=NE
Osnovni prekrivni algoritem (AQ, Michalski 1969,86)
for vsak razred Ci do– Ei := Pi U Ni (Pi poz., Ni neg.)– RuleBase(Ci) := prazna– repeat {learn-set-of-rules}
• learn-one-rule R (R pokriva nekaj pozitivnih in nobenih negativnih primerov)
• Dodaj R v RuleBase(Ci)• Izbriši iz Pi vse pozitivne primere, ki jih pokriva R
– until Pi = prazna
++
++ +
+-
--
--
+-
Učenje posameznega pravila s hevrističnim preiskovanjem
Lenses = hard IF Astigmatism = no
Lenses = hard IF Astigmatism = yes
Lenses = hard IF Tearprod. = normal
Lenses = hard IF Tearprod. = reduced
Lenses = hard IF Tearprod. = normal
AND Spect.Pre. = myope
Lenses = hard IF Tearprod. = normal
AND Spect.Pre. = hyperm.
Lenses = hard IF Tearprod. = normalAND Astigmatism = no
Lenses = hard IF Tearprod. = normal
AND Astigmatism = yes
[S=5, H=4, N=15]
[S=5, H=0, N=7]
[S=0, H=4, N=8] [S=5, H=4, N=3]
[S=0, H=0, N=12]
...
[S=2, H=3, N=1]
[S=3, H=1, N=2]
[S=0, H=4, N=2]
[S=5, H=0, N=1]
Lenses = hard IF true
Učenje posameznega pravila s hevrističnim preiskovanjem
Play tennis = yes IF
Play tennis = yes IF Wind=weak
Play tennis = yesIF Wind=strong
Play tennis = yes IF Humidity=normal
Play tennis = yesIF Humidity=high
Play tennis = yes IF Humidity=normal,
Wind=weak
Play tennis = yes IF Humidity=normal,
Wind=strong
Play tennis = yes IF Humidity=normal,
Outlook=sunny
Play tennis = yes IF Humidity=normal,
Outlook=rain
[9+,5−] (14)
[6+,2−] (8)
[3+,3−] (6) [6+,1−] (7)
[3+,4−] (7)
...
[2+,0−] (2)
Učenje posameznega pravila s hevrističnim preiskovanjem
PlayTennis = yes [9+,5-] (14)PlayTennis = yes ← Wind=weak [6+,2-] (8)
← Wind=strong [3+,3-] (6) ← Humidity=normal [6+,1-] (7)← …
PlayTennis = yes ← Humidity=normalOutlook=sunny [2+,0-] (2)
← …Estimating accuracy with probability:
A(Ci ← Conditions) = p(Ci | Conditions)Estimating probability with relative frequency:
covered pos. ex. / all covered ex. [6+,1-] (7) = 6/7, [2+,0-] (2) = 2/2 = 1
Drugi del: Napovedna indukcija
• Naivni Bayeson klasifikator• Učenje odločitvenih dreves• Učenje klasifikacijskih pravil• Ocenjevanje klasifikatorjev
– Klasifikacijska točnost (accuracy) in napaka (error)
– Prečno preverjanje (n-fold cross-validation)
Ocenjevanje klasifikatorjev• Uporaba naučenih modelov
– Odkrivanje novega znanja (odl. drevesa, pravila)– Klasifikacija novih objektov (Bayes, odl. drevesa, pravila)
• Ocenjevanje kvalitete klasifikatorjev– Točnost (Accuracy), Napaka (Error = 1 – Accuracy)– Klasifikacijska točnost na učni množici + procent pravilno
klasificiranih primerov • Razbij množico primerov na učno množico (training set, npr.
70%) za učenje klasifikatorja, in na testno množico (test set,npr.30%) za testiranje točnosti klasifikatorja
• Prečno preverjanje (10-fold cross validation, leave-one-out, ...)– Razumljivost (npr. mera kompaktnosti modelov)– Informacijska vsebina (information score), signifikanca, …
Prečno preverjanje(n-fold cross validation)
• Metoda za ocenjevanje točnosti klasifikatorjev• Razdeli množico primerov D v n disjunktnih, (skoraj)
enako velikih podmnožic (folds) Ti tako da je D = U Ti
• for i = 1, ..., n do– Konstruiraj učno množico iz n-1 foldov: Di = D\Ti
– nauči se klasifikatorja Hi iz primerov v Di– Uporabi fold Ti za testiranje točnosti Hi
• Oceni klasifikacijsko točnost klasifikatorja tako, da izračunaš povprečje po desetih foldih Ti
• Razdeli D
T1 T2 T3
• Razdeli
• NaučiD\T1=D1 D\T2=D2 D\T3=D3
D
T1 T2 T3
• Razdeli
• NaučiD\T1=D1 D\T2=D2 D\T3=D3
D
T1 T2 T3
• Razdeli
• Nauči
• Testiraj
D\T1=D1 D\T2=D2 D\T3=D3
D
T1 T2 T3
T1 T2 T3
(Ne)točnost
• Denimo da dva različna klasifikatorja dosežeta80% točnost na testni množici, ali je njuna kvaliteta vedno enaka ? – Npr. klasifikator 1 pravilno klasificira 40 od 50 pozitivnih
primerov in 40 od 50 negativnih; klasifikator 2 pa pravilno klasificira 30 od 50 pozitivnih in 50 od 50 negativnih
• Na testni množici ki ima več negativnih kot pozitivnih primerov je klasifikator 2 boljši
• Na testni množici ki ima več negativnih kot pozitivnih primerov je klasifikator 1 boljši, razen če …
• … razmerje pozitivnih postane tako veliko da je klasifikator ‘vedno pozitivni’ najboljši!
• Povzetek: Klasifikacijska točnost ni vedno najboljša mera kvalitete klasifikatorjev
Kontingenčna tabela (confusion matrix, contingency table)
Predicted positive Predicted negative Positive examples True positives False negatives Negative examples False positives True negatives
Classifier 1 Predicted positive Predicted negative Positive examples 40 10 50 Negative examples 10 40 50 50 50 100
Classifier 2 Predicted positive Predicted negative Positive examples 30 20 50 Negative examples 0 50 50 30 70 100
ROC krivulja• True positive rate =
#true pos. /#pos.– TP1 = 40/50 = 80% – TP2 = 30/50 = 60%
• False positive rate = #false pos. /#neg.– FP1 = 10/50 = 20%– FP2 = 0/50 = 0%
• ROC krivuljanarisana v ROC prostoru z FP ratena X osi in TP ratena Y osi
Classifier 2Predicted positive Predicted negative
Positive examples 30 20 50Negative examples 0 50 50
30 70 100
Classifier 1Predicted positive Predicted negative
Positive examples 40 10 50Negative examples 10 40 50
50 50 100
0%
20%
40%
60%
80%
100%
0% 20% 40% 60% 80% 100%
Confirmation rulesWRAccCN2
false positive rate
true
pos
itive
rate
ROC krivulja: konveksna ovojnica najboljših klasifikatorjev
0%
20%
40%
60%
80%
100%
0% 20% 40% 60% 80% 100%
false positive rate
true
pos
itive
rate
Tretji del: Opisna indukcija
• Napovedna vs. opisna indukcija• Učenje povezovalnih pravil• Odkrivanje podskupin• Razvrščanje v skupine
Napovedna vs.opisna indukcija• Napovedna indukcija (predictive induction):
Indukcija (učenje) modelov iz klasificiranih primerov s ciljem napovedovanja ter klasifikacije novih primerov– Učenje odločitvenih dreves, učenje klasifikacijskih pravil– Naivni Bayesov klasifikator, ANN, SVM, ...– Učenje modelov (hipotez) iz podatkov
• Opisna indukcija (descriptive induction):Odkrivanje zanimivih skupin in pogostih vzorcev v podatkih z namenom odkrivanja zakonitosti v podatkih – Odkrivanje podskupin, razvrščanje v skupine (clustering),
učenje povezovalnih pravil (association rule learning), …– Pojasnjevalna analiza podatkov (exploratory data analysis)
Napovedna vs. opisna indukcija v učenju pravil
• Napovedna indukcija: Gradnja množice pravil (ruleset), ki jih uporabimo kot model za napovedovanje in klasifikacijo novih primerov
• Opisna indukcija: Gradnja posameznih pravil (rules), ki opisujejo zanimive zakonitosti, skupine ali vzorce v podatkih
• Razlike: – Različni cilji, različne hevristike, različni kriteriji za
ocenjevanje naučenih pravil
Nadzorovana vs. nenadzorovanaindukcija v učenju pravil
• Nadzorovano učenje (supervised induction): Učenje pravil iz klasificiranih primerov (vsak učni primer pripada nekemu razredu) – ponavadi se uporablja v napovedni indukciji
• Nenadzorovano učenje (unsupervised induction): Učenje pravil iz neklasificiranih primerov (za učne primere pripadnost razredu ni podana) – ponavadi se uporablja v opisni indukciji
• Izjema: Odkrivanje podskupinOdkrivanje posameznih pravil, ki opisujejo zanimive zakonistosti v podatkih iz klasificiranih primerov
Tretji del: Opisna indukcija
• Napovedna vs. opisna indukcija• Učenje povezovalnih pravil• Odkrivanje podskupin• Razvrščanje v skupine
Povezovalna pravila (association rules)• X ⇒ Y . . . if X then Y • X in Y sta množici postavk (itemsets)• Intuitivni pomen: transakcije ki vsebujejo X najpogosteje vsebujejo tudi Y• Postavke (Items) – binarni atributi (features)
– Medicina: moški, ženska,glavobol, število_otrdelih_sklepov_manjše_od_1, …– Trženje: CocaCola. Arašidi, pivo, …
• Transakcije (transactions) – množice postavk (itemsets), zapisi v transakcijski tabeli (database records)
i1 i2 ……………… i50 t1 1 0 0 t2 0 1 0 … … … ...
• Povezovalna pravila (Association rules)spondylitic ⇒ arthritic & stiff_gt_1 [70%, 5%]arthrotic & spondylotic ⇒ stiff_less_1 [90%,20%]
Učenje povezovalnih pravil
• Naloga učenja povezovalnih pravil (oblika pojasnjevalna indukcije):– Input: množica transakcij D– Poišči: Vsa povezovalna pravila za katere v množici transakcij D
velja• Podpora pravila > MinPodpora (MinSup)• Zaupanje > MinZaupanje (MinConf)
– Podpora: pravilo ima podporo (support) s če velja da s% vseh transakcij (množic postavk) v D vsebuje X in Y
Po(X,Y) = #XY/#D = p(XY)– Zaupanje: Pravilo ima zaupanje (confidence) c če velja da c%
vseh transakcij (množic postavk) v D ki vsebujejo X vsebujejo tudi Y
Za(X,Y) = #XY/#X = p(XY)/p(X) = p(Y|X)
– Popolno (nehevristično) preiskovalnje celotnega prostora postavk
Učenje povezovalnih pravil
• Velike množice postavk so tiste, ki nastopajo v vsaj MinPodpora transakcij• Vse podmnožice velike množice postavk so tudi velike množice postavk
(npr. če se A,B pojavljata v vsaj MinPodpora transakcij, se A in B tudi)• Ta lastnost je osnova za učinkovito implementacijo algoritmov za iskanje
povezovalnih pravil (linearni v številu transakcij)
• Postopek učenja:– Izberi MonPodpora, MinZaupanje– Poišči vse velike množice postavk MP, za katere velja
Po(MP) > MinPodpora– Vsako veliko množico postavk MP razdeli na XY, MP = XY
• izračunaj Za(X,Y) = p(XY)/p(X) = Po(XY)/Po(X)• če Za(X,Y) > MinZaupanje potem velja X ⇒ Y
Učenje povezovalnih pravil: Primeri
• Primeri povezovalnih pravil– Analiza nakupov (market basket analysis)
• beer & coke ⇒ peanuts & chips (80%, 13%) (IF beer AND coke THEN peanuts AND chips)
• Confidence 80%: 80% of customers that buy beer and coke also buy peanuts and chips
• Support 13%: 13% of all customers buy all four items– Zavarovanje (insurance)
• mortgage & loans & savings ⇒ insurance (62%, 2%)• Confidence 62%: 62% of all customers that have
mortgage, loan and savings also have insurance• Support 2%: 2% of all customers have all four
Tretji del: Opisna indukcija
• Napovedna vs. opisna indukcija• Učenje povezovalnih pravil• Odkrivanje podskupin• Razvrščanje v skupine
Odkrivanje podskupin vs. učenje klasifikacijskih pravil
• Klasifikator – model (množica pravil)– Vsako pravilo v klasifikatorju naj bo čimbolj čisto– Množica pravil tvori model domene
• Opisi podskupin – vzorci (posamezna pravila)– Pravila niso čista, pokrivajo pa signifikantno večje
število pozitivnih primerov z dano lastnostjo, ki jo proučujemo
– Vsako pravilo je neodvisni vzorecnegativespositives
truepositives
falsepos.
Vizualizacija odkritih podskupin
Odkrivanje rizičnih skupin pacientov
Cilj: Odkriti skupine pacientov z visoko rizičnostjoza koronarno bolezen (CHD), za A, B, C:
• Glavni faktorji za skupino A1:CHD <- male & pos. fam. history & age > 46Podporni faktorji za A1:stress, smoking, hypertension, overweight
• Glavni faktorji za A2:CHD <- female & bodyMassIndex > 25 & age > 63Podporni faktorji za A2: ...
• Glavni faktorji (odkriti z metodo za odkrivanje kratkih, značilnih pravil), Podporni faktorji (določeni s statistično analizo)
Odkrivanje rizičnih podskupin v TP/FP prostoru: SD algoritem
• Cilj je odkrivanje kratkih opisov podskupin • Primer - Medicinska aplikacija: Odkrivanje obolelih
(CHD – coronary heart disease)• Metoda hevrističnega preiskovanja posameznih pravil z
maksimalno vrednostjo hevristikeq = TP/(FP+g)
TP – true positives: pravilno klasificirani pozitivni primeri (pravilno klasificirani oboleli pacienti z diagnoyo CHD)
FP - false positives: nepravilno klasificirani negativni primeri klasificirani v razred, ki ga karakterizira pravilo (zdrave osebe, nepravilno klasificirane v razred CHD)
g - generalizacijski parameter
Mera za kvaliteto pravil q = TP/(FP+g)
• Pravila z visoko q vrednostjo pokrivajo veliko število primerov ciljnega razreda in majhno število primerov neciljnega razreda
• Tolerirano število pokritih neciljnih primerov modeliramo z velikostjo parametra g– Če je g majhen (< 1) dobimo zelo specifična pravila (low
false alarm rate)– Če je g velik (> 10) dobimo zelo senzitivna splošna
pravila
Statistična karakterizacija podskupin
• Izhajamo iz dobljenih kratkih pravil• Za vsak rizični faktor (značilko)
izračunamo statistično signifikantnostznačilke glede na pozitivne primere (CHD paciente pravilno vključene v podskupino) in negativne primere (zdrave osebe) s ℵ2
testom z 95% mero zaupanja
Tretji del: Opisna indukcija
• Napovedna vs. opisna indukcija• Učenje povezovalnih pravil• Odkrivanje podskupin• Razvrščanje v skupine
Hierarhično razvrščanje v skupine
Združevanje najbližjega para v novo skupino
iC
jC
kC),( ji CCd
),( ki CCd
),( kj CCd
• Minimiziraj podobnost (razdaljo) znotraj skupine
• Maksimiziraj razdaljo med skupinami
Hierarhično razvrščanje v skupine
• Algoritem Vsak primer je ločena skupina Ci;repeat
poišči najbližji par Ci in Cj;združi Ci in Cj v novo
skupino Cr = Ci U Cj;določi različnost med
Cr in ostalimi skupinami;until
ostane ena sama skupina;
• Dendrogram:
Pregled snovi• Odkrivanje zakonitosti v podatkih
– Pojmi: Data Mining, Knowledge Discovery in Databases), strojno učenje, statistika
• Napovedna vs. opisna indukcija• Napovedna indukcija
– Naivni Bayesov klasifikator (je klasifikator a ne generira eksplicitnega modela)
– Učenje odločitvenih dreves• Hevristike, konstrukcija dreves, klasifikacija z odločitvenimi drevesi,
klasifikacijska točnost, transformacija dreves v pravila, pretirano prilagajanje učni množici (overfitting), rezanje dreves (pruning)
– Učenje klasifikacijskih pravil• Pokrivni algoritem, konstrukcija posameznih pravil, hevristike,
spreminjanje trenutne učne množice (current training set) • Ocenjevanje - Metodologija evalvacije
• Opisna indukcija– Učenje povezovalnih pravil
• Algoritem za učenje pravil, podpora, zaupanje– Odkrivanje podskupin– Razvrščanje v skupine (le na kratko)