Tudás feltárás
Fayyad és szerzőtársai klasszikus cikkükben [Fayyad et al., 1996.] leírják az adatbázisokban rejlő tudás felfedezésének (Knowledge Discovery in Databases, KDD) folyamatát. A KDD folyamat interaktív és iteratív, több lépésből épül fel:
Az első lépés az adott alkalmazási terület megértése és a felfedezési folyamat céljához szükséges előzetes tudás megszerzése. Ehhez meg kell ismerni az ügyfél szempontrendszerét is.
A második a cél adathalmaz létrehozása: a rendelkezésre álló adatokból ki kell választani azokat az adathalmazokat, illetve azokat a változókat vagy mintákat, amin aztán elvégzik a tudásfeltárás folyamatát.
A harmadik lépés az adatok tisztítása és előzetes feldolgozása. Az alapvető műveletek közé tartozik a zaj eltávolítása, döntés a hiányzó adatok kezeléséről, az időbeli változások felmérése.
A negyedik lépés az adatok redukciója és projekciója: ki kell választani az adathalmazt jól reprezentáló jellemzőket a feladat céljától függően. A dimenzionalitás csökkentésével vagy különböző transzformációs módszerekkel, a vizsgált változók száma csökkenthető, ami elősegíti az elemzést.
Az ötödik lépés a tudásfeltárási folyamat első pontban meghatározott célját segítő adatbányászati módszerek kiválasztása. Például az adathalmaz vizsgálata statisztikai módszerekkel, illetve klasszifikáció, regresszió, klaszteranalízis, stb.
A hatodik lépés az adatok feltáró elemzése, a modellek és hipotézisek kiválasztása. Ide tartozik a megfelelő adatbányász módszerek és algoritmusok kiválasztása, amelyek segítségével feltárhatók az adatokban rejtőző minták. Ide tartozik a modellekről és paramétereikről történő döntés: másképp kell kezelni egy kategorikus adatokra vonatkozó modellt, mint egy valós változók vektoraira vonatkozó modellt. Figyelembe kell venni az ügyfél szempontjait, aki számára például fontosabb lehet, hogy értse a modell működését, mint a modell előrejelző képessége.
A hetedik lépés az adatbányászat: érdekes minták keresése az adatokban klasszifikációs szabályokkal, döntési fákkal, regresszióval, klaszteranalízissel. Ez az előző lépések gondos elvégzése nagyban elősegíti ennek a lépésnek az eredményességét.
A nyolcadik lépés a feltárt minták értelmezése, vagy az előző lépések iteratív megismétlése. Ide tartozhat a feltárt minták, modellek, illetve az adatok megfelelő vizualizációja is.
A kilencedik lépés a feltárt tudásnak megfelelő cselekvés a tudás direkt felhasználása révén vagy a kinyert információ bevitele egy másik rendszerbe, akár egyszerű dokumentációja és kommunikációja a megfelelő felek irányába. Ezen a ponton kell megvizsgálni a feltárt tudáselemek és a már meglévő (vélt vagy feltárt) tudáselemek közötti konfliktusokat.
A gépi tanulás (machine learning) olyan algoritmusokkal foglalkozik, amelyek a tapasztalati adatok révén automatikusan fejlődnek, így képesek egyre jobban közelíteni egy célhoz. Ezek az algoritmusok meghaladják a statikus programozási utasításokat, képesek az adatokból tanulni és előrejelzéseket tenni, képesek adatvezérelt döntéseket és előrejelzéseket hozni.
A deep learning módszerek a machine learning egyik fontos fejlődési területét jelentik: több rejtett réteggel bíró neurális hálókról van szó, amelyek jól modellezik azt a módot, ahogy az emberi agy feldolgozza a fényt és a hangot a látás és a hallás során. Ezekkel a módszerekkel valóban jelentős sikereket értek el például a képfeldolgozásban.
A deep learning regresszióra vagy klasszifikációra jól használható tanuló rendszer, amely több rejtett réteget magába foglaló neurális hálón alapul. Egy deep neurális háló olyan neurális háló, ahol a bemeneti és a kimeneti réteg között több rejtett réteg helyezkedik el. Az extra rétegek a megelőző rétegek által kinyert adatjellemzőket kapják bemenetként, és az így létrejövő hierarchikus feldolgozás nagyon hatékonynak bizonyult számos probléma megoldásában.
Adatbányászat elvei
Az adatbányászat az ún. adatbányászati folyamat köré szerveződik, amelyet a legtöbb adatbányász szoftver is követ.
Ez egy több, általában 5 lépcsős folyamat, ahol a lépcsők az alábbiak:
• Mintavétel, adatszelekció;
• Feltárás, előfeldolgozás;
• Módosítás, transzformáció;
• Modellezés;
• Interpretáció, kiértékelés.
Az adatbányász szoftverek ezen lépcsőkhöz biztosítanak eszközöket, amelyekkel bizonyos funkciókat tudunk elvégezni, pl. egy külső fájl beolvasása, kiugró rekordok szűrése vagy egy neurális hálós modell illesztése.
Ezeknek az operátoroknak egy grafikus felületen ún. csomópontok (node) felelnek meg, amelyeket az adatbányászati folyamatot reprezentálva diagramba tudunk szervezni. Erre a folyamatra példa a SAS Institute Inc.® információ technológiai szoftvereket gyártó cég SEMMA metodológiája illetve az attól valamivel elterjedtebb Cross Industry Standard Process for Data Mining (CRISP-DM) metodológia, amelyet többféle iparág szereplőjének (pénzügy, autó, informatika stb.) együttműködésével alakítottak ki.
Részletesebben kifejtve:
A mintavétel során a céladatbázist alakítjuk ki az adatbányászati folyamat számára. Az adatok forrása a legtöbb esetben egy vállalati (szervezeti) adattárház vagy annak egy téma-orientált része egy ún. adatpiac. Ezért az innen kapott adatok általában már keresztül mentek egy előfeldolgozási fázison, amikor az operatív rendszerekből az adattárházba kerültek, és így megbízhatónak tekinthetőek.
Ha mégse így lenne, akkor a használt adatbányászati szoftver biztosít eszközöket az adattisztításra, amely ekkor már a folyamat második lépcsőfokának része. A mintavétel általában egy megfelelő statisztikai módszer használatával történik, pl. egyszerű véletlen vagy rétegzett mintavételezési módszerrel. Szintén ebben a lépcsőfokban végezzük el az adatállomány particionálását tanító (train), ellenőrző (validation) és tesztelő (test) részre.
A tanító adatállományon illesztjük az adatbányászati modellt, becsüljük annak paramétereit. Az ellenőrző adatállományt arra használjuk, hogy a modell(ek) illesztése során a tanító állománytól független mintára tudjunk támaszkodni a tanító-algoritmus konvergenciájának megállapításánál vagy a különböző modellek összehasonlításánál.
Végül, a tesztelő adatállományon tudjuk megmérni a modell általánosító képességét, azaz várhatóan hogyan fog majd viselkedni új rekordok esetén.
A feltárás az adatokkal való lehetőleg prekoncepció mentes ismerkedést jelenti. A célja, hogy hipotéziseket alakítsunk ki az alkalmazandó módszerekkel kapcsolatban. Fő eszközei a leíró statisztikák és a grafikus megjelenítés.
Egy adatbányász szoftver számos, a standard statisztikai szoftverekéit jelentősen meghaladó eszközzel bír a minél látványosabb grafikus megjelenítésre. A feltárás további célja lehet az esetleg meglévő hiba (zaj) azonosítása illetve a hiányzó adatok megtalálása.
A módosítás célja az adatok előkészítése az adatbányászati modell illesztésére. Ennek több oka is lehet. Az egyik az, hogy több módszer közvetlenül igényli az adatok módosítását, pl. neurális hálóknál az attribútumokat standardizálni kell a háló tanítása előtt. A másik az, hogy ha nem is igényli az illető módszer az adatok módosítását, azonban megfelelő módosítás után már egy jobban illeszkedő modellt kapunk.
Erre példa a regresszió előtti normalizálása (normális eloszláshoz való közelítése) az adatoknak alkalmas függvénytranszformációval. A módosítást több szinten is elvégezhetjük: az attribútumok szintjén egész attribútumokat transzformálva, a rekordok szintjén, pl. egyes rekordokat standardizálva, vagy a mezők szintjén egyes adatokat módosítva. A módosításhoz tartozik még a zaj kiszűrése és a hiányzó adatok pótlása, az ún. imputáció is.
A modellezés az adatbányászati folyamat legösszetettebb és legnagyobb tudást igénylő lépése. Lényegében itt oldjuk meg, a megfelelő előkészítés után, az adatbányászati feladatot.
A jellegzetes adatbányászati feladatokat két nagy csoportra bonthatjuk.
- Az első csoport az ún. felügyelt adatbányászat vagy felügyelt tanítás (supervised learning). Ebben az esetben egy speciális szereppel ellátott attribútum van az adatállományban az ún. célváltozó (target), amelyet ki is kell jelölni a használt adatbányászati szoftverben. A feladatunk ekkor az, hogy ezt a célváltozót írjuk le minél jobban a többi változó segítségével.
- A második csoport az ún. nem-felügyelt adatbányászat vagy nem-felügyelt tanítás (unsupervised learning). Ebben az esetben nincs kitüntetett attribútum az elemzendő adatállományban, ahol rejtett mintázatokat szeretnénk feltárni.
Az adatbányászaton belül 6 feladattípus fogalmazható meg, amiből
az osztályozás (classification) és a regresszió (regression) felügyelt adatbányászat,
míg a szegmentáció (segmentation), asszociáció (association), szekvenciális elemzés (sequential analysis) és rendellenesség keresés (anomaly detection) pedig nem-felügyelt adatbányászat.
• Osztályozás: ismert osztályok (csoportok) modellezése általánosítás céljából, hogy a kialakított modellt majd új rekordokra tudjuk alkalmazni. Példa: emailek szűrése kéretlen (spam) és hasznos osztályokra való bontással.
• Regresszió: olyan modell építése, amely egy folytonos célváltozót közelít az input attribútumok függvényével úgy, hogy a hiba a lehető legkisebb legyen. Példa: ügyfélérték becslés meglévő demográfiai és histórikus adatok alapján.
• Szegmentáció, klaszterezés: valamilyen értelemben hasonló csoportok keresése az adatokban anélkül, hogy az esetleg létező ismert struktúrát figyelembe vennénk. Jellemző példája az ügyfélszegmentáció, amikor hasonlóan viselkedő ügyfelek csoportját keresi pl. egy bank vagy biztosító.
• Asszociáció, társítás: attribútumok közötti kapcsolatok, összefüggések keresése. Jellemző példája a vásárlói kosár elemzés, amikor azt vizsgáljuk, hogy a vásárlók milyen árucikkeket vesznek együtt az áruházakban.
• Rendellenesség keresés: olyan rekordok azonosítása, amelyek érdekesek lehetnek vagy a nagy hiba miatt további vizsgálatot igényelnek. Példa extrémen viselkedő ügyfelek, felhasználók keresése.
• Szekvenciális elemzés: attribútumok közötti időbeli, térbeli kapcsolatok, összefüggések keresése. Például milyen sorrendben veszik igénybe az ügyfelek az egyes szolgáltatásokat vagy génszekvenciák vizsgálata.
Az eredmények kiértékelése a folyamat utolsó lépése, melynek célja az, hogy valóban releváns és hasznos tudáshoz jutottunk-e az adatbányászati folyamat által.
Gyakran előfordul ugyanis, hogy az adatbányászat helytelen használatával olyan modellt állítanak elő, amelynek általánosító képessége gyenge és a modell már nagyon rosszul működik az új adatokon. Ez az ún. túlillesztés jelensége.
Ezt elkerülni a tanító, ellenőrző és tesztelő adatállományok megfelelő használatával tudjuk. Ebben a lépésben tudjuk továbbá összehasonlítani az illesztett modelljeinket is ha több ilyen van.
Az összehasonlításnál különféle mutatószámokat (téves osztályozási arány, átlagos négyzetes hiba) illetve grafikus eszközöket (lift görbe, ROC görbe) használhatunk.
Knime rendszer node tipusai:
Minden folyamat speciális csomópontokból és ezen csomópontok közötti kapcsolatokból áll.
Minden folyamatnak vannak kezdő és vég csomópontjai.
A kezdő csomópontok általában adatokat olvasnak be, míg a folyamat végén levő csomópontok adatokat írnak vagy jelenítenek meg.
A köztes csomópontok transzformálásra, adattisztításra, … használhatóak.
Az adatok a csomópontok közötti kapcsolatokon keresztül kerülnek átadásra.
Minden csomópontnak meghatározott típusa és ezáltal meghatározott szerepe van a szerepek egymáshoz kapcsolódásával komplex rendszer kialakítására van lehetőség.
Be és kimenetek száma:
- A nodok baloldali csatlakozási pontja a bemenet, a jobb oldali csatlakozási pont a kimenet.
- Van olyan node amelynek nincs bemenete vagy kimenete, ill. több bemenete vagy kimenete is lehet a funkciójától függően.
Speciális bemenet vagy kimenet a felső csúcsokon elhelyezkedő kis piros pöttyök a melyek a flow/ folyamati változók átadására ill. átvételére szolgálnak. Külön helyi menüponttal lehet őket ki/be kapcsolni.
Nodokon levő kapcsolati pontok jelentése
Adat port: üres nyílhegy adatok átvitelére szolgál a nodok között
Adatbázis pont: barna négyszög adatbázisban képes műveletet végrehajtani
Adatelemzési pont : Jósláshoz szükséges tanuló nodok és döntési nodok összeköttetésére szolgál
Nodok színe utal az általunk végzett művelet típusra:
Narancs : adat beolvasás
Piros : kiírása az adatoknak
Sárga : földolgozás, módosítás
Világos barna Egyéb szolgáltatás
Kék : megjelenítés, diagramok
Zöld : Elemezési műveletek (Világos zöld: tanító Sötétzöld: döntési múvelet)
Barna : Korrelációk
Szürke: Egyéb elemzések
Világos kék: Hurkok létrehozása
:
Az ilyen építkezéssel kialakított komplex rendszerrel kiiktatható az erőforrás pazarló script
és utility programok írására, az adatok transzformálására majd adott esetben adatbázisba töltésére fordítandó idő töredékére csökken.
A folyamatokba vezérlési szerkezet, függőség csomópontok is elhelyezhetőek melyek révén akár bonyolultabb logikával is felvértezhetőek a workflow-k.
A KNIME tehát egy olyan ingyenesen elérhető eszköz, mely az ETL folyamatokat gyorsan és költséghatékonyan támogatja.
Segítségével eliminálható a programozás, csökkenthetőek a karbantartási költségek és a folyamat vizuális megjelenítése azon túl, hogy átláthatóvá teszi az összefüggéseket, segít a folyamatok dokumentálásában is.
KNIME lehetőségek:
Megjegyzések
Megjegyzés küldése