Ugrás a fő tartalomra

Adatbányászat alapja, fogalmak




Az adatbányászat fő feladatai

Feltehetjük, hogy az adatbázis valamilyen objektumok (ügyfelek, betegségek, vásárlók, telekommunikációs események stb.) különböző tulajdonságait írja le. A tulajdonság helyett gyakran használjuk majd az attribútum szót. Az adatbányászat feladata a rejtett összefüggések, kapcsolatok felderítése.



Az összefüggések típusa szerint a következő adatbányászati alapproblémákról beszélhetünk:


1. Osztályozás (classification). Ennek a módszernek a lényege, hogy a bemeneti adatokat az általunk definiált osztályokba sorolja, azaz egy kitüntetett attribútum értékét kell megjósolnunk a többi attribútum értéke alapján. Az osztályok az adatbázis attribútumai által határozhatók meg. Ezt egy modell felépítésével tehetjük meg, amelyhez felhasználjuk a tanuló-adathalmazt, amelyben minden sor - más néven megfigyelés vagy mintaelem - már osztályba van sorolva. A modell gyakran egy döntési fa, de lehet if-then szabályok sorozata, valamilyen matematikai formula, vagy akár egy neurális hálózat stb. is. Ennek segítségével előállíthatók azok az osztályozási szabályok, amelyek alapján az osztályozandó adatokat a megfelelő osztályokba lehet sorolni. Például egy bank ügyfeleit hitelképes és nem hitelképes osztályokba sorolhatjuk.






2. Előrejelzés (forecast). Ez a technika akkor alkalmazható, ha nem (véges számú) osztályba szeretnénk sorolni az adathalmazunkat, hanem egy folytonos értékhalmazból akarunk értékeket rendelni hozzá. Az osztályozás diszkrét kimenetet szolgáltat, míg az előrejelzés középpontjában folytonos értékek állnak. A folytonos értékek előrejelzése regressziós statisztikai technikákkal modellezhető. Az előrejelzési problémák a magyarázó változók tulajdonságai szerint két típusba sorolhatók. Egyszerűbb feladat, ha független megfigyelések alapján kell egy folytonos érték jövőbeli nagyságát előrejelezni. Ilyen például a jövedelem megbecsülése személyi adatok alapján. Sokkal nehezebb a statisztikai modellezés ún. idősorok előrejelzése esetén, ahol a megfigyelések időben egymás után - és így egymással összefüggő rendszerben - következnek, így például a jövőbeli tőzsdei árfolyamokra vonatkozó modell építése az előző hat hónap adatai alapján.






3. Klaszterezés (clustering). Objektumokat előre nem definiált csoportokba (klaszterekbe) kell sorolnunk úgy, hogy az egy csoportba tartozó objektumok minél hasonlóbbak legyenek, míg a különböző csoportba kerülők a lehető leginkább különbözzenek egymástól. Két pont hasonlóságát egy előre megadott (távolságszerű) függvény segítségével szokás értelmezni, mely az elemeket jellemző attribútumok értékei alapján számolható (több különböző távolságfogalom is használatos, így például az eukleidészi, a maximum- vagy a Manhattan-távolság). Nagyon sok területen használatos, mint például weboldalak csoportosítása, betegségek klaszterezése tüneteik szerint.






4. Anomáliák, rendellenességek feltárása (anomaly detection). Az adatbázisokban előfordulnak olyan adatok, amelyek nem felelnek meg az adatbázis általános jellemzőinek, tulajdonságaik nagymértékben eltérnek az általánostól. Ezeket a legtöbb adatbányászati modell zajnak vagy szélsőséges értékeknek tekinti, és nem foglalkozik velük. Ugyanakkor az élet egyre több területén merül fel az igény, hogy felderítsük az ilyen szélsőséges értékeket. Ilyen módszert alkalmaznak például bankkártyák illetéktelen használatának felderítésekor. További alkalmazási területe a másolás-, koppintáskeresés, továbbá a csalások, visszaélések, vírusok, hackertámadások kiszűrése.






