PhD beszámoló 2002/2003 II. félév
description
Transcript of PhD beszámoló 2002/2003 II. félév
PhD beszámoló2002/2003 II. félév
Készítette: Iváncsy Renáta
Konzulens: Dr. Vajk István
Adatbányászat – asszociációs szabályok
Adatbányászati problémák feltérképezése Asszociációs szabály generáló algoritmusok
vizsgálata Elkészítettem egy programot, ami
megvalósítja az asszociációs szabálygenerálás alap algoritmusát, az Apriori algoritmust
Tervek: További algoritmusokkal kiegészíteni a
programot, méréseket végezni
Elemhalmaz támogatottsága
T
etXatartalmazztTtX
ságatámogatottIXAz
ITésTTIDtahol
halmazakosarakktranzakcióatttT
halmazaitemselemekaziiiI
ii
iii
N
n
}:{)(supp
:
),,(
)(},...,{
)(},...,{
T
21
21
Az X elemhalmaz támogatottsága: azon tranzakciók számának aránya az összes tranzakciószámhoz, amelyek tartalmazzák az X-et.
Asszociációs szabály
) )|(( )(supp
)(suppc
Y}{X, Zahol) )P(( )(supps
és YX és I Y X, ha
nevezzük,szabálynak ósasszociáci
(support)tságú támogatots e),(confidencgú bizonyossá c
Xon elemhalmaz Iaz óhalmazban tranzakciTA
T
T
T
sc,
XYPX
Z
ZZ
tY
Érvényes asszociációs szabályok
min_ss és min_cchogy igaz, melyre
a,megtalálásszabály ósasszociáci X Összes
:Feladat
min_c min_s,
:kparamétere Bemenő
sc,
Y
Asszociációk bányászatának lépései
Az összes gyakori elemhalmaz megtalálása A gyakori elemhalmazokból érvényes
asszociációs szabályok generálása Gyakori elemhalmaz: támogatottsága nagyobb
mint a küszöbérték Érvényes szabály: eleget tesz mind a
minimális támogatottság, mind a minimális bizonyosság küszöbértékének
Számítási igény alapján a gyakori elemhalmazok meghatározása a kritikus
Algoritmusok
Gyakori elemhalmazok megtalálására
Lehetséges megoldások (1)
Szintenként haladó algoritmusok Többször olvassák végig az adatbázist i-edik végigolvasáskor csak a az i elemű
gyakori termékhalmazokat állítják elő Annyiszor olvassák végig az adatbázist,
ahány elemű a legnagyobb gyakori termékhalmaz
Az i+1-edik lépésben a már addig megtalált gyakori termékhalmazokból következtetnek a lehetséges jelöltekre
Lehetséges megoldások (2)
Kétfázisú szabálykinyerés Adatbázis tömörítése
Az adatbázist a memóriába tömörítik, majd a memóriában végzik el a gyakori elemhalmazok meghatározását
Mintavételezés a gyakori elemhalmazokat a mintában határozzák
meg, majd leellenőrzik az adatbázisban
Particionálás Az adatbázist részekre osztása után az egyes
részeken külön-külön lehet elvégezni a bányászatot, majd a végén az egész adatbázis alapján ellenőrzés
Apriori algoritmus (1)
Szintenként haladó algoritmus Alapja: egy gyakori elemhalmaz minden
részhalmaza is gyakori, azaz ha egy elemhalmaz nem gyakori, akkor annak bármely elemmel való bővítése sem lesz gyakori
Az adatok tranzakciókban kerülnek reprezentálásra (minden egyes tranzakció egy azonosítóból és egy elemeket tartalmazó listából áll)
Apriori algoritmus (2)
Meg kell találni az összes 1 elemű gyakori elemhalmazt (L1)
Ha megvan a k-1 elemű gyakori elemhalmazunk (Lk-1), ebből kell generálni a k elemű jelölteket (Ck) Összekapcsoljuk azon két halmazt, amik az
első k-2 elemben azonosak A jelöltekből kivesszük azokat, aminek van k-1
elemű nem gyakori részhalmaza, így megkapjuk Ck-t
Lk-t Ck-ból kapjuk a min_s alapján
Az Apriori algoritmus változatai
DHP (Direct Hashing and Pruning) DIC (Dynamic Itemset Counting) DCI (Direct Count & Intersect) DCP (Direct count candidates & Prune
Transactions)
FP-growth (1)
Az adatbázist egy fa struktúrába tömöríti Nem kell jelölteket generálnia, így igen sok
számítási költséget megtakarít Használható partíciós algoritmusban Mérések alapján mondható, hogy hosszú és
rövid minták megtalálására is hatékonyan alkalmazható lehet
FP-growth (2)
T_ID Elemek T_ID Elemek
T100 I1 I2 I5 T600 I2 I3
T200 I2 I4 T700 I1 I3
T300 I2 I3 T800 I1 I2 I3 I5
T400 I1 I2 I4 T900 I1 I2 I3
T500 I1 I3
Az adatbázis egyszeri végigolvasásával megszámláljuk az egyes elemek előfordulását.
FP-growth (3) -- Az FP-fa
NULL
I2 : 7 I1 : 2
I1:4 I4:1 I3:2
I5:1 I4:1 I3:2
I5:1
I3:2
Az elemeket előfordulásuk szerint csökkenő sorrendbe kell tenni, és a tranzakciókat a második olvasáskor ez alapján kell feldolgozni egy fát kell építeni
FP-growth (4)
A gyakori elemhalmazokat egy rekurzív algoritmus segítségével lehet kinyerni
Az algoritmus során (ellentétben az Apriori algoritmussal) egyszerre nem csak az azonos elemszámú halmazokat kapjuk meg
Az algoritmusok osztályozása (1)
Osztályozási szempontok lehetnek: A megtalált gyakori halmazok fajtái A tranzakciók reprezentációja A tranzakciók statisztikai tulajdonságai Az adathalmazok reprezentációja
Fa alapú – a fa bejárása (szélességi, mélységi) Gráf alapú – maximális klikk keresése
Az adatbázis hozzáférés száma (I/O) A memória igény A CPU igény
A gyakori halmazok fajtái
FI (Frequent Itemset) – gyakori elemhalmazok MFI (MAximal Frequent Itemset) – maximális gyakori
elemhalmazok Ha X elemhalmaz gyakori, és nincs olyan bővebb
halmaz, ami tartalmazza X-et, és gyakori FCI (Frequent Closed Itemset) – gyakori zárt
elemhalmazok
.,)(
),()(
,,,'
''
etXáktartalmazzamikhalmazaktranzakcióazonXtahol
XtXt
ésXXhogyXléteziknemhazártX
FIFCIMFI
A tranzakciók reprezentációja
Horizontális elem vektor
Horizontális elem lista (tranzakciós adatbázis) Az egyes tranzakcióhoz listában vannak az elemek
Vertikális TID vektor
Vertikális TID lista (TID list)
egyébként
TIhavaholvvvv
vektorvbinárisegytartozikhoztranzakcióTMinden
kiin
k
0
1},,...,,{
.
21
egyébként
TIhavaholvvvv
vektorvbinárisegytartozikelemhezIMinden
ikin
k
0
1},,...,,{
.
21
Az adathalmazok reprezentációja
Fa – a különböző algoritmusok a fa ágainak metszésével próbálják hatékonyabbá tenni a keresést
Páros gráf A páros gráf egyik csomópont halmaza a
tranzakciók, a másik az elemek Egy él van egy elem és egy tranzakció között,
ha az elem benne van a tranzakcióban A maximális gyakori elemhalmazok a
maximális klikkek a páros gráfban – ez NP teljes probléma
Az algoritmusok osztályozása (2) Az Apriori algoritmus
Az összes gyakori elemhalmazt megtalálja Horizontális elemlistán dolgozik Szélességi bejárást alkalmaz Szintenként halad Hatékony rövid gyakori elemhalmazokat tartalmazó
adatbázisok esetén FP-growth
Az összes gyakori elemhalmazt megtalálja jelölt generálása nélkül
TID listán dolgozik Az adatbázist egy fába tömöríti – kétszer kell az
adatbázishoz hozzáférnie Hosszú mintákra is alkalmas
Az algoritmusok osztályozása (3)
Elemhalmaz típus
Adathalmaz reprezentáció
Bejárás módjaRövid vagy hosszú mintákra hatékony
Egyéb
Apriori FI Elem lista szélességi rövid Hash alapú
DHP, DIC FI Elem lista szélességi rövid Dinamikus elemszámlálás, hash alapú
DCI FI Elem lista, később TID lista
szélességi hosszú
FP-growth FI TID lista mélységi hosszú
MAFIA MFI Vertical bitmap mélységi hosszú
MaxMiner MFI mélységi hosszú
DepthProject MFI
GenMax MFI
MaxClicque MFI Páros-gráf
Closed FCI Apriori alapú
CHARM FCI Itemset, tidset mélységi hosszú Hash alapú
Összegzés
Kezelhetőség érdekében csökkenteni kell: az adatbázis hozzáférések számát az adatok reprezentációja miatt elfoglalt
memóriát ritka elemhalmazok által elfoglalt memóriát (a
jelöltek számát) A számítási igényt