29
1 1 Odkrivanje zakonitosti v podatkih predavateljici: prof. dr. Nada Lavrač, doc. dr. Dunja Mladenić asistenta: Petra Kralj, Blaž Fortuna Institut Jožef Stefan Ljubljana, Slovenija 2 Urnik ponedeljek, 5.3. - Nada Lavrač, 4 ure ponedeljek, 12.3. - Nada Lavrač, 4 ure petek, 16.3., računalniška učilnica - Petra Kralj, 3 ure ponedeljek, 19.3. - Dunja Mladenić, 4 ure petek, 23.3., računalniška učilnica - Petra Kralj, 3 ure ponedeljek, 26.3. - Dunja Mladenić, 4 ure petek, 30.3., računalniška učilnica - Blaž Fortuna, 4 ure seminar petek 11.5. – Nada Lavrač, Petra Kralj, 4 ure 3 Seznam študentov Štokelj Matjaž Srebrnič Vidojka Sever Kristjan Morenčič Janoš Milanović Daniela Malik Gregor Lazar Marko Korečič Bojan Koblar Valentin Ferjančič Uroš Bucik Janez 4 Cilji in vsebina predmeta Osnovni 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. 5 Vsebina – Analiza tabelaričnih podatkov (N. Lavrač, P. Kralj) I. Uvod Odkrivanje zakonitosti v podatkovnih bazah (Data Mining, Knowledge Discovery 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) 6 Prvi del: Uvod Odkrivanje zakonitosti v podatkovnih bazah (Data Mining, Knowledge Discovery in Databases), strojno učenje in statistika Metode in primeri Aplikacije odkrivanja znanja v projektu Sol-Eu-Net

