Adatbányászat SAS Enterprise Miner Hajas Csilla ELTE SAS gyakorlataihoz segédlet. Forrásként (a webrıl letöltve) felhasználtam Kiss Attila, Lukács András, Sidló Csaba és Kósa Balázs diasorozatait is, lásd a linkeket az alábbi oldalon: http://people.inf.elte.hu/sila/edu10feb/sasgy10f.html 1
Ajánlott (magyar nyelvő) irodalom Bodon Ferenc magyar nyelvő Adatbányászati algoritmusok tanulmánya: http://www.cs.bme.hu/~bodon/magyar/adatbanyaszat/tanulmany/index.html 2
Tudásfeltárás (KDD) A tudásfeltárás az adatbázisokban tárolt adatokból implicit, korábban nem ismert és potenciálisan hasznosnak vélt információk nem triviális úton való kinyerésének folyamata. 3
Alkalmazási területek Kereskedelem Vásárlói szokások követése Pénzügy Banki hitelbírálat Bankkártya csalások detektálása Orvostudomány Diagnosztika (pl. rákkutatás) DNS láncok elemzése Telekommunikáció Vírusvédelem Hacker támadások 4
A tudásfeltárás fıbb lépései 5
A tudásfeltárás lépései Felhasználási célok meghatározása Céladatbázis létrehozása Adattisztítás Adatintegráció Adattér csökkentés Adatbányászati algoritmus kiválasztása Az algoritmus használata A kinyert információk értelmezése A megszerzett információk ellenırzése az elvárások alapján 6
Üzleti intelligencia Adatok > információ > tudás Döntés Modell Adatbányászat Adatok kinyerése, transzformálása Adattárház Termelés, Szolgáltatás => Adatbázis Hasznos információ Tudás reprezentázió Tisztított, feldolgozott adatok Nyers adatok
OLTP - OLAP rendszerek OLTP: On Line Transaction Processing Hagyományos adatbázis alkalmazások, nyilvántartások, vállalatok produktív rendszerei ERP rendszerek: Enterprise Resource Planning Pl.: SAP R/3, Oracle Financials, Libra, stb. OLAP: On Line Analytical Processing Elemzési célú rendszerek elterjedt követelményrendszere 8
OLTP OLAP tulajdonságok Tulajdonság OLTP OLAP Orientáció Tranzakciók hatékony tárolása, végrehajtása Adatanalízis Felhasználó Vállalati adminsztrátorok Döntéshozók Feladat Napi folyamatok követése Döntéstámogatás, információszolgáltatás Adatok Aktuális, up-to-date Történeti, archív adatok Összegzett adatok Nem jellemzı, részletes Összegzett, egyesített adatok Adatok nézete Relációs multidimenzionális Felhasználói hozzáférés Olvasás / írás Jellemzıen olvasás Hangsúly Adatbevitelen Információ- (tudás-) kinyerésen Feldolgozandó adat Alkalmanként tizes nagyságrendő Egyszerre akár milliós rekordszám Felhasználók száma Viszonylag sok Néhány, közép- és felsıvezetık Prioritás Állandó rendelkezésre állás, megbízhatóság Rugalmasság, felhasználói önállóság 9
Az adat útjának fı állomásai Forrásrendszerek Adattárház Elemzı frontend alkalmazások 10
Adattárházak (Data Warehousing) Három kulcsmozzanat: Adatkinyerés a tranzakciós (vagy más vállalat-mőködtetési) forrásrendszerekbıl A kinyert adatok átformálása riport (beszámoló) készítés számára A riportok, beszámolók elérhetıvé tétele a döntéshozók számára. 11
Adatbányászat (Data Mining) Data mining (knowledge discovery in databases): Extraction of interesting (non-trivial, implicit, previously unknown and potentially useful) information or patterns from data in large databases SAS: advanced methods for exploring and modelling relationships in large amounts of data Abonyi könyv: Az adatbányászat egy olyan döntéstámogatást szolgáló folyamat, mely érvényes, hasznos, és elızıleg nem ismert, tömör információt tár fel nagy adathalmazból. 12
Adatbányászat, mint tudományág Multidiszciplinális tudományág: Statics Pattern Recognition Neurocomputing Databases Data Mining KDD Machine Learning AI 13
SAS Enterprise Miner vs. egyéb adatbányász eszközök http://www.metagroup.com/webhost/online/477658/60.1marketsummary.pdf Angoss Software KnowledgeStudio and Mining Manager Computer Associates CleverPath Predictive Analysis Server Fair Isaac Enterprise Decision Management suite Genalytics Predictive Suite IBM DB2 Intelligent Miner Insightful Miner KXEN Analytic Framework Oracle Data Mining (adatbázisba integrált funkciók!) Quadstone System SAS Enterprise Miner (5.1! ELTE-n még a 4.1-es) SPSS Clementine SAP (adattárház integráció!) 14
Enterprise Miner vs. egyéb adatbányász eszközök 15
SAS Enterprise Miner 16
SAS SEMMA folyamat SAS adatbányászati eszközök csoportosítása a tudásfeltárás folyamatának megfelelıen. Sampling (mintavételezés) input data set, mintavételezés, particionálás Exploring (adatfeltárás) statisztikus és grafikus adatelemzı eszközök, klaszterezés, asszociációs szabály keresés, fontos változók kiemelése Modify (adatmódosítás) adatelıkészítés elemzéshez, változók kezelése, kiugró értékek és hiányzó értékek kezelése, változók szerepének módosítása Model (modellépítés) osztályozáshoz használható modellek: döntési fa, neurális háló, regresszió Assess (kiértékelés) modellek összehasonlítása, beszámolók készítése A gyakorlatokon a konkrét eszközök közül megnézzük a fontosabbakat a SAS Enterprise Miner segítségével 17
Input Data Source egy library sas dataset megfelelıje attribútumok szerepének kijelölése attribútumok alapstatisztikái (mint metaadatok) Mintavételezés 18
Mintavételezés Mintavétel a populációból: eredménye a (stat) minta A mintavétel módja is lényeges (legegyszerőbb eset: bármelyik elem ugyanakkora valószínőséggel kerül a mintába) A mintavétel eredménye: (statisztikai) minta: x 1,x 2,,x n (számsorozat) Ugyanakkor egy másik, hasonló mintavételnél más mintát kapnánk, azaz az adott minta véletlen kísérlet eredménye. Ha a minta véletlen jellegét vizsgáljuk: X 1,X 2,,X n valószínőségi változó-sorozat, az eloszlása nem ismert (vagy csak részben ismert). 19
Data partition node Seeds értéket a legtöbb véletlenszámot generáló algoritmus használ. Ha ezt megjegyezzük, és késıbb ugyanezzel az értékkel hajtatjuk végre az adathalmaz partícióját, akkor végeredményként ugyanazt kapjuk, mint korábban, feltéve persze, ha ugyanazokat a lépéseket hajtjuk végre. A rétegzett (stratified) mintavételezésnél az egyes értékek az eloszlásfüggvénynek megfelelı gyakorisággal kerülnek be a mintába. 20
Particionálás training set: modell építéséhez használt adathalmaz validation set: modell hangolásához, finomításához használt adathalmaz test set: modell kiértékeléséhez (mennyire illeszkedik az adathalmazra a modellünk, a test set-et mint új adathalmazt kezelve) Distribution Explorer vizualizációs eszköz, multidimenzionális hisztogramok, eloszlások vizsgálatához 21
Multiplot másik vizualizációs, grafikus adatelemzı eszköz automatikus bar chart / scatter plot generálás Insight SAS statisztikai elemzı alkalmazása nagy funkcionalitás több ablakos, egymással együttmőködı aktív elemekkel rendelkezı elemzı eszköz 22
Multiplot node 23
Hisztogram Adatainkat osztályokba soroljuk (mindegyiket pontosan egybe, pl. az i- edik osztály: a i x<a i+1 ), a csoportok relatív gyakoriságai megegyeznek az osztály fölé rajzolt téglalap területével. Összterület:1 (hasonló a sőrőségfüggvényhez) Frequency 150 200 0 50 100 Pontszámok grafikus ábrázolása 20 30 40 50 60 70 80 pontszám 24
Statisztikai elemzés Mintaátlag: x x1 : = +... + n x n ha az egyes értékek (l i ) gyakoriságai (f i ) adottak: x f1 l1+... + : = n f k l k Medián: a sorbarendezett minta középsı eleme (ha páros sok eleme van: a két középsı átlaga). 25
Tapasztalati kvantilisek Elméleti kvantilis: abszolút folytonos, szigorúan monoton F esetén qz=f-1(z) Általában: inf{x:f(x)>z} A tapasztalati eloszlás kvantilisei: tapasztalati kvantilisek. Esetleg lineáris interpolációval lehet pontosítani a becsléseinket. z=1/2: medián. z=1/4, 3/4: kvartilisek 26
Az egyes dobozok az alsó kvartilistól a felsı kvartilisig tartanak. Középvonal a medián. A vonalak a teljes terjedelmet felölelik, ha ez az egyes irányokban nem nagyobb a kvartilisek közötti különbség 1.5- szeresénél. Ha ezen kívül Gam2 T5 Norm Uni05 boxplot -4-2 0 2 4 6 is vannak pontok, azokat külön-külön jeleníti meg. 27
Association asszociációs szabály keresı algoritmus implementáció szekvencia elemzés szintén lehetséges, ehhez kell még egy sequence bemeneti változó Regresszió regressziószámítás és elırejelzés lineáris regresszió logisztikus regresszió 28
Klaszterezés Feladat: halmaz elemeinek diszjunkt csoportokba, klaszterekbe sorolása, melyekre igaz, hogy egy osztályba kerülı elempárok lényegesen hasonlóbbak egymáshoz, mint különbözı klaszterek elempárjai. ehhez: megfelelı hasonlósági függvény bevezetése, klaszterezés jóságának valamilyen mértéke MI megfelelıje: felügyelet nélküli tanulás particionáló klaszterezı algoritmusok: adott klaszterezés folyamatos finomításával haladunk elıre, amíg az eredmény elég jó nem lesz 29
Döntési fa szabályok leírása fa formában; belsı pontokhoz megfeleltetünk egy vágási feltételt, ami kettı vagy több osztályt határoz meg felépítéséhez eldönteni: milyen feltétel, milyen attribútum szerint vágjunk, mikor hagyjuk abba a felosztásokat prepruning: addig növesztjük a fát, amíg el nem érjük a kívánt pontosságot postpruning: felépítünk egy nagy fát, majd ezt visszavágjuk a megfelelı méretre döntési fa elınye: a felépített modell könnyen értelmezhetı 30
Mesterséges neuronhálózatok ld.: Futó Iván (szerk.): Mesterséges intelligencia (1999) pl. forrás: Gregorics Tibor http://people.inf.elte.hu/gt/mi/neuron/neuron.pdf többszintő perceptron modell universal approximator tulajdonság: tetszıleges folytonos, nem lineáris függvény approximációja (elégséges neuronszám esetén) hiányzó értékeket nem tudja kezelni 31
Modellek összehasonlítása Jelentése: az elemeket percentilisekbe sorolva - aszerint sorba rendezve ıket, hogy az elırejelzés mennyire pontos adott modellre - mekkora a helyes válaszok aránya? 32
Egyéb témák dimenzió-csökkentés (pl. klaszterezésnél fontos) Kiugró értékek szőrése, hiányzó értékek pótlása modell exportálása SAS illetve C kód formájában változó transzformációk EM eszközei profit mátrix modellek egyesítése (ensemble) 33
Adatbányászati alapproblémák A SAS gyakorlatokon az alábbi feladatok lesznek: 1. Klaszterezés 2. Asszociációs szabály keresés 3. Regresszió, elırejelzés 4. Osztályozás, döntési fa 34
Adatbányászat 1.téma: Klaszterezés 35
1. Klaszterezés Elıre nem ismert osztályok meghatározása Az azonos osztályba tartozó objektumok közel legyenek egymáshoz, a különbözı osztályokba tartozók távol Nem felügyelt tanulás 36
Eltérés elemzés Kiugró értékek keresése Legtöbbször kiszőrik mert zajnak tekintik Alkalmazási terület Vírus védelem Külsı támadások elleni védelem Csalások felderítése 37
1.Téma: Klaszterezés Feladat: halmaz elemeinek diszjunkt csoportokba, klaszterekbe sorolása, melyekre igaz, hogy egy osztályba kerülı elempárok lényegesen hasonlóbbak egymáshoz, mint különbözı klaszterek elempárjai. ehhez: megfelelı hasonlósági függvény bevezetése, klaszterezés jóságának valamilyen mértéke MI megfelelıje: felügyelet nélküli tanulás particionáló klaszterezı algoritmusok: adott klaszterezés folyamatos finomításával haladunk elıre, amíg az eredmény elég jó nem lesz 38
A k-átlag algoritmus Az elsı lépésben kiválasztunk k centroidot. Az összes pontot besoroljuk valamelyik csoportba aszerint, hogy melyik centroidhoz esik a legközelebb. Az ilymódon kialakult klasztereknek aztán változik a középpontja (az új középpont átlagszámítással könnyen megadható). A következı lépésben aztán ezek szerint az új centroidok szerint osszuk be klaszterekbe a pontokat. Az algoritmus mindaddig tart, amíg valami változik. Az eljárás a következı hibafüggvényt igyekszik minimalizálni: (p tetszıleges pont, m i centroid). k i= 1p C p m i i 2 39
K-means algoritmus 40
Adatbányászat 2.téma: Asszociációs szabályok keresése 41
Asszociációs szabály keresés forrás: Lukács András (http://www.sztaki.hu/~alukacs/) 42
Asszociációs szabályok Vásárlói kosarak elemzése Az X terméket vásárlók 80%-a Y terméket is vásárolt 43
Asszociációs szabály keresés 44
Asszociációs szabályok Egy asszociációs általános formája: {X 1,, X n } Y. Jelentése: ha egy (fogyasztói) kosárban elıfordulnak az X 1,, X n elemek, akkor nagy valószínőséggel az Y is elıfordul. Hogy pontosan mekkora valószínőséggel: ezt adja meg a szabály konfidenciája (confidence). Nyilván nem minden szabály egyforma jelentıségő: pl. lehet, hogy a {tej, vaj} kenyér szabály csupán amiatt teljesül, mert az emberek általában is nagy valószínőséggel vásárolnak kenyeret. A nagy valószínőség azonban nem elég. Az is fontos, hogy az X 1,, X n, Y elemek viszonylag sokszor forduljanak elı egy kosárban. A támogatottság (vagy szupport (support)), mint mérıszámok pontosan ezt hivatottak elısegíteni. 45
Adatbányászat 3.téma: Regresszió 46
3.téma: Regresszió Lineáris model Y i =ax i +b+ε i (X i a magyarázó változó értéke, ε i független, azonos eloszlású hiba. E(ε i )=0, általában feltesszük, hogy normális eloszlású. a,b a becsülendı együtthatók) E(Y-(aX+b)) 2 min Megoldás: a n ( xi x)( yi y) 1, bˆ = y i= ˆ = n 2 i= 1 ( x i x) ax ˆ 47
Lineáris regresszió Több magyarázó változót is bevonhatunk a modellbe: Y =βx +ε ahol Y,ε n hosszú vektorok, X nxk-as mátrix (ismert értékekbıl), β pedig k hosszú (ismeretlen) paramétervektor. E(Y) =βx. A legkisebb négyzetek módszere A megoldás: n i= 1 ε 2 i β' = ' = ( Y βx')( Y βx') ˆ 1 ( X' X) X' Y' 48
A becslés tulajdonságai Torzítatlan Kovarianciamátrix: E( ˆ β β ' )( ˆ β β) = 2 σ ( X' X) 1 Ha ε normális eloszlású, akkor a legkisebb négyzetes becslés egyúttal ML becslés is. Példák: lineáris regresszió, szórásanalízis. 49
Hipotézisvizsgálat a lineáris modellben A vizsgált hipotézis: H0 : βh' = ahol H rxk-as mátrix (r<k), rang(h)=r. A valószínőséghányados próba statisztika: ' ' ( Y ˆ βx')( Y ˆ βx') ( Y ˆ βx')( Y ˆ βx') F = ˆ ˆ ' ( Y βx')( Y βx') (n-k)/r F a H 0 esetén F eloszlású (r,n-k) szabadsági fokkal. (Akkor utasítjuk el H 0 t, ha F nagy.) 0 50
R2=0.56 R2=0.73 cipõméret 38 40 42 44 46 cipõméret 38 40 42 44 46 165 170 175 180 185 190 magasság R2=0.83 165 170 175 180 185 190 magasság R2=0.92 A regresszió vizsgálata cipõméret 38 40 42 44 46 cipõméret 38 40 42 44 46 165 170 175 180 185 190 magasság 165 170 175 180 185 190 magasság 51
R2=0.03 165 170 175 180 185 190 magasság R2=0.33 140 150 160 170 180 190 magasság 100 120 140 160 180 200 220 240 magasság 52 cipõméret 32 34 36 38 40 42 44 46 cipõméret 35 40 45 50 55 60 R2=0.80 100 120 140 160 180 magasság R2=0.87 cipõméret 30 40 50 60 70 80 90 cipõméret 20 40 60 80
Regresszió Elırefelé történı választás: elsı lépésben azt a változót választja, amely a legjobban közelíti a célváltozót, ezután kiválasztja azt a két változót, amelyek lineáris kombinációja a legjobb, itt az egyik változó az elızı lépésben kiválasztott változó, a folyamat addig tart, míg egyetlen változónak sem lesz kisebb a p-értéke az elıre megadottnál. 53
Regresszió Hátrafelé történı választás: elsı lépésben az összes változó szerepel a modellben, ezek után elhagyja a legkevésbé szignifikáns változót, az eljárás leáll, ha az összes megmaradt változó p-értéke alacsonyabb a megadott küszöbnél. 54
Regresszió Lépésenkénti választás (az elırefelé történı választás egy módosítottja): mikor minden arra alkalmas változó bekerült a modellbe, az eljárás kiszőri azokat a változókat, amelyek nem szignifikánsak, az algoritmus leáll, ha nincs olyan változó a modellen kívül, melynek p-értéke egy megadott érték alatt van, a modellben pedig minden változó szignifikáns. 55
Logisztikus regresszió Az interval típusú célváltozóknál a rendszer lineáris regressziót használ. A bemeneti változók adott értékei mellett a célváltozó átlagát becsli. Diszkrét célváltozó esetén logisztikus regresszió alkalmazható. Ekkor a célváltozó egy-egy értékének valószínőségét becsli a rendszer. A módszer mögött az a feltételezés áll, miszerint a célváltozó logisztikus transzformációja lineáris kapcsolatot teremt a célváltozó és a bemeneti változók között. Megjegyzés: regresszió esetén a hiányzó értékeket pótolni kell, ellenkezı esetben a módszer automatikusan figyelmen kívül hagyja azokat a változókat, amelyeknél hiányzó értékek szerepelnek. 56
Adatbányászat 4.téma: Döntési fa 57
4. Osztályozás Elıre meghatározott osztályokba sorolás Felügyelt tanulás Minta alapján tanítás, szabályok generálása az osztályozáshoz Módszerek: Regresszió Döntési fa Neurális háló 58
Osztályozás folyamata Ismert adatok Új adatok tanítási halmaz teszt halmaz Tanuló rendszer modell Elırejelzés 59
Osztályozás, elırejelzés megfigyelések input célváltozó Osztályozás: Határozzunk meg egy olyan megfeleltetést, amely az ismert attribútum értékekhez hozzárendeli egy véges elemszámú halmaz egy elemét (tehát osztályoz). Elırejelzés (predikció): Hasonló, mint az osztályozás, viszont itt a célváltozó folytonos (intervallum skálán értelmezett).
Osztályozás példák banki hitelelbírálás: szabad-e hitelt adnunk egy adott paraméterekkel jellemezhetı ügyfélnek (fizetés, lakhely, családi állapot, életkor stb.) direkt marketing: kit érdemes megcélozni drágább, direkt marketing: kit érdemes megcélozni drágább, személyre szóló reklámmal
Döntési fák Készítsünk elemzést döntési fa segítségével is! (A döntési fák esetében nem feltétlenül jelentenek gondot a hiányzó értékek.) Hasonlítsuk össze a két modellt! 62
Modellépítés, partícionálás Adathalmaz partícionálás: training set: modell építéséhez használt adathalmaz validation set: modell hangolásához, finomításához használt adathalmaz test set: modell kiértékeléséhez (mennyire illeszkedik az adathalmazra a modellünk, a test set-et mint új adathalmazt kezelve)
Döntési fa példa hitelbírálatra (forrás: http://www.cs.bme.hu/~bodon/magyar/adatbanyaszat/tanulmany/adatbanyaszat.pdf)
Döntési fák szabályok leírása fa formában; belsı pontokhoz megfeleltetünk egy vágási feltételt, ami kettı vagy több osztályt határoz meg felépítéséhez eldönteni: milyen feltétel, milyen attribútum szerint vágjunk, mikor hagyjuk abba a felosztásokat prepruning: addig növesztjük a fát, amíg el nem érjük a kívánt pontosságot postpruning: felépítünk egy nagy fát, majd ezt visszavágjuk a megfelelı méretre döntési fa elınye: a felépített modell könnyen értelmezhetı
Vágási feltételek Bináris és nominális változóknál alapesetben a χ 2 -próbát, mint vágási kritériumot keresı módszert, használó döntési fa algoritmus kerül végrehajtásra, de használható az entrópiát, illetve a Gini-indexet használó döntési fa algoritmus is. Ordinális változó esetén csak az utóbbi kettı módszer választható. Intervallum változók esetén pedig egy F-próbát használó eljárás, illetve egy varianciát minimalizáló eljárás között választhatunk. 66