5. Attribútumok közötti kapcsolatok (association). Az attribútumok közötti összefüggéseket keressük, többféle összefüggés létezik: például az asszociációs, korrelációs szabályok, a funkcionális függőségek és hasonlóságok. A kialakított kapcsolatrendszert szükség esetén osztályozásra is lehet használni. Ezek a módszerek az adatbázisban tárolt rekordok közötti összefüggéseket tárják fel. Tipikus asszociációs feladat a bevásárlói kosarak elemzése, vagyis annak a vizsgálata, hogy milyen termékeket vásárolnak gyakran együtt az emberek. Ezen szabályok ismeretében például hatékonyabban tudják az együtt keresett termékeket árusítani, ha például együtt olcsóbban adják.






6. Gyakori minták kinyerése (pattern recognition): adott objektumok egy sorozata. Célunk megtalálni a gyakran előforduló (rész-) objektumokat. Az objektumok lehetnek elemhalmazok vagy sorozatok, esetleg epizódok (részben rendezések), gráfok stb.






7. Sorozatelemzés. A sorozatelemzésbe többféle adatbányászati feladat tartozik. Kereshetünk egymáshoz hasonlító (akár rész-) sorozatokat. Ezen kívül elemezhetjük a sorozat alakulását, és különböző regressziós módszerekkel próbálhatjuk megjósolni a jövőbeli valószínűleg előforduló eseményeket.





Az adatbányászathoz szükséges feltételek


Tagadhatatlan, hogy a sikertelen adatbányászati projektek száma nagy, és az adatbányászat nagyon sok esetben nem váltotta be a hozzá fűzött reményeket. Ennek oka egyrészről az adatbányászati szakemberhiány (a jó adatbányászati szakember ritka, mint a fehér holló), másrészről az, hogy alapvető feltételek nem teljesültek a projektek során. A sikeres adatbányászati projekt egyik legfontosabb feltétele az adatbányász és a terület szakértőjének szoros együttműködése.






A további feltételek az alábbiak:


1. Nagy mennyiségű adat. A nagy mennyiségű adat a kinyert szabályok statisztikai megbízhatóságát növeli. Minél nagyobb az adatmennyiség, annál biztosabban tudjuk kizárni bizonyos összefüggések véletlenszerűségét, azaz annál kisebb az esélye, hogy a talált összefüggés csak a véletlen eredménye. Sajnos sok adatot sokáig tart feldolgozni, sőt az algoritmusok egy jelentős része érzékeny arra, hogy az adatbázis elfér-e a memóriában.






2. Sok attribútum. Ha az objektumokat leíró attribútumok száma kicsi, akkor hagyományos eszközökkel (grafikonok, egyszerű táblázatok, kisdimenziós, forgatható, színes ábrák stb.) is fel tudjuk tárni a rejtett információkat. Kevés attribútum esetén a kinyerhető tudás sem lehet túl sokféle. Az adatbányászat ereje akkor mutatkozik meg, amikor az attribútumok száma olyan nagy, hogy a hagyományos módszereknek nincs esélyük.






3. Tiszta adat. Az adatok jó minősége az adatbányászat egyik alapfeltétele. A zajok, a hibás bejegyzések jó esetben csak nehezítik az adatbányászatot (pl. amikor ismerjük az adatokban található zaj, illetve bizonytalanság fokát), rosszabb esetben azonban hamis eredményekhez vezetnek. Az ilyen rossz minőségű adatokra remek példa hazánk orvosi adatbázisa (rengeteg hibás bejegyzés, kitöltetlen mező, eltérő mértékegység alapú bejegyzések, szöveges bejegyzések), pedig az ezekből kinyert információk értékesek lennének. A „szeméthalmazban” való kutakodást tréfásan GIGO-nak (garbage in, garbage out) nevezik.






4. Torzítatlan adat. Az adatbányászat sikeressége múlhat az adatok megfelelő kiválasztásán. Idetartozó fogalom az ún. BIBO (bias in, bias out), amely arra hívja fel a figyelmünket, hogy ha egy részsokaság alapján akarunk következtetni az alapsokaságra, akkor figyelembe kell vennünk a részsokaság kiválasztásának szempontjait, illetve az abból adódó (esetleges) torzításokat. Például ha a lakosságot az anyagi helyzet szerint akarjuk csoportokba sorolni, de csak nyugat-magyarországi adatok állnak rendelkezésünkre, akkor tudnunk kell, hogy a kapott eredmény (a csoportok leírása) torz lesz, hiszen a részsokaság átlagos életszínvonala jobb az alapsokaságénál.