Urnik Odkrivanje zakonitosti č v podatkih č ć č ć čkt.ijs.si/PetraKralj/UNGKnowledgeDiscovery/Nada-gorica... · 2007. 10. 3. · obravnava rudarjenje podatkov (DM) kot KDD proces

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • 1

    1

    Odkrivanje zakonitostiv podatkih

    predavateljici: prof. dr. Nada Lavrač, doc. dr. Dunja Mladenić

    asistenta: Petra Kralj, Blaž Fortuna

    Institut Jožef StefanLjubljana, Slovenija

    2

    Urnik

    • ponedeljek, 5.3. - Nada Lavrač, 4 ure • ponedeljek, 12.3. - Nada Lavrač, 4 ure • petek, 16.3., računalniška učilnica - Petra Kralj, 3 ure • ponedeljek, 19.3. - Dunja Mladenić, 4 ure • petek, 23.3., računalniška učilnica - Petra Kralj, 3 ure • ponedeljek, 26.3. - Dunja Mladenić, 4 ure • petek, 30.3., računalniška učilnica - Blaž Fortuna, 4

    ure • seminar petek 11.5. – Nada Lavrač, Petra Kralj, 4 ure

    3

    Seznam študentov

    Štokelj MatjažSrebrnič VidojkaSever KristjanMorenčič JanošMilanović DanielaMalik GregorLazar MarkoKorečič BojanKoblar ValentinFerjančič UrošBucik Janez

    4

    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.

    5

    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)

    6

    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

  • 2

    7

    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 118

    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

    9

    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

    10

    Proces odkrivanja znanja iz podatkov

    11

    Proces odkrivanja znanja iz podatkov

    • tabela n-terk, relacijska podatkovna baza, tekst, slike, podatkovna skladišča

    12

    Proces odkrivanja znanja iz podatkov

    • tabela n-terk, relacijska podatkovna baza, tekst, slike, podatkovna skladišča

    • izbor podmnožice podatkov in spremenljivk

  • 3

    13

    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

    14

    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

    15

    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, ...)

    16

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

    17

    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 problema18

    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

  • 4

    19

    CRISP Data Mining Process

    • DM Tasks

    20

    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

    21

    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

    22

    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

    23

    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

    24

    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

  • 5

    25

    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

    26

    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

    zmanjšano

    ne da

    normalno

    dalekovidnost

    MEHKEkratkovidnost

    TRDE

    27

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

    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

    29

    Odločitvena drevesa• Primer: ocenjevanje kupcev

    Spol

    Starost

    slab

    slab

    = ženski

    dober

    = moški

    ≤ 49 > 49

    30

    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

  • 6

    31

    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

    32

    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)

    33

    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

    34

    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

    35

    res-ponse

    ...

    non-mem-ber...

    45

    ...

    i80-90k

    ...

    mar-red

    ...

    female

    ...

    43666

    ...

    Inven-tion

    ...

    45, Sea Ct

    ...

    Jane

    ...

    Doe

    ...

    3479

    ...

    ...no res-ponse

    ...mem-ber

    ...32

    ...i60-70k

    ...single

    ...male

    ...34677

    ... Sam-pleton

    ...38, Lake Dr

    ...John

    ...Smith

    ...3478

    Res-ponse

    Club status

    AgeIn-come

    Social status

    SexZipCityStreetFirst name

    NameID

    Tabela 1: Osnovna tabela kupcev

    ........................renm4580-90maf436663479nrme3260-70sim346673478

    ........................RespClubAgeIncomeSoc StSexZipID

    Tabela 2. Tabela za analizo 36

    ........................renm4580-90maf436663479nrme3260-70sim346673478

    ........................RespClubAgeIncomeSoc StSexZipID

    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,_,_,_,_,_).

  • 7

    37

    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

    38

    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

    39

    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, ...) 40

    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

    41

    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 42

    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

  • 8

    43

    Povezana področja

    Vizualizacija• grafično

    prikazovanje podatkov in izluščenega znanja

    odkrivanjezakonitosti

    statistika

    strojnoučenje

    vizualizacija

    podatkovnebaze

    obravnava besedil

    mehkoračunanje

    razpoznavanjevzorcev

    44

    Prikazovanje podatkov

    45

    Prikazovanjeodločitvenih dreves

    46

    Prikazovanje povezovalnih pravil

    47

    Vizualno programiranje -Clementine

    48

    Prikaz odkritih podskupin in vizualno programiranje - Orange

  • 9

    49

    Naš zorni kot

    Odkrivanje zakonitosti z uporabo metod strojnega učenja

    Povezava sstatistiko

    odkrivanjezakonitosti

    statistika

    strojnoučenje

    vizualizacija

    podatkovnebaze

    obravnava besedil

    mehkoračunanje

    razpoznavanjevzorcev

    50

    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

    51

    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

    52

    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

    53

    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

    54

    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)

  • 10

    55

    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)

    56

    Podatki Mediana BGP

    • ankete o gledanosti, branosti in poslušanosti od l. 1992, okrog 1200 vprašanj (branost, ..., interesi, ...)

    57

    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)

    58

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

    59

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

    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)

  • 11

    61

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

    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)

    63

    Odločitveno drevoKlasifikacija v bralce Dela ali Slovenskih novic

    64

    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 (kavarne1) 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 0)) and (hrvasko>0) and (bere_Dnevnik==T) bere_Novice (140, 0.775)

    65

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

    Podatkovna baza STATS19• 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 ? ...

  • 12

    67

    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

    68

    Analiza kvalitete podatkov: Prikaz kraja nesreče

    69

    Preproste statistične analizein vizualizacija

    • Uporabne za razumevanje podatkov• Distribucija števila nesreč v raznih časovnih obdobjih (leto, mesec, dan v tednu, ura)

    70

    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

    71

    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

    72

    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)

  • 13

    73

    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.

    74

    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)

    75

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

    76

    Rezultat združevanja v skupine: dinamika po letih

    77

    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

    78

    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)

  • 14

    79

    Uporabljene metode analize podatkov

    • odkrivanje povezovalnih pravil • odkrivanje podskupin• relacijska analiza podatkov• …

    • analiza tekstovnih podatkov– več o tem področju D. Mladenić

    80

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

    81

    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

    82

    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)

    83

    Primer podatkov – internaEC baza

    Tabela vseh IST projektov – za vsak projekt podan seznam partnerjev

    84

    Primer podatkov – svetovni splet

    Opis projekta

    Naslovprojekta

    Akronimprojekta

  • 15

    85

    Analiza dokumentov oevropskih projektih

    86

    Vizualizacija področij (25 skupin)Health

    Data analysis

    Knowledge Management

    Mobile computing

    87

    Del omrežja za avtomobilskoindustrijo (>6)

    88

    TelecommunicationTransport

    Electronics

    No. of joint projects

    Povezanost pomembnih institucij (>10)

    89

    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

    90

    Sodelovanje med državami (top 12)

    Most active country

    Number of collaborations

  • 16

    91

    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

    92

    Sodelovanje znotraj države (Slovenija)

    93

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

    94

    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

    95

    Drugi del: Napovedna indukcija

    • Naivni Bayeson klasifikator• Učenje odločitvenih dreves• Učenje klasifikacijskih pravil• Evalvacija klasifikatorjev

    96

    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 =

  • 17

    97

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

    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

    cpcvp

    vvpcpcvvp

    vvpvvcp

    vvcp

    )()|(

    )()(

    )|()...(

    )()(

    )()()|(

    )...()(

    )...(

    )()|(

    )...()()|...(

    )...()...(

    )...|(

    1

    11

    1

    1

    1

    11

    99

    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

    100

    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

    101

    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)

    102

    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(

  • 18

    103

    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 104

    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

    105

    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, … 106

    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

    107

    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%

    108

    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

  • 19

    109

    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

    zmanjšano

    ne da

    normalno

    dalekovidnost

    MEHKEkratkovidnost

    TRDE 110

    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

    111

    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 maksimizira

    informacijski 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 ⋅−= ∑

    ∈ 112

    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

    113

    Odločitveno drevo: PlayTennis

    Outlook

    Humidity WindYes

    OvercastSunny Rain

    High Normal Strong Weak

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

    Odločitveno drevo: PlayTennis

    Outlook

    Humidity WindYes

    OvercastSunny Rain

    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)

  • 20

    115

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

    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

    OvercastSunny Rain

    High Normal Strong Weak

    No Yes No Yes

    117

    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

    118

    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

    119

    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 ⋅−= ∑

    120

    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

  • 21

    121

    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

    122

    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

    123

    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

    124

    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

    125

    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

    126

    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 or. Nezadostna množ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 vID3

  • 22

    127

    Rezanje dreves

    • Kaj bi se zgodilo pri dodajanju novega primera D15Sunny, Hot, Normal, Strong, PlayTennis=No

    Outlook

    Humidity WindYes

    OvercastSunny Rain

    High Normal Strong Weak

    NoYes

    {D9,D11}No Yes

    128

    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

    129

    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

    bonedegree of

    differentiation

    neck

    head, neck sex

    lung lung

    kidney stomachaxilla sex

    breast colon lung gallbladder

    adeno

    noyesfair, poorgood

    yes no fair poor

    yes no fm

    m f

    130

    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

    131

    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

    132

    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

  • 23

    133

    Drugi del: Napovedna indukcija

    • Naivni Bayeson klasifikator• Učenje odločitvenih dreves• Učenje klasifikacijskih pravil• Evalvacija klasifikatorjev

    134

    Učenje odločitvenih drevesvs. učenje klasifikacijskih pravil:

    Razbijanje vs. pokrivanje

    • Splitting (ID3)

    • Covering (AQ, CN2)

    ++

    ++ +

    +--

    --

    -

    ++

    ++ +

    +-

    --

    --

    +

    +

    -

    -

    135

    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

    136

    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}

    137

    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

    138

    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

  • 24

    139

    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

    140

    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

    141

    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

    142

    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

    ++

    ++ +

    +-

    --

    --

    +-

    143

    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]

    ...

    Lenses = hard IF true

    [S=2, H=3, N=1]

    [S=3, H=1, N=2]

    [S=0, H=4, N=2]

    [S=5, H=0, N=1]144

    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)

  • 25

    145

    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

    146

    Drugi del: Napovedna indukcija

    • Naivni Bayeson klasifikator• Učenje odločitvenih dreves• Učenje klasifikacijskih pravil• Evalvacija klasifikatorjev

    – Klasifikacijska točnost (accuracy) in napaka (error)

    – Prečno preverjanje (n-fold cross-validation)

    147

    Evalvacija klasifikatorjev• Uporaba naučenih modelov

    – Odkrivanje novega znanja (odl. drevesa, pravila)– Klasifikacija novih objektov (Bayes, odl. drevesa, pravila)

    • Evalvacija 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, …

    148

    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

    149

    • Razdeli

    • Nauči

    • Testiraj

    D\T1=D1 D\T2=D2 D\T3=D3

    D

    T1 T2 T3

    T1 T2 T3150

    (Ne)točnost

    • Denimo da dva različna klasifikatorja dosežeta 80% 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

  • 26

    151

    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

    152

    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

    153

    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

    154

    Tretji del: Opisna indukcija

    • Napovedna vs. opisna indukcija• Učenje povezovalnih pravil• Odkrivanje podskupin• Razvrščanje v skupine

    155

    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)

    156

    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

  • 27

    157

    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

    158

    Tretji del: Opisna indukcija

    • Napovedna vs. opisna indukcija• Učenje povezovalnih pravil• Odkrivanje podskupin• Razvrščanje v skupine

    159

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

    160

    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

    161

    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

    162

    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

  • 28

    163

    Tretji del: Opisna indukcija

    • Napovedna vs. opisna indukcija• Učenje povezovalnih pravil• Odkrivanje podskupin• Razvrščanje v skupine

    164

    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.

    165

    Vizualizacija odkritih podskupin

    166

    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 46Podporni faktorji za A1:stress, smoking, hypertension, overweight

    • Glavni faktorji za A2:CHD 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)

    167

    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

    168

    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

  • 29

    169

    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 ℵ2testom z 95% mero zaupanja

    170

    Tretji del: Opisna indukcija

    • Napovedna vs. opisna indukcija• Učenje povezovalnih pravil• Odkrivanje podskupin• Razvrščanje v skupine

    171

    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

    172

    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:

    173

    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) • Metodologija evalvacije

    • Opisna indukcija– Učenje povezovalnih pravil

    • Algoritem za učenje pravil, podpora, zaupanje– Odkrivanje podskupin– Razvrščanje v skupine (le na kratko)