Prediktívne dolovanie v dátach 1. OBSAH PREDNÁŠKY Základné pojmy, dve fázy klasifikácie Výber príznakov pre klasifikáciu Vybrané základné typy klasifikačných modelov: 1. Rozhodovacie stromy 2. Pravidlové klasifikátory 3. Pravdepodobnostná klasifikácia Bayesovská klasifikácia a logistická regresia 4. Klasifikátory na princípe k-najbližších susedov 1
Základné pojmy Prediktívne dolovanie v dátach v sebe zahŕňa dve pravdepodobne najčastejšie sa objavujúce úlohy DM: Klasifikácia (modeluje a predpovedá nominálne atribúty, t.j. cieľové triedy) Predikcia (modeluje a predpovedá numerické hodnoty) Príklady aplikácií: cielený marketing, medicínska diagnostika, kategorizácia a filtrovanie dokumentov Klasifikácia a predikcia = kontrolované učenie Zhlukovanie = nekontrolované učenie Základný prístup je však u oboch typov DM rovnaký: V prvej fáze (trénovanie) snaží vybudovať (naučiť sa) model správania dát na základe trénovacej množiny. Zostavený (naučený) model správania sa dát je potom v druhej fáze (testovanie) používaný na predpovedanie (predikciu) hodnoty cieľového atribútu u nových objektov (záznamov). 2 2
Klasifikácia fáza trénovania 1. Konštrukcia modelu: popisujúceho množinu preddefinovaných tried. Predpokladá sa, že každý príklad patrí do jednej z preddefinovaných tried tak, ako to určuje hodnota klasifikačného atribútu. Množina príkladov použitá pre konštrukciu klasifikačného modelu: trénovacia množina Model môže byť reprezentovaný vo forme: Rozhodovacie stromy (ID3, C4.5, CART...) Rozhodovacie pravidlá (AQ, CN2, RISE, RIPPER...) Pravdepodobnostný popis (Naivný Bayes, Bayesovské siete...) SVM, neurónové siete, inštančné metódy (k-nn) Optimalizácia parametrov modelu s použitím validačnej množiny príkladov. 3 3
Klasifikácia fáza testovania 2. Použitie modelu: pre klasifikáciu budúcich (neznámych) prípadov => Odhad presnosti modelu (ešte pred jeho nasadením) 1. Holdout: rozdelenie na trénovaciu, validačnú a testovaciu, známe zatriedenie testovacích príkladov je porovnávané s klasifikáciou na základe vygenerovaného modelu 2. Krížová validácia: rozdelenie množiny na m podmnožín, v každej iterácii jedna z nich slúži na testovanie, ostatné na tvorbu modelu Leave-one-out: keď m = n (počtu príkladov) Rozvrstvená krížová validácia (proporcionálne zastúpenie tried) 3. Bootstrap: viackrát (b - krát) vytvorené vzorky s nahradením veľkosti datasetu, testované na celej pôvodnej množine Leave-one-out bootstrap: 1 príklad na testovanie, nie je vo vzorke 0,632 bootstrap: vážený priemer oboch Objavovanie znalostí (prediktívne dolovanie v dátach) Ján Paralič (people.tuke.sk/jan.paralic) 4
Výber príznakov pre klasifikáciu Nerelevantné atribúty spravidla poškodzujú výslednú presnosť modelu a okrem toho sú zdrojom výpočtovej neefektívnosti. Tri prístupy k výberu atribútov: 1. Filtračné modely (filter models): používajú presné matematické kritérium pre výber atribútu, alebo skupiny atribútov. 2. Obálkové modely (wrapper models): Algoritmus na výber atribútov tvorí obálku nejakého klasifikačného algoritmu. 3. Vložené modely (embedded models): využívajú informáciu o význame atribútov obsiahnutú priamo v klasifikačnom modeli. Objavovanie znalostí (prediktívne dolovanie v dátach) Ján Paralič (people.tuke.sk/jan.paralic) 5
1. Filtračné modely (1) 1. Gini index: pre kategorické atribúty (resp. numerické po ich diskretizácii) Nech v 1 až v r sú možné hodnoty atribútu a p j je percentuálna časť príkladov s hodnotou atribútu v i ktoré patria do triedy j (k je počet tried): Celkový Gini index G (ak n i je počet príkladov ktorých hodnota atribútu je v i a r je počet rôznych hodnôt atribútu): Nižšie hodnoty G implikujú lepšiu diskriminačnú schopnosť daného atribútu. Maximálna hodnota Gini indexu je 0,5. Objavovanie znalostí (prediktívne dolovanie v dátach) Ján Paralič (people.tuke.sk/jan.paralic) 6
1. Filtračné modely (2) 2. Entrópia: na triede založená entrópia Pre hodnotu v i daného atribútu je definovaná nasledovne: Analogicky celková entrópia atribútu: Vyššie hodnoty E indikujú miešanie rôznych tried. Hodnota 0 znamená perfektné rozdelenie do tried. 3. Fisherovo skóre: Pre numerické atribúty: pomer priemernej separácie medzi triedami a vnútri triedy μ a σ je priemer a št. odchýlka hodnôt určitého atribútu v celom datasete, μ j a σ j dtto, ale iba pre dáta z triedy j p j je podiel príkladov v datasete z triedy j Čím väčšia hodnota F, tým lepšia diskriminačná schopnosť Objavovanie znalostí (prediktívne dolovanie v dátach) Ján Paralič (people.tuke.sk/jan.paralic) 7
2. Obálkové modely Rôzne klasifikačné algoritmy sú presnejšie pre inú skupinu atribútov. Filtračné modely to ale neberú do úvahy. Obálkové metódy pracujú s klasifikačným algoritmom A, pričom iteratívne rozširujú množinu atribútov F. Na začiatku F = {}. Postup (Forward Stepwise Selection): 1. Rozšír množinu atribútov F pridaním 1 alebo viac atribútov (napr. s najväčším filtračným skóre) k aktuálnej množine. 2. Použi klasifikačný algoritmus A a vyhodnoť dosiahnutú presnosť modelu pre F. Použi túto presnosť na akceptovanie, alebo zamietnutie navrhovaného rozšírenia F. Výsledná množina atribútov F bude citlivá na voľbu použitého algoritmu A. Objavovanie znalostí (prediktívne dolovanie v dátach) Ján Paralič (people.tuke.sk/jan.paralic) 8
3. Vložené modely Základná myšlienka je, že samotné klasifikačné modely obsahujú veľmi užitočné informácie o relevancii jednotlivých atribútov, t.j. táto vedomosť je tam vložená. Napr. klasifikátor vo forme regresného modelu obsahuje koeficienty pri jednotlivých atribútoch -> čím väčšia hodnota koeficientu, tým významnejší atribút Regularizačné metódy Ridge a Lasso pri regresii Rekurzívna eliminácia atribútov: 1. Vytvorí sa model s aktuálnou množinou atribútov F (na začiatku F obsahuje všetky atribúty). 2. Malý počet atribútov sa odstráni a opätovne sa trénuje model, kým sa zlepšuje jeho presnosť. 9
Rozhodovacie stromy Rozhodovacie stromy sú najpopulárnejšou formou reprezentácie klasifikátorov najmä pre svoju ľahko pochopiteľnú reprezentáciu získaných znalostí. Rozhodovací strom je strom s nasledujúcimi vlastnosťami: Medziľahlý uzol reprezentuje vybraný atribút (popisný atribút, nie cieľový). Hrana reprezentuje test na atribút z nadradeného uzla (výstupné hrany daného uzla musia pokrývať všetky možné hodnoty atribútu a jednotlivé vetvy navzájom obsahujú disjunktné testovacie podmienky). Listový uzol reprezentuje niektorú z tried (hodnotu cieľového atribútu). Objavovanie znalostí (prediktívne dolovanie v dátach) Ján Paralič (people.tuke.sk/jan.paralic) 10
Spôsoby vetvenia podľa typu atribútu 1. Binárne atribúty 2 vetvy (pre každú hodnotu jedna). 2. Kategorické atribúty existujú 3 možnosti: a) každej z r možných hodnôt zodpovedá jedna vetva b) binárne rozdelenie (2 r -1 možností (zoskupení)) c) binarizácia atribútu na r binárnych atribútov. 3. Numerické atribúty a) každej z r možných hodnôt jedna vetva (pre malé r), alebo b) binárne rozdelenie podľa najlepšej možnej hranice vetvenia (preskúmať všetky možné hranice, alebo len niekoľko, napr. podľa rozdelenia na rovnanú hĺbku intervalu). Objavovanie znalostí (prediktívne dolovanie v dátach) Ján Paralič (people.tuke.sk/jan.paralic) 11
Vetvenie numerických atribútov Testovacia podmienka pre spojité atribúty pozostáva z prahovej hodnoty, ktorá rozdeľuje usporiadanú množinu čísel na dve podmnožiny. Algoritmus C4.5 vyberá prahovú hodnotu nasledovne: Trénovacie príklady sú najprv usporiadané vzostupne podľa daného spojitého atribútu {v 1, v 2,, v r }. Prahová hodnota ležiaca medzi dvoma hodnotami v i a v i+1, rozdelí množinu príkladov na množiny {v 1, v 2,, v i } a {v i+1, v i+2,, v r }. Takýchto možných rozdelení je r-1. Prahová hodnota medzi dvoma hodnotami spojitého atribútu v i a v i+1 sa určí ako ich priemerná hodnota, t.j. Pre všetky rozdelenia sa vypočíta hodnotiaca funkcia a vyberie sa rozdelenie s maximálnym ohodnotením. Hodnotiacou funkciou môže byť informačný zisk alebo pomerový informačný zisk. Objavovanie znalostí (prediktívne dolovanie v dátach) Ján Paralič (people.tuke.sk/jan.paralic) 12
Všeobecný algoritmus pre generovanie rozhodovacieho stromu KonštruujRozhodovacíStrom (TrénovaciaMnožina T, Float min_conf) if minimálne min_conf objektov z T patrí do triedy C then vytvor listový uzol zaradzujúci do C; return; else for each atribút A do for each možné rozdelenie hodnôt A do ohodnoť kvalitu rozdelenia, ktoré by takýmto spôsobom vzniklo; vykonaj najlepšie zo všetkých možných rozdelení; nech T 1, T 2,, T m sú množiny ktoré vzniknú týmto rozdelením; KonštruujRozhodovacíStrom(T 1, min_conf);... KonštruujRozhodovacíStrom(T m, min_conf); return; 13
Výber testovacieho atribútu Pre výber testovacieho atribútu potrebujeme vhodné kritérium pre porovnanie kvality alternatívnych vetvení. Môže to byť napr.: 1. Chybovosť (error rate): Vážený priemer chybovosti poduzlov ktoré vzniknú navrhovaným vetvením. Pričom chybovosť daného uzla sa určí takto: Nech p je pomer príkladov z majoritnej triedy v danej vetve. Potom chybovosť pre danú vetvu bude 1-p. Nech sa daným vetvením rozdelí množina T na podmnožiny (zodpovedajúce jednotlivým vetvám) T 1... T m. Potom váha chybovosti podmnožiny T i bude T i. Výsledná chybovosť T = vážený priemer chybovostí T i 2. Gini-index (algoritmus CART) 3. Entrópia a od nej odvodené mierky (ID3, C4.5) Objavovanie znalostí (prediktívne dolovanie v dátach) Ján Paralič (people.tuke.sk/jan.paralic) 14
Gini-index (algoritmus CART) Iným kritériom pre výber testovacej podmienky je tzv. Gini-index (používa ho algoritmus CART) Gini-index pre množinu trénovacích príkladov T označovaný G(T) možno vypočítať nasledovne: kde p i je relatívna početnosť triedy c i Gini-index pre rozdelenie množiny T na podmnožiny T 1, T 2,..., T m označovaný G(T 1, T 2,..., T m ) sa vypočíta nasledovne: m G(T 1, T 2,, T m ) = i=1 Ti T G(T i) Objavovanie znalostí (prediktívne dolovanie v dátach) Ján Paralič (people.tuke.sk/jan.paralic) 15
Na entrópii založené kritériá (ID3, C4.5) Ak klasifikačné triedy príkladov sú c 1, c 2,, c n, potom entrópia v uzle S je E(S): V rozhodovacom strome: v koreňovom uzle je entrópia maximálna v listových uzloch minimálna (ideálne nulová) Ak použitím atribútu A i sa uzol rozvetví na m vetiev s 1, s 2,, s m, tak celková entrópia v uzle S použitím atribútu A i na jeho rozdelenie bude: Algoritmus ID3 používa ako kritérium pre výber testovacieho atribútu tzv. informačný zisk I(S, A i ): 16
Na entrópii založené kritériá (ID3, C4.5) Kritérium informačný zisk má závažný nedostatok v uprednostňovaní výberu testovacích podmienok s mnohými výstupmi. Preto napr. algoritmus C4.5 používa normalizovaný informačný zisk, tzv. pomerový informačný zisk I p (S,A i ): kde E p (S,A i ) je tzv. pomerová entrópia: Objavovanie znalostí (prediktívne dolovanie v dátach) Ján Paralič (people.tuke.sk/jan.paralic) 17
Orezávanie rozhodovacích stromov Používa sa na predchádzanie preučeniu (overfitting). Vo všeobecnosti jednoduchšie modely (plytšie RS) sú lepšie ako zložitejšie (hlboké RS). Pre-prunning včasné zastavenie vetvenia, napr. ukončovacím kritériom (nepožadovať 100% z majoritnej triedy, ale menej). Post-prunning po vygenerovaní rozhodovacieho stromu. Toto orezávanie odstraňuje vetvy z už vygenerovaného stromu takým spôsobom, že nahrádza medziľahlé uzly listovými, napr. takto: Porovnáva veľkosť očakávanej chyby klasifikácie pre daný podstrom a jeho náhradu listovým uzlom. Ak sa chyba (na validačnej množine) po náhrade listovým uzlom zmenší, daný podstrom je možné odrezať. Minimálna popisná dĺžka (Minimum description length - MDL): kombinácia (vážený súčet) miery komplexnosti stromu (napr. počet uzlov) a presnosti klasifikácie na trénovacej množine. Objavovanie znalostí (prediktívne dolovanie v dátach) Ján Paralič (people.tuke.sk/jan.paralic) 18
Pravidlové klasifikátory (1) (rule-based classifiers) Jeden z hlavných problémov RS je počet trénovacích príkladov. Trénovacia množiny musí byť dostatočne veľká, aby bolo možné nájsť RS zodpovedajúci dobrej deliacej funkcii medzi príkladmi z rôznych tried. Preto sú RS náchylné na preučenie pri malých dátových množinách. Túto náchylnosť trocha zmierňujú pravidlové klasifikátory, ktoré sú podobné RS, ale na rozdiel od RS nie sú obmedzené hierarchickou štruktúrou. Objavovanie znalostí (prediktívne dolovanie v dátach) Ján Paralič (people.tuke.sk/jan.paralic) 19
Pravidlové klasifikátory (2) Pravidlové klasifikátory používajú množinu pravidiel R = {R 1 R m } typu ak potom, t.j.: IF Podmienka THEN Záver Pritom Podmienka môže obsahovať logické operátory ako,, =,, alebo, ktoré sú aplikované na popisné atribúty (feature attributes). Záver obsahuje priradenie do triedy (class attribute). Rozhodovací strom možno chápať ako špeciálny prípad pravidlového klasifikátora, pre ktorý každá cesta v RS zodpovedá jednému pravidlu. Trénovacia fáza pravidlového algoritmu vytvorí množinu klasifikačných pravidiel. Objavovanie znalostí (prediktívne dolovanie v dátach) Ján Paralič (people.tuke.sk/jan.paralic) 20
Pravidlové klasifikátory (3) Klasifikačná fáza nájde pravidlá, ktoré daný testovací príklad spustí (t.j. spĺňa podmienkovú časť pravidla). V tomto procese môžu byť spustené pravidlá s odporujúcimi si závermi (rôzne triedy). Tieto konflikty je potrebné riešiť. Množina pravidiel R môže spĺňať jednu alebo obe tieto vlastnosti: 1. Vzájomne sa vylučujúce pravidlá: pokrývajú navzájom disjunktné množiny príkladov. Pravidlá generované z RS spĺňajú túto vlastnosť, avšak nie v prípade, že RS bol spracovaný postprunningom (napr. C4.5rules). 2. Úplný súbor pravidiel: ak celý dátový priestor je pokrytý aspoň jedným pravidlom. To znamená že ľubovoľný testovací príklad spustí aspoň jedno pravidlo. Objavovanie znalostí (prediktívne dolovanie v dátach) Ján Paralič (people.tuke.sk/jan.paralic) 21
Pravidlové klasifikátory (4) Ak množina pravidiel R spĺňa obe vlastnosti, potom klasifikačná fáza je jednoduchá, testovací príklad totiž vždy spustí práve jedno pravidlo a nedochádza tak ku konfliktom. V prípadoch kedy klasifikačné pravidlá nie sú vzájomne sa vylučujúce, je potrebné riešiť konflikty medzi spustenými pravidlami: 1. Usporiadaním pravidiel: pravidlá sú usporiadané podľa priority. Populárne algoritmy ako C4.5rules a RIPPER používajú usporiadanie založené na triedach (pravidlá určitej triedy sú preferované voči inej triede). Ak nebolo spustené žiadne pravidlo, použije sa preddefinovaná (default) trieda. 2. Neusporiadané pravidlá: v tomto prípade sa vyberie trieda, ktorá dominuje medzi spustenými pravidlami. Objavovanie znalostí (prediktívne dolovanie v dátach) Ján Paralič (people.tuke.sk/jan.paralic) 22
Pravidlové klasifikátory (5) Algoritmus C4.5rules extrahuje klasifikačné pravidlá z rozhodovacieho stromu získaného algoritmom C4.5. Avšak po extrakcii pravidiel nasleduje fáza ich orezávania, v ktorej sa odstraňujú konjunktívne časti podmienok pravidiel podobným mechanizmom ako u RS, ale už tu nie je obmedzenie, že sa ide od najhlbších častí stromu. Sekvenčné algoritmy pokrytia (AQ, CN2, RIPPER) iteratívne aplikujú 2 kroky: 1. Naučenie jedného pravidla: pre vybranú triedu najlepšie pravidlo sa vloží na koniec aktuálneho (usporiadaného) zoznamu pravidiel. 2. Orezanie trénovacej množiny: odstránenie príkladov pokrytých nájdeným pravidlom. Objavovanie znalostí (prediktívne dolovanie v dátach) Ján Paralič (people.tuke.sk/jan.paralic) 23
Pravdepodobnostné klasifikátory Tieto typy klasifikátorov konštruujú model, ktorý kvantifikuje vzťah medzi popisnými premennými a cieľovou triedou ako pravdepodobnosť. Dva najpopulárnejšie modely tohto typu sú: 1. Bayesovská klasifikácia (generative classifier): Používa Bayesovskú teorému o podmienenej pravdepodobnosti na modelovanie každej hodnoty cieľovej premennej pre dané popisné atribúty (v prípade Naivného Bayesa sa predpokladá ich nezávislosť). 2. Logistická regresia (discriminative classifier): predpokladá sa binomické (Bernoulliho) rozdelenie pravdepodobností cieľovej premennej, ktorej stred je definovaný logit funkciou popisných premenných. Výsledkom toho je popis distribúcie pravdepodobnosti cieľovej premennej ako parametrickej funkcie popisných premenných. Objavovanie znalostí (prediktívne dolovanie v dátach) Ján Paralič (people.tuke.sk/jan.paralic) 24
Bayesovská klasifikácia Bayesovské klasifikátory predikujú pravdepodobnosti, s ktorými daný príklad patrí do tej - ktorej triedy. Vychádzajú pritom z určenia podmienených pravdepodobností jednotlivých hodnôt atribútov pre rôzne triedy. Bayesovská teoréma hovorí ako možno vypočítať podmienenú pravdepodobnosť P(H X): X je objekt (napr. ovocie, ktoré je červené a guľaté) C je trieda (napr. typ ovocia, c 1 - jablká, c 2 - hrušky...) H je hypotéza (napr. že X patrí do triedy c 1, t.j. jablká) P(H) je pravdepodobnosť že ide o jablko P(X) je pravdepodobnosť že ovocie je červené a guľaté P(H X) je pravdepodobnosť toho, že ak je ovocie červené guľaté, potom je to jablko (nevieme ju priamo vypočítať z dát) P(X H) je pravdepodobnosť, že jablko je červené a guľaté 25
Naivný Bayesovský klasifikátor (1) Vychádza z predpokladu, že efekt, ktorý má hodnota (každého) atribútu na danú triedu, nie je ovplyvnený hodnotami ostatných atribútov O je množina objektov o = (o 1,..., o m ) Pre každý objekt o sú známe jeho hodnoty atribútov A i, 1 i d, ako aj trieda c j, c j C = {c 1,..., c n } Neznámy príklad X = (x 1,..., x d ) bude klasifikovaný do triedy c i s najväčšou posteriórnou pravdepodobnosťou P(c i X)>P(c k X), i k. Keďže P(X) je konštantná pre všetky triedy c i, teda stačí nájsť také c i, kedy hodnota výrazu P(X c i ). P(c i ) je maximálna Pravdepodobnosť zaradenia ľubovoľného objektu do triedy c i je N o i je počet tých príkladov z O, ktoré patria do triedy c i N o je počet všetkých príkladov z trénovacej množiny O 26
Naivný Bayesovský klasifikátor (2) Pravdepodobnosti P(X c i ) možno pri predpoklade nezávislosti jednotlivých atribútov A i vypočítať nasledovne: Pre kategorické atribúty A k : N o i,k je počet tých príkladov z O, ktoré patria do triedy c i a u ktorých hodnota atribútu A k = x k Pre spojité atribúty A k sa obvykle predpokladá Gaussovo normálne rozdelenie hodnôt, a potom: je stredná hodnota je rozptyl hodnôt atribútu A k z tých príkladov trénovacej množiny, ktoré Objavovanie znalostí (prediktívne dolovanie v dátach) patria do triedy c i Ján Paralič (people.tuke.sk/jan.paralic) 27
Príklad Je potrebné navrhnúť naivný Bayesovský klasifikátor a klasifikovať ním nového zákazníka Nový zákazník X má tieto hodnoty atribútov: vek = 30 príjem = stredný študent = áno kreditné ohodnotenie = priemerné Takže potrebuje vypočítať a následne porovnať dve podmienené pravdepodobnosti: P(X si kúpi počítač vek X = 30 príjem X = stredný X je študent kreditné ohodnotenie X = priemerné ) =? P(X si nekúpi počítač vek X = 30 príjem X = stredný X je študent kreditné ohodnotenie X = priemerné ) =? Objavovanie znalostí (prediktívne dolovanie v dátach) Ján Paralič (people.tuke.sk/jan.paralic) 28
ID vek príjem študent kreditné hodnotenie 1 30 vysoký nie priemerné nie 2 30 vysoký nie výborné nie 3 31.. 40 vysoký nie priemerné áno 4 > 40 stredný nie priemerné áno 5 > 40 nízky áno priemerné áno 6 > 40 nízky áno výborné nie 7 31.. 40 nízky áno výborné áno 8 30 stredný nie priemerné nie 9 30 nízky áno priemerné áno 10 > 40 stredný áno priemerné áno 11 30 stredný áno výborné áno 12 31.. 40 stredný nie výborné áno 13 31.. 40 vysoký áno priemerné áno 14 > 40 stredný nie výborné nie trieda (kúpi si počítač) 29
Postup výpočtu (1) Apriórne pravdepodobnosti jednotlivých tried P(c i ) možno jednoducho určiť z trénovacej množiny: P(kúpi si počítač) = 9/14 = 0.643 P(nekúpi si počítač) = 5/14 = 0.357 Pre výpočet posteriórnych pravdepodobností P(X c i ) je potrebné najskôr vypočítať nasledovné podmienené pravdepodobnosti P(x k c i ) pre jednotlivé hodnoty atribútov A k zadaného nového zákazníka X: P(vek = 30 kúpi si počítač) = 2/9 = 0.222 P(vek = 30 nekúpi si počítač) = 3/5 = 0.600 P(príjem = stredný kúpi si počítač) = 4/9 = 0.444 P(príjem = stredný nekúpi si počítač) = 2/5 = 0.400 P(študent = áno kúpi si počítač) = 6/9 = 0.667 P(študent = áno nekúpi si počítač) = 1/5 = 0.200 Objavovanie znalostí (prediktívne dolovanie v dátach) Ján Paralič (people.tuke.sk/jan.paralic) 30
Postup výpočtu (2) P(kreditné ohodnotenie = priemerné kúpi si počítač) = 6/9 = 0.667 P(kreditné ohodnotenie = priemerné nekúpi si počítač) = 2/5 = 0.400 Použitím týchto pravdepodobností možno vypočítať hodnoty P(X c i ) pre jednotlivé triedy: P(X kúpi si počítač) = 0.222 x 0.444 x 0.667 x 0.667 = 0.044 P(X nekúpi si počítač) = 0.600 x 0.400 x 0.200 x 0.400 = 0.019 A následne aj hodnoty súčinov P(X c i ). P(c i ): pre jednotlivé triedy: P(X kúpi si počítač) x P(kúpi si počítač) = 0.044 x 0.643 = 0.028 P(X nekúpi si počítač) x P(nekúpi si počítač) = 0.019 x 0.357 = 0.007 To znamená, že naivný Bayesovský klasifikátor bude klasifikovať daný objekt do triedy c 1 = kúpi si počítač Objavovanie znalostí (prediktívne dolovanie v dátach) Ján Paralič (people.tuke.sk/jan.paralic) 31
Bayesovské siete Family History Smoker (FH, S) (FH, ~S) (~FH, S) (~FH, ~S) LC 0.8 0.5 0.7 0.1 LungCancer Emphysema ~LC 0.2 0.5 0.3 0.9 PositiveXRay Dyspnea Tabuľka podmienených pravdepodobností pre premennú LC (LungCancer) Objavovanie znalostí (prediktívne dolovanie v dátach) Ján Paralič (people.tuke.sk/jan.paralic) 32
Logistická regresia (1) Ak je cieľová premenná binárna, používa sa na jej predikciu v praxi najčastejšie logistická regresia Logistická regresia sa líši od lineárnej regresie v tom, že predikuje pravdepodobnosť, či daná udalosť (y) nastane alebo nenastane Vypočítaná pravdepodobnosť p(y) je teda rovná 0, ak udalosť určite nenastala a 1 ak určite nastala Logistická regresia využíva nasledovnú transformáciu: p logit( p) ln( ) p x x 1... 0 1 1 2 2 Výraz v zátvorke (pomer pravdepodobností) sa nazýva šanca (anglicky odds ) Táto transformácia vedie na sigmoidálny vzťah medzi závisle premennou y a vektorom nezávislých premenných x i (i=1..n) viď. nasledujúci slide. n x n Objavovanie znalostí (prediktívne dolovanie v dátach) Ján Paralič (people.tuke.sk/jan.paralic) 33
Logistická regresia (2) )... ( 2 2 1 1 0. 1 n n x x x p e p n x n x x e p p... 2 2 1 1 0 1 )... ( 2 2 1 1 0 1 1 n x n x x e p n x n x x p p... ) 1 ln( 2 2 1 1 0 Objavovanie znalostí (prediktívne dolovanie v dátach) Ján Paralič (people.tuke.sk/jan.paralic) 34
Logistická regresia (3) Priebeh funkcie p( Z) 1 1 e Objavovanie znalostí (prediktívne dolovanie v dátach) Ján Paralič (people.tuke.sk/jan.paralic) 35 Z
Klasifikátory na princípe k-nn (1) Založené na princípe učenia sa na základe analógie. Spravidla sa predpokladá, že trénovacie príklady sú popísané n numerickými atribútmi, a teda predstavujú vlastne body v n-dimenzionálnom priestore príkladov. Ak príde nový príklad q s ešte neznámou hodnotou cieľového atribútu (triedy), klasifikátor na princípe k-najbližších susedov hľadá v priestore príkladov takých k trénovacích príkladov, ktoré sú k novému príkladu najbližšie (napr. v zmysle euklidovskej vzdialenosti). Neznámy príklad je potom klasifikovaný do tej triedy, ktorá sa najčastejšie vyskytuje medzi k jemu najbližšími trénovacími príkladmi. Objavovanie znalostí (prediktívne dolovanie v dátach) Ján Paralič (people.tuke.sk/jan.paralic) 36
Klasifikátory na princípe k-nn (2) Doteraz diskutované algoritmy sa nazývajú aj eager learners (horlivé, dychtivé), nakoľko konštruujú klasifikačný model. k-nn však nekonštruuje žiaden klasifikačný model, t.j. odpadá vlastne prvá fáza klasifikácie, konštrukcia modelu. Ku klasifikácii tu dochádza až v momente, keď je potrebné klasifikovať nejaký nový, dovtedy neznámy príklad. Takéto klasifikátory sa zvyknú v literatúre nazývať aj klasifikátory založené na inštanciách (instance-based), resp. hovorí sa o lenivom učení (lazy learners) Nevýhodou takýchto prístupov je skutočnosť, že potrebujú dlhší čas na klasifikáciu. Tu sa zvyknú používať rôzne efektívne indexovacie techniky. Objavovanie znalostí (prediktívne dolovanie v dátach) Ján Paralič (people.tuke.sk/jan.paralic) 37
Klasifikátory na princípe k-nn (3) Jednotlivé varianty klasifikátorov na princípe k-najbližších susedov sa môžu líšiť: a) Akým spôsobom vyberajú najbližších susedov (t.j. meranie vzdialenosti, napr. Euclidovská alebo Mahalanobisova vzdialenosť). b) Koľko susedov vyberú do úvahy pre klasifikáciu nového príkladu (k). c) Ako vplývajú jednotliví susedia na rozhodnutie o výslednej triede nového príkladu (váhy jednotlivých susedov). Niektoré z používaných klasifikátorov na princípe k-najbližších susedov pracujú nasledovne: a) Ako trénovacie príklady sa používajú len vektory stredných hodnôt pre jednotlivé triedy (príklad priradí najbližšej triede). b) Pre rozhodnutie o zaradení nového príkladu do triedy sa berie do úvahy len jeho najbližší sused (t.j. k = 1). c) Vplyv jednotlivých susedov na rozhodnutie o klasifikačnej triede závisí od ich vzdialenosti (nepriamo úmerne). 38
Príklad algoritmu k-nn Klasifikátor_k-NajbližšíchSusedov (TrénovaciePríklady O, Objekt q, Integer k) Vyber ako rozhodovaciu množinu E k-najbližších susedov objektu q z množiny O; return Trieda; Trieda(o) označuje triedu trénovacieho príkladu o C je klasifikačný (cieľový) atribút c j sú jednotlivé klasifikačné triedy (hodnoty cieľového atribútu) d(x,y) je funkcia vzdialenosti, napr. euklidovská w(x) je váhová funkcia, napr.: 39
Vplyv hodnoty k na výsledok E pre k = 1 E pre k = 7 E pre k = 17 Príliš malé k vedie k prílišnej citlivosti na príklady, ktoré predstavujú šumy. Príliš veľké k zase zvyšuje riziko prekročenia hraníc zhluku príkladov reprezentujúcich určitú triedu a zahrnutie mnohých príkladov z inej triedy. Stredná hodnota k preto vo všeobecnosti poskytuje najlepšie výsledky klasifikácie. Často platí pre hodnotu najlepšieho k : 1 << k < 10. Objavovanie znalostí (prediktívne dolovanie v dátach) Ján Paralič (people.tuke.sk/jan.paralic) 40