Dobýváí zalostí Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické iformatiky Matematicko-fyzikálí fakulta Uiverzity Karlovy v Praze
Dobýváí zalostí Pokročilé techiky pro předzpracováí dat Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické iformatiky Matematicko-fyzikálí fakulta Uiverzity Karlovy v Praze
Příprava (předzpracováí) dat Klíčový výzam pro úspěch aplikace Obtížé a časově áročé Výhodá spolupráce s expertem z daé oblasti Cíl předzpracováí: Vybrat (ebo vytvořit) z dostupých dat ty údaje, které jsou relevatí pro zvoleou úlohu dobýváí zalostí Reprezetovat tyto údaje v podobě, která je vhodá pro zpracováí zvoleým algoritmem Cílový stav ~ (jeda) datová tabulka zachycující hodoty atributů objektů I. Mrázová: Dobýváí zalostí 3
Strukturovaá data Časová data apř. časové řady kurzů akcií Typická úloha ~ predikce budoucí hodoty Příklad: časová řada po trasformaci VSTUPY VÝSTUP y(t 0 ), y(t 1 ), y(t 2 ), y(t 3 ) y(t 4 ) y(t 1 ), y(t 2 ), y(t 3 ), y(t 4 ) y(t 5 ) y(t 2 ), y(t 3 ), y(t 4 ), y(t 5 ) y(t 6 ). I. Mrázová: Dobýváí zalostí 4
Strukturovaá data (2) Prostorová data apř. geografické iformačí systémy Implicití relace sousedosti hodoty atributů sousedích objektů se ebudou avzájem příliš lišit Využití zejméa při iterpretaci Strukturálí data apř. chemické sloučeiy Zápis apř. pomocí tzv. smile-kódů ebo jako soubor faktů v Prologu apř. klasifikace chemikálií do tříd podle jejich struktury I. Mrázová: Dobýváí zalostí 5
Více vzájemě propojeých tabulek Spojeí (joi) ~ z jedé ebo více relací (tabulek) se vytvoří relace (tabulka) ová 1:1 ~ jeda etita prví relace je svázaá s jedou etitou druhé relace Příklad: Kliet (ID_Klieta, Příjmeí, Jméo) Trvalé_bydliště (ID_Bydliště, ID_Klieta, Ulice, Město) ová relace bude obsahovat sloupce (atributy) z obou původích relací počet řádků bude pro uvedeé relace odpovídat počtu řádků v prví relaci I. Mrázová: Dobýváí zalostí 6
Více vzájemě propojeých tabulek 1: ~ jeda etita prví relace je svázáa s více etitami druhé relace Příklad: Účet (ID_Účtu, Datum_založeí, Četost_výpisů) Trvalé_příkazy (ID_Příkazu, ID_Účtu, Částka, Bakoví_spojeí) ová tabulka bude obsahovat ové atributy pro agregovaé hodoty získaé z opakováí údajů (trvalých příkazů) vztahujících se k etitě a straě 1 (účtu) vztahu mezi relacemi I. Mrázová: Dobýváí zalostí 7
Více vzájemě propojeých tabulek (2) (1: pokračováí) agregovaé hodoty (atributy): pro umerické atributy (apř. částka): součet, miimum, maximum, průměr pro kategoriálí atributy (apř. Typ_trasakce): počet růzých hodot, výskyt kokrétí hodoty, majorití hodota, počet řádků v ové tabulce bude odpovídat počtu řádků v relaci a straě 1 (počtu účtů) I. Mrázová: Dobýváí zalostí 8
Více vzájemě propojeých tabulek (3) (:m) :m ~ ěkolika etitám z prví relace odpovídá jeda etita z druhé relace a současě ěkolika etitám z druhé relace odpovídá jeda etita z prví relace Příklad: relace Kliet a relace Účet jede kliet může mít přístup k více účtům; k jedomu účtu může mít přístup více klietů vztah m: lze vyjádřit pomocí další relace (apř. Dispozičí_právo), která je s původími relacemi svázáa vztahem 1: (resp. 1:m) I. Mrázová: Dobýváí zalostí 9
Více vzájemě propojeých tabulek (4) (:m pokračováí) při spojováí těchto tabulek se opět vytvářejí ové atributy pro agregovaé hodoty jedu relaci zvolíme za hlaví (primárí) apř. Kliet ebo Účet a spojeí budeme provádět vzhledem k í odvozeé atributy apř. agregovaé hodoty při spojováí relací, doméové zalosti (rodé číslo věk) I. Mrázová: Dobýváí zalostí 10
Data s příliš moha objekty problematické zpracováí v dávkovém režimu použít je určitý vzorek (sample) vybraý ze všech dat použít takový způsob uložeí dat, který by umožil přístup ke všem objektům, bez utosti ukládat je všechy do operačí paměti vytvořit více modelů a základě podmoži objektů a modely poté zkombiovat reprezetativost vybraých dat vybraé objekty by měly co ejlépe vystihovat všecha data (apř. podle shody rozděleí hodot atributů ve vybraém vzorku i ve všech datech) I. Mrázová: Dobýváí zalostí 11
Data s příliš moha objekty (2) evyvážeé třídy v původích datech ( tedece preferovat majorití třídu) růzé váhy pro růzý typ chybého rozhodutí vybírat příklady růzých tříd s růzou pravděpodobostí křížová validace (Cross -Validatio) z dat se opakovaě vybere je určitá část pro tréováí a jiá část pro testováí efektivější uložeí a zpracováí dat (paralelizmus) I. Mrázová: Dobýváí zalostí 12
Data s příliš moha atributy redukce počtu atributů pomocí experta automatická redukce počtu atributů trasformací ~ z existujících atributů vytvoříme meší počet ových atributů (apř. Karhue-Loevův rozvoj, PCA, ) ové atributy vzikou jako lieárí kombiace původích atributů utost měřit hodoty všech původích atributů ové atributy emusí mít jasou iterpretaci selekcí ~ z existujících atributů vybereme je ty ejdůležitejší (Feature Selectio) I. Mrázová: Dobýváí zalostí 13
Selekce hledáme takové atributy, které ejlépe přispějí ke klasifikaci objektů do tříd metodou filtru ~ ke každému atributu spočítáme charakteristiku vyjadřující jeho vhodost pro klasifikaci metodou obálky ~ použít ějaký algoritmus strojového učeí pro vytvořeí modelu z podmožiy atributů a vyhodotit model. Použije se ejlepší z vytvořeých modelů (s alezeými atributy) zdola ahoru ~ začít od modelů vytvořeých pro jedotlivé atributy a atributy postupě přidávat shora dolů ~ začít od modelu vytvořeého pro původí možiu atributů a atributy postupě odstraňovat I. Mrázová: Dobýváí zalostí 14
Automatická selekce metodou filtru kritéria vycházející z kotigečí tabulky C(v 1 ) C(v 2 ) K C(v S ) Σ A(v 1 ) a 11 a 12 K a 1S r 1 A(v 2 ) a 21 a 22 K a 2S r 2 M M M K M M A(v R ) a R1 a R2 K a RS r R Σ s 1 s 2 K s S A vstupí atribut C cílový atribut a kl četost (frekvece) kombiace (A(v k ) C(v l )) S r k = a kl l= 1 R s l = a kl k = 1 = R S k = 1 l= 1 a kl I. Mrázová: Dobýváí zalostí 15
Automatická selekce metodou filtru (2) odhad pravděpodobostí: kritéria pro výběr atributů χ 2 P P ( A( v ) C( v )) k r a k ( A( v )) = P( C( v )) k (čím větší hodota, tím lépe) 2 χ = R S k = 1 l = 1 l = kl ( a e ) kl e kl kl 2 = l R = I. Mrázová: Dobýváí zalostí 16 sl S k = 1 l = 1 a kl rk s rk sl l 2
Automatická selekce metodou filtru (3) Kritéria pro výběr atributů kritéria pro výběr atributů etropie H ( A ) (čím meší hodota, tím lépe) H R ( ) k A = H ( A( v )) k = 1 kde r H ( A( v )) k k = S l= 1 a r kl k log 2 a r kl k I. Mrázová: Dobýváí zalostí 17
Automatická selekce metodou filtru (4) Kritéria pro výběr atributů iformačí míra závislosti ID(A,C) (čím větší hodota, tím lépe) ID ( A, C ) ( A, C ) ( C ) MI MI = = S H kde vzájemá iformace MI(A,C): MI ( A, C ) = P( A( v ) C( v )) = R k = 1 l = 1 R S S k = 1 l = 1 a kl k log 2 l log akl 1 = rk sl k = 1 l = 1 l = 1 ( A, C ) I. Mrázová: Dobýváí zalostí 18 2 R P P sl log sl ( A( vk ) C( vl )) ( A( v )) P( C( v )) S a k kl log 2 k l a r s kl l
Automatická selekce metodou filtru (5) atributy lze uspořádat podle hodoty kritéria a poté vybrat je určitý počet těch ejlepších Postup zdola ahoru (~ přidáváí atributů) Postup shora dolů (~ odstraňováí atributů) každý atribut je posuzová zvlášť ezachyce současý vliv vícero atributů a správost klasifikace počítat hodotu kritéria pro možiu atributů (~ pro všechy kombiace hodot těchto atributů) výběr zdola ahoru (~ přidáváím atributů přímá selekce) postup shora dolů (~odstraňováím atributů zpětá selekce) I. Mrázová: Dobýváí zalostí 19
Numerické atributy diskretizace umerických atributů (~ rozděleí a itervaly) diskretizace a předem zadaý počet ekvidistatích itervalů (~ obor hodot umerického atributu se rozdělí a stejě dlouhé itervaly) diskretizace s využitím iformací o příslušosti objektů k růzým třídám metody se liší: strategií vytvářeí itervalů (rozdělováím itervalů shora dolů, popř. spojováím itervalů zdola ahoru) počtem výsledých itervalů typem itervalů kritériem vyjadřujícím kvalitu itervalů (miimálí klasifikačí chyba, etropie, χ 2 -test) I. Mrázová: Dobýváí zalostí 20
Numerické atributy: algoritmy diskretizace probereme ásledujíci algoritmy: 1. Algoritmus Fayyada a Iraiho 2. Algoritmus Leeho a Shia 3. Diskretizace pro KEX (Berka) 4. Fuzzy diskretizace I. Mrázová: Dobýváí zalostí 21
Algoritmus Fayyada a Iraiho zobecňuje biarizaci (~ rozdělei hodot umerického atributu do dvou itervalů) rekurzivě (shora dolů) biarizuje aktuálí iterval; bere v úvahu jedotlivé dělící bodu a staoví zda se má iterval dále rozdělit pokud ao, který dělicí bod použít kritérium pro rozděleí: iformačí zisk (~ příos rozděleí daého itervalu (It) pro klasifikaci) I. Mrázová: Dobýváí zalostí 22
Algoritmus Fayyada a Iraiho (2) iformačí zisk ( A ) = H A( It) ( ) H ( ( )) Zisk It A ϑ, ϑ etropie H(A(It)) se vztahuje k itervalu před biarizací T t ( ( )) ( A( It )) t ( A( It )) H A It = log ( A( It )) ( A( It )) t = 1 etropie H(A ϑ ) se vztahuje k itervalu po biarizaci H ( A ) ϑ ( A( < ϑ) ) ( A( It) ) ( A( ϑ) ) ( A( It) ) t t = H ( A( < ϑ) ) + H A ( ( ϑ) ) ( A ( It )) počet příkladů s hodotu atributu A z itervalu It t idex pro příklady z třídy t ( A (<ϑ )), resp. ( A ( ϑ )) počet příkladů, jejichž hodota atributu A je z itervalu It a je meší, resp. větší ebo rova ež ϑ I. Mrázová: Dobýváí zalostí 23
Algoritmus Fayyada a Iraiho (3) k biarizaci aktuálího itervalu It dojde, jestliže kde Zisk Δ A ( ( ) 1) ( A( It )) ( ) log A( It ) A > 2 It, ϑ ( ) ( k It, ϑ = log 3 ) k H A( It) 2 2 A ( It, ϑ ) ( A( It )) k počet růzých tříd pro objekty spadající do itervalu It k 1 počet růzých tříd pro objekty spadající do itervalu It <ϑ k 2 počet růzých tříd pro objekty spadající do itervalu It ϑ + Δ ( ) k1 H( A( < ϑ) ) k H( A( ϑ) ) 2 I. Mrázová: Dobýváí zalostí 24
Algoritmus Fayyada a Iraiho (4) Fayyadův a Iraiho algoritmus: 1. uspořádej tréovací data vzestupě podle hodoty diskretizovaého atributu 2. rekurzivě biarizuj aktuálí iterval It tak, že 2.1. ajdi ejvhodější dělicí bod ϑ a urči pro ěj Zisk ( A it,ϑ ) 2.2. je-li Zisk 2.2.1. rozděl iterval It a itervaly It <ϑ a It ϑ 2.2.2. pokračuj v rekurzi ( ) log ( 1) A( It, ϑ) A 2 Δ > + It, ϑ I. Mrázová: Dobýváí zalostí 25
Algoritmus Leeho a Shia diskretizace zdola ahoru založeá a postupém spojováí hodot umerického atributu do předem zadaého počtu výsledých itervalů při posuzováí itervalů se měří rozdíl mezi možstvím iformace ve všech datech a možstvím iformace v itervalu E = t ( ) ( It) P( Class ) P( Class It) t t 2 1 2 I. Mrázová: Dobýváí zalostí 26
Algoritmus Leeho a Shia (2) E = t ( It ) P( Class ) P( Class It ) podobě pro dělicí bod ϑ E = t v obou vztazích je: ( ) t 2 ( ) ( ϑ) P( Class A( < ϑ) ) P( Class A( ϑ) ) P t 2 t t ( Class ) = a P( Class It) t t = daty se prochází opakovaě; při každém průchodu se spojí dvojice itervalů odděleých od sebe dělicím bodem s ejmeší hodotou E(ϑ) I. Mrázová: Dobýváí zalostí 27 t t 1 2 ( It) ( It) 1 2
Algoritmus Leeho a Shia (3) algoritmus: Iicializace 1. uspořádej tréovací data vzestupě podle hodoty diskretizovaého atributu 2. pro každý dělicí bod ϑ i = ( a i + a i+1 )/2 2.1. vytvoř iterval It i = [ ϑ i, ϑ i+1 ] 2.2. spočítej E ( It i ) a E ( ϑ i ) I. Mrázová: Dobýváí zalostí 28
Algoritmus Leeho a Shia (4) Algoritmus: Hlaví cyklus 1. dokud eí dosaže požadovaý počet itervalů 1.1. ajdi ϑ mi takové, že E ( ϑ mi ) = mi i E ( ϑ i ) 1.2. vytvoř iterval It mi = [ ϑ mi 1, ϑ mi ] [ ϑ mi, ϑ mi + 1 ] 1.3. spočítej E ( It mi ), E ( ϑ mi 1 ) a E ( ϑ mi + 1 ) I. Mrázová: Dobýváí zalostí 29
Diskretizace umerických atributů pro systém KEX Cíl: diskretizace, která povede k vytvořeí pravidel A ( It ) Class; A ( It ) = [ Dmez, Hmez ] Saha vytvářet takové itervaly A(It), aby se P(Class A(It)) sigifikatě lišilo od P(Class) postup zdola ahoru spojováím I. Mrázová: Dobýváí zalostí 30
Diskretizace umerických atributů pro systém KEX (2) Hlaví cyklus: 1. vytvoř uspořádaý sezam hodot uvažovaého atributu 2. pro každou hodotu 2.1.spočítej četosti výskytu objektů s touto hodotou pro jedotlivé třídy 2.2.přiřaď kód třídy každé hodotě procedurou Assig 3. vytvoř itervaly hodot procedurou Iterval I. Mrázová: Dobýváí zalostí 31
Diskretizace umerických atributů pro systém KEX (3) Assig: pokud pro daou hodotu všechy objekty patří do stejé třídy a) pak přiřaď hodotě kód této třídy; b) jiak pokud se pro daou hodotu veličiy rozděleí objektů do tříd sigifikatě liší (a základě χ 2 -testu) od apriorího rozděleí tříd a) pak přiřaď hodotě kód ejčetější třídy b) jiak přiřaď hodotě kód? I. Mrázová: Dobýváí zalostí 32
Diskretizace umerických atributů pro systém KEX (4) Počátečí itervaly 1. Nechť x 1 < <x p jsou všechy hodoty, které abývá uvažovaý atribut; předpokládáme, že p 2 2. vytvoř itervaly It = DMez, HMez = x, x, It K It 1 2 p DMez DMez, HMez Spojováí itervalů: Spojeím itervalů d 1, h 1 a d 2, h 2, kde h 1 < d 2 vzike iterval d 1, h 2 = = 1 2 p 1, HMez 2 p = = 1 x 2 x, p 1 x, 2 x p, I. Mrázová: Dobýváí zalostí 33
Diskretizace umerických atributů pro systém KEX (5) Iterval: 3. procházej itervaly od prvího do posledího 3.1. pokud má sekvece po sobě jdoucích itervalů stejý kód třídy, pak vytvoř jede iterval spojeím těchto itervalů 3.2. jiak, pokud iterval It i patří do třídy? pak pokud jeho sousedí itervaly It i 1 a It i + 1 patří do téže třídy 3.2.1. vytvoř iterval DMez i 1,HMez i + 1 spojeím It i 1 It i It i + 1 3.2.2. jiak vytvoř iterval buď spojeím It i 1 It i ebo spojeím It i It i + 1 podle výsledku χ 2 -testu 3.3. pokud dolí mez ěkterého z vytvořeých itervalů eí x 1, tak jeho dolí mez astav a horí mez předchozího vytvořeého itervalu, iterval bude zleva otevřeý dostaeme spojité pokrytí defiičího oboru atributu I. Mrázová: Dobýváí zalostí 34
Fuzzy diskretizace hraice fuzzy-itervalů jsou eostré ová procedura Iterval pro vytvářeí itervalů spojeím sekvecí hodot téže (fuzzy-)třídy fuzzy-itervaly 1 μ(teplota) ízká vysoká 0 33 36 37 39 teplota I. Mrázová: Dobýváí zalostí 35
Fuzzy diskretizace (2) 1 0 ízká 33 36 37 39 z jedé umerické hodoty můžeme získat dvě diskretizovaé hodoty tak, že součet odpovídajících charakteristických fukcí bude rove 1 vzikají fuzzy -objekty s vahou < 1 váha fuzzy -objektu je dáa součiem hodot charakteristických fukcí všech atributů: možá ztráta iformací w vysoká μ(teplota) teplota ( obj ) μ ( x ) = Π kotradikce ~ objekty se stejými hodotami vstupích (diskretizovaých) atributů patřído růzých tříd j I. Mrázová: Dobýváí zalostí 36 i
Fuzzy diskretizace (3): procedura Iterval 3.1.pokud má sekvece hodot stejý kód třídy, pak vytvoř iterval z těchto hodot (s charakteristickou fukcí rovou 1 v celém itervalu) 3.2. pro každý iterval It i pokud iterval It i patří do třídy? pak pokud jeho sousedí itervaly It i 1 a It i + 1 patří do téže třídy 3.2.1. vytvoř iterval spojeím It i 1 It i It i + 1 (s charakteristickou fukcí rovou 1 v celém itervalu) 3.2.2. jiak vytvoř dva fuzzy-itervaly spojeím It i 1 It i a spojeím It i It i + 1 viz ásledující slide I. Mrázová: Dobýváí zalostí 37
Fuzzy diskretizace (4): procedura Iterval 3.2.2. jiak vytvoř jede iterval spojeím It i 1 It i tak, že charakteristická fukce je rova 1 v itervalu [Dmez i 1, Hmez i 1 ] a rova DMezi + 1 x pro x [ HMezi 1, DMezi + 1] DMez HMez i+ 1 a druhý iterval spojeím It i It i + 1 tak, že charakteristická fukce je rova 1 v itervalu [ Dmez i +1, Hmez i + 1 ] a rova x HMezi 1 pro x [ HMezi 1, DMezi+ 1] DMez HMez i+ 1 i 1 3.3. vytvoř spojité pokrytí defiičího itervalu veličiy shodě s krokem 3.2.2. (mezery mezi itervaly jsou chápáy jako iterval třídy? ) i 1 I. Mrázová: Dobýváí zalostí 38
Kategoriálí atributy Algoritmus pro seskupováí hodot (KEX): pokud abývá kategoriálí atribut příliš velkého počtu hodot, je vhodé jejich seskupováí (apř. a základě charakteristik spočítaých a tréovacích datech) Cíl: vytvořit skupiy A(Grp) takové, aby se P(Class A(Grp)) sigifikatě lišilo od P(Class) + vytvoří se tolik skupi, kolik je růzých tříd plus jeda avíc (? ) I. Mrázová: Dobýváí zalostí 39
Kategoriálí atributy (2) Algoritmus pro seskupováí hodot (KEX): Hlaví cyklus: 1. vytvoř uspořádaý sezam hodot uvažovaého atributu 2. pro každou hodotu 2.1.spočítej četosti výskytu objektů s touto hodotou pro jedotlivé třídy 2.2.přiřaď kód třídy každé hodotě procedurou Assig 3. vytvoř itervaly hodot procedurou Group až a voláí Group v kroku 3 stejý jako pro diskretizaci umerických atributů pro systém KEX I. Mrázová: Dobýváí zalostí 40
Kategoriálí atributy (3) Algoritmus pro seskupováí hodot (KEX): Assig: Pokud pro daou hodotu všechy objekty patří do stejé třídy 1. pak přiřaď hodotě kód této třídy; 2. jiak pokud se pro daou hodotu veličiy rozděleí objektů do tříd sigifikatě liší (a základě χ 2 -testu) od apriorího rozděleí tříd a) Pak přiřaď hodotě kód ejčetější třídy b) Jiak přiřaď hodotě kód? Stejý jako pro diskretizaci umerických atributů pro systém KEX I. Mrázová: Dobýváí zalostí 41
Kategoriálí atributy (4) Algoritmus pro seskupováí hodot (KEX): Group: vytvoř skupiu z těch hodot, které mají přiřaze kód stejé třídy I. Mrázová: Dobýváí zalostí 42
Chybějící hodoty igorovat objekt s ějakou chybějící hodotou ahradit chybějící hodotu ovou hodotou evím ahradit chybějící hodotu ěkterou z existujících hodot atributu ejčetější hodotou proporcioálím podílem všech hodot libovolou hodotou doplěí chybějící hodoty a základě (použitého) modelu I. Mrázová: Dobýváí zalostí 43