5. Alkalmazási terület akcióképessége. Gyakran előfordul, hogy a tudást csak kinyerik, de a felhasználása elmarad. Gyakran a felhasználási területek túl merevek, vagy a változtatás túlságosan magas költségekkel járna. A legtöbb adatbányászati esettanulmányban a tudás kinyerésének módjáról esik szó, a tudás felhasználásáról pedig ritkán hallunk.






6. A befektetés megtérülésének (Return Of Investment) mérhetősége. Egy adatbányászati projektről akkor állíthatjuk biztosan, hogy sikeres, ha a befektetés hatását mérni vagy viszonylag pontosan becsülni tudjuk.




Adatbányászati rendszerek tulajdonságai


Az előzőekben felsoroltunk néhány adatbányászati szoftvert. A felsoroltakon kívül léteznek még további szoftverek, amelyek bizonyos tekintetben akár jobbak is lehetnek a fentieknél. Ekkora választékban hogyan tudjuk megtalálni a nekünk megfelelő szoftvert, mik azok a tulajdonságok, amelyeket mindenképpen meg kell vizsgálunk egy ilyen beruházás előtt?






Adatbányászati funkciók. Egy cég azért vásárol adatbányászati szoftvert, mert összefüggést akar kinyerni az adataiból. Már a szoftvervásárlás előtt hasznos, ha pontos elképzelése van arról, hogy milyen típusú összefüggéseket fognak keresni (asszociációs szabályok, epizódok, klaszterek stb.). A legfontosabb, hogy a szoftver funkciói között megtalálható legyen az ilyen típusú összefüggések kinyerésének lehetősége.


Nem biztos, hogy a nekünk megfelelő szoftver lesz a legtöbb adatbányászati feladat megoldását támogató. Egyre több szoftver jelenik meg, amely egy adott feladatra szakosodik (pl. weblog-elemző szoftver), ugyanakkor az átfogó képességgel rendelkezők mellett szól, hogy a jövőre is célszerű gondolni: milyen típusú összefüggéseket keresünk esetleg később?






Adattípus. A legtöbb szoftver a relációs adatbázisokban található adatokat tudja feldolgozni, de ezen kívül a sima szöveg fáljt, a munkalapokat, az ismertebb formátumú fájlokat is kezelik. Fontos tehát ellenőrizni, hogy pontosan milyen formátumú adatokon dolgozik. Ma már léteznek szoftverek, amelyek speciális adatformátumokat is kezelni tudnak, mint például földrajzi, multimédiás, DNS-adatbázisok, weblogok.






Adatforrás. Vannak adatbányász szoftverek, amelyeket fel kell tölteni az adatokkal, mielőtt dolgozni lehet velük. Hasznosabb azonban, ha a szoftver a más adatbázisokban található adatokat is kezelni tudja. Fontos, hogy a rendszer támogassa az ODBC-kapcsolatot vagy az OLE DB for ODBC-t. Ez lehetővé teszi a hozzáférést sok más relációs adatbázishoz (DB2, Informix, Microsoft SQL Server, Microsoft Access, Excel, Oracle stb.).






Adatméret, skálázhatóság. Tudnunk kell, hogy a szoftver mekkora adatbázissal képes megbirkózni; továbbá hogy az adatbázis növelésével hogyan romlik a futási idő. Skálázhatóság szempontjából megkülönböztetünk sor szerint skálázható és oszlop szerint skálázható szoftvereket. Az első azt jelenti, hogy ha megduplázom a sorok számát, akkor nem nő duplájára a futási idő-/memóriaigény. Az oszlop szerint skálázhatóság esetén a futási idő-/memóriaigény az oszlopok számával lineárisnál nem rosszabb. Ez utóbbi feltétel teljesüléséhez kifinomultabb algoritmusokra van szükség.






Megjelenítési eszközök. A vizualizáció egy külön szakma. Az adatbányászati algoritmusok eredményeinek áttekinthető, szemléletes megjelenítése sokat segít az értelmezésben. A 3D ábrák, grafikonok, táblázatok nagyon hasznosak, és sokat segítenek az adatbányászat használhatóságában és az eredmények bemutathatóságában.









Megjegyzések