Előszó

Tartalom

A tananyag használatáról

Az adatbányászat (data mining) az információ technológia egy interdiszciplináris területe, az ún. KDD folyamat (Knowledge Discovery from Databases - Tudásfeltárás adatbázisokból) egyik legfontosabb eleme. Olyan számításigényes algoritmusok, módszerek alkotják, amelyek képesek viszonylag nagy méretű adatállományokból olyan mintázatokat feltárni, amelyek hasznos, további felhasználás szempontjából jól interpretálható információt reprezentálnak. Az alkalmazott algoritmusok több tudományterület, nevezetesen a mesterséges intelligencia, a gépi tanulás, a statisztika és az adatbázisrendszerek, eredményeit ötvözik és ezen területek kölcsönhatásában fejlődnek napjainkban is. A pusztán adatelemzésre koncentrálással szemben, lásd például a statisztikát, az adatbányászat számos további elemet is tartalmaz beleértve az adatmenedzsmentet és az adatelőfeldolgozást továbbá az olyan utófeldolgozási kérdéseket mint az érdekességi metrikák vagy a feltárt tudás megfelelő vizualizációja.

Az adatbányászat mint szó használata rendkívül divatossá vált és sokan tévesen használják mindenféle nagytömegű adatot érintő információfeldolgozásra (pl. egyszerű információ-kinyerésre vagy adattárház-építésre), de megjelenik a döntéstámogatási rendszerek körében is. Valójában az adatbányászat legfontosabb jellemzője a feltárás vagy felfedezés, azaz valami új, korábban nem ismert és a felhasználó számára hasznos információnak az előállítása. Az adatbányászat kifejezés már felmerült a 60-as években, amikor a statisztikusok negatív szövegkörnyezetben arra használták, amikor valaki mindenféle előfeltevés nélkül elemzi az adatokat. Az informatikában a 90-es években jelent meg először az adatbázisokkal foglalkozó közösségben, az adatbázisokból való szofisztikált információ feltárás leírására. Bár az üzleti életben leginkább az adatbányászat kifejezés terjedt el, több szinonímája is létezik, pl. tudásfeltárás (knowledge discovery). Fontos különbséget tenni a napjainkban egyre nagyobb kihívást támasztó Big Data problémáktól is. Ezeknek a problémáknak a megoldása általában nem igényli új elméleti modellek, módszerek kifejlesztését, a probléma inkább az, hogy az adatbányászati szoftverekben oly jól működő algoritmusok reménytelenül lelassulnak, amikor egy ésszerű méretű minta helyett egy valóban nagyméretű adattömeg egészét akarjuk feldolgozni. Ez nyilvánvalóan speciális hozzáállást és informatikai infrastrukturát igényel, amely kívül esik jelen tananyag területén.

Az adatbányászati tevékenység automatikus vagy félig automatikus módon beépül az azt alkalmazó szervezet informatikai infrastruktúrájába. Ez azt jelenti, hogy az adatbányászati eszközökkel viszonylag korlátozott emberi beavatkozás mellett tudunk egyre újabb információkat biztosítani az azt felhasználók számára a folytonosan változó adatforrásokból, tipikusan adattárházakból. Azért van erre szükség mert az üzleti környezet is állandóan változik, amelyet követ a környezetből származó adatokat összegyűjtő adattárház változása. Emiatt a korábban illesztett adatbányászati modellek érvényüket veszíthetik, új modellek építése válhat szükségessé a megváltozott adatok alapján. Az adatbányász szoftverek egyre inkább támogatják ezt a szemléletet azzal, hogy nagyon heterogén környezetben is képesek működni. Az információ szolgáltatás és az azt támogató analítika együttműködése napjainkban már lehetővé teszi valós idejű analítikára támaszkodó online módon működő rendszerek kifejlesztését is, lásd például a webes ajánlói rendszereket.

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:

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.

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.

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.

Ennek az elektronikus tananyagnak a célja bevezetést nyújtani az adatbányászati alkalmazásokba úgy, hogy a gyakorlatban mutatja be ezeket adatbányászati szoftverek használata útján.

Fontos

A tananyag nem pótol vagy helyettesít egy bevezető adatbányászati tankönyvet – így például nem tartalmazza a felhasznált módszerek részletes elméleti ismertetését –, hanem inkább egy ilyen tankönyv kiegészítéséül szolgál.

Adatbányászatot igénylő problémákkal az élet számos területén találkozhatunk. Ezekből sorolunk fel néhányat az alábbiakban, a tananyagban felhasznált adatállományok is ezekről a területekről kerültek ki.

A tananyag használatáról

A tananyagban bemutatott RapidMiner és SAS® Enterprise Miner™ folyamatokat a resources/workflows.zip állomány tartalmazza.

Fontos

A kísérletekben használt adatállományokat a felhasználónak kell letöltenie a szövegben megadott helyről. Egy folyamat importálását követően az adatállomány elérési útvonalakat úgy kell átállítani, hogy azok a lokális másolatokra mutassanak (abszolút elérési útvonalakat kötelező használni).