Integracja technik eksploracji danych ]V\VWHPHP]DU]G]DQLDED]GDQ\FK QDSU]\NáDG]LH2UDFOHi Data Mining 0LNRáDM0RU]\ Marek Wojciechowski Instytut Informatyki PP Eksploracja danych 2GNU\ZDQLHZ]RUFyZZGX*\FK wolumenach danych Ewolucja systemów eksploracyjnych Systemy dedykowane 6\VWHP\ZVSyáSUDFXMFH]ED]GDQ\FKOracle Darwin, IBM Intelligent miner) 6\VWHP\FLOH]LQWHJURZDQH]ED]GDQ\FK (oracle9i data Mining)
Metody eksploracji danych () 5HJXá\DVRFMDF\MQH 80% klientów którzy w marcu kupili buty narciarskie i okulary VáRQHF]QHNXSLáRWH*ZHáQLDQHVZHWU\WDNLFK]DNXSyZ GRNRQDáRNOLHQWyZNXSXMF\FKZPDUFX Buty narciarskie okulary sweter weániany s=0.8 c=80 Klasyfikacja wiek < 30 tak nie tak KM < 20 nie wzrok = dobry dochody < 3 l.drzwi < 4 tak nie tak nie tak nie ]á\ UHGQL ]á\ UHGQL dobry Metody eksploracji danych (2) Grupowanie obiektów (clustering) Przebiegi czasowe (time series) 2
Klasyfikacja =ELyUSU]\NáDGyZNURWHN]NWyU\FKND*G\ QDOH*\GRMHGQHM]SUHGHILQLRZDQ\FKNODV Budowanie (trenowanie) modelu i testowanie modelu :\NRU]\VWDQLHPRGHOXGRRNUHODQLDNODV\ GRNWyUHMQDOH*QRZHSU]\NáDG\ Klasyfikacja (atrybuty kategoryczne) i SUHG\NFMDDWU\EXW\FLJáH Metody klasyfikacji Drzewa decyzyjne Klasyfikatory bayesowskie Sieci neuronowe Analiza statystyczna Algorytmy genetyczne =ELRU\SU]\EOL*RQH 3
Drzewa decyzyjne.d*g\z]házhzqwu]q\uhsuh]hqwxmhwhvw przeprowadzony na atrybucie.d*gdjdá(uhsuh]hqwxmhz\qlnwhvwx.d*g\olüuhsuh]hqwxmhnodv.u\whuldsrg]ldáx wiek < 3 Indeks GINI (CART) Wzrost informacji (C4.5) χ2 (CHAID) wysokie ryzyko T T N wysokie ryzyko auto sportowe N niskie ryzyko Klasyfikator Bayesa Twierdzenie Thomasa Bayesa (702-76) Pr(h d) = Pr(d h)*pr(h)*{σ i Pr(d h i )*Pr(h i )} - Optymalny klasyfikator Bayesa arg max Pr(c(x)=d t)= Σ h Pr (c(x)=d h)*pr(h t) Naiwny klasyfikator Bayesa arg max Pr(c(x)=d a (x)=a (x 0 ),..., a n (x)=a n (x 0 )), czyli arg max Pr(c(x)=d)*Pr(a (x)=a (x 0 ),..., a n (x)=a n (x 0 ) c(x)=d) Zaáo*enie o warunkowej niezale*noci atrybutów: Pr(a (x)=v,..., a n (x)=v n c(x)=d)= i Pr(a i (x)=v i c(x)=d) 4
3U]\NáDG RID 2 3 4 5 6 7 DOCHOD > 2000 <= 2000 <= 2000 > 2000 > 2000 <= 2000 <= 2000 TYP SPORT SPORT COMBI COUPE COMBI SPORT COUPE RYZYKO NISKIE WYSOKIE NISKIE WYSOKIE NISKIE WYSOKIE??? Pr(niskie)=3/6 Pr(wysokie)=3/6 Pr(dochod > 2000 niskie) = 2/3 Pr(dochod <= 2000 niskie) = /3 Pr(dochod > 2000 wysokie) = /3 Pr(dochod <= 2000 wysokie) = 2/3 Pr(typ = sport niskie) = /3 Pr(typ = combi niskie) = 2/3 Pr(typ = coupe niskie) = 0/3 Pr(typ = sport wysokie) = 2/3 Pr(typ = combi wysokie) = 0/3 Pr(typ = coupe wysokie) = /3 Pr(niskie)*Pr(>2000,coupe niskie)=3/6*2/3*0./3=/90 Pr(wysokie)*Pr(>2000,coupe wysokie)=3/6*/3*/3=/8 5HJXá\DVRFMDF\MQH =ELyUWUDQVDNFMLNOLHQWyZJG]LHND*GD transakcja to zbiór elementów (produktów) 2GQDOH]LHQLH]ELRUyZHOHPHQWyZF]VWR Z\VWSXMF\FKUD]HPZWUDQVDNFMDFK klientów :\JHQHURZDQLHUHJXáLREOLF]HQLH ZVSyáF]\QQLNyZVWDW\VW\F]Q\FK RSLVXMF\FKZVSyáZ\VWSRZDQLHHOHPHQWyZ 5
=DVWRVRZDQLHUHJXáDVRFMDF\MQ\FK Analiza koszyka zakupów 5R]NáDGSyáHNLWRZDUyZQDSyáNDFK.RQVWUXRZDQLHZL]DQ\FKRIHUWVSU]HGD*\ 0DUNHWLQJEH]SRUHGQL Diagnozy lekarskie Telekomunikacja $QDOL]DGRVWSyZGRVHUZLVyZ::: Automatyczna personalizacja serwisów WWW 6IRUPXáRZDQLHSUREOHPX Zbiór elementów I = { i,..., i n } Transakcja T (zbiór elementów) T I Baza danych D (zbiór transakcji) Transakcja T wspiera zbiór elementów X jeli X T Reguáa asocjacyjna: X Y, gdzie X, Y I i X Y = piwo czipsy karkówka plast. Talerze 6
0LDU\VWRVRZDQHGRUHJXá Wsparcie UHJXá\X Y to liczba transakcji w D wspierajcych (X Y) Ufnoü reguáy X Y to liczba transakcji wspierajcych X które równie* wspieraj Y Lift reguáy X Y porównuje stosunek prawdopodobiestwa wystpienia Y razem z X do prawdopodobiestwa wystpienia Y z dowolnym innym zbiorem Algorytm Apriori L = {frequent -itemset}; for (k=2;l k- ;k++) do begin C k = apriori_gen(l k- ); forall transactions t T do begin forall candidates c t do c.count++; end; L k = {c C k c.count minsup} end; Answer = k L k ; 7
,QQHURG]DMHUHJXáDVRFMDF\MQ\FK 8RJyOQLRQHUHJXá\DVRFMDF\MQHUHJXá\ wielopoziomowe),orflrzhuhjxá\dvrfmdf\mqh Wzorce sekwencji 5HJXá\inter-transakcyjne Architektura Oracle9i Data Mining ODM Application Programming Interface ODM API to zbiór klas i metod Z\NRU]\VW\ZDQ\FKSU]H]SURJUDPLVW ODM Data Mining Server ODM DMS to komponent po stronie serwera, zbiór skompilowanych klas i procedur PL/SQL oraz repozytorium 8
Oracle9i Data Mining GRVWSQHPHWRG\ Uczenie nadzorowane.odv\ilndfmd]dsrprfqdlzqhjrnodv\ilndwrud Bayesa, budowanie modelu, testowanie modelu, stosowanie modelu do nowych danych Uczenie bez nadzoru 2GNU\ZDQLHUHJXáDVRFMDF\MQ\FK]DSRPRF algorytmu Apriori Przechowywanie wyników eksploracji w repozytorium data mining object Oracle9i Data Mining - proces function settings object minsup = 0. minconf = 0.8 A B C DB data usage specification mining model RID 2... ATR ABC ABD... ATR2 XYZ XWX... ATR3 8976 456... logical data specification klasyfikator 9
Format danych Fizyczna specyfikacja danych klasa: PhysicalDataSpecification format transakcyjny format kategoryczny SEQ_ID 2 ATRYBUT KOLOR MARKA ROCZNIK KOLOR :$572û %,$à< FIAT 998 GRANAT SEQ_ID KOLOR MARKA ROCZNIK %,$à< FIAT 998 2 GRANAT RENAULT 200 3 CZARNY LANCIA 999 4 ZIELONY AUDI 996 Dyskretyzacja klasy: CategoricalDiscretization, NumericalDiscretization Dyskretyzacja jawna 5HJXá\PDSRZDQLDGROQHLJyUQHJUDQLFHNDW QDMF]VWV]\FK /LF]EDLQWHUHVXMF\FKNDWHJRULL 3RG]LDáQDkwantyle /LF]EDLQWHUHVXMF\FKkwantyli 0
Inne klasy Specyfikacja funkcji eksploracji Model eksploracji Wynik eksploracji Algorytm eksploracji 5HJXáDDVRFMDF\MQD Klasyfikator Repozytorium =ELyUUHODFMLSU]HFKRZXMF\FKIXQNFMH modele i wyniki eksploracji ODM_CONFIGURATION ODM_MINING_FUNCTION_SETTINGS ODM_MINING_MODEL ODM_MESSAGE_LOG...