Download - PhD besz ámoló 2003/2004 II. félév
PhD beszPhD beszámolóámoló2003/2004 II. félév2003/2004 II. félév
Készítette: IváncsyKészítette: Iváncsy Ren Renátaáta
Konzulens: Vajk István Konzulens: Vajk István
Asszociációs szabály keresésAsszociációs szabály keresés
Rejtett szabályok feltárásaRejtett szabályok feltárása Feladat: elemek együttes előfordulásának Feladat: elemek együttes előfordulásának
meghatározása meghatározása gyakori elemhalmazok keresése gyakori elemhalmazok keresése Szabályok generálása a gyakori elemhalmazok Szabályok generálása a gyakori elemhalmazok
alapjánalapján
Elemhalmaz támogatottságaElemhalmaz 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 képest, amelyek tartalmazzák az X-et.
Asszociációs szabályAsszociá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
min_ss és min_cchogy igaz, melyrea,megtalálás
szabály ósasszociáci X Összes :Feladat
min_c min_s,:kparamétere Bemenősc,
Y
Asszociációk bányászatának lépéseiAsszociációk bányászatának lépései
Az összes gyakori elemhalmaz megtalálásaAz összes gyakori elemhalmaz megtalálása A gyakori elemhalmazokból érvényes asszociációs A gyakori elemhalmazokból érvényes asszociációs
szabályok generálásaszabályok generálása Gyakori elemhalmazGyakori elemhalmaz: támogatottsága nagyobb mint a : támogatottsága nagyobb mint a
küszöbértékküszöbérték Érvényes szabályÉrvényes szabály: eleget tesz mind a minimális : eleget tesz mind a minimális
támogatottság, mind a minimális bizonyosság támogatottság, mind a minimális bizonyosság küszöbértékénekküszöbértékének
Számítási igény alapján a gyakori elemhalmazok Számítási igény alapján a gyakori elemhalmazok meghatározása a kritikusmeghatározása a kritikus
Alap algoritmusokAlap algoritmusok
Apriori algoritmusApriori algoritmus Alap szintenként haladó algoritmusAlap szintenként haladó algoritmus Jelöltek használatával határozza meg a gyakori Jelöltek használatával határozza meg a gyakori
elemhalmazokatelemhalmazokat
FP-growth (Frequent Pattern-growth)FP-growth (Frequent Pattern-growth) Két szintű algoritmusKét szintű algoritmus Az adatbázist egy FP-fa formájában betömöríti a Az adatbázist egy FP-fa formájában betömöríti a
memóriába memóriába memória igényes memória igényes
HátrányokHátrányok
Apriori algoritmusApriori algoritmus A hash-fa alapú jelölt tárolás nagy számú jelölt esetén nem A hash-fa alapú jelölt tárolás nagy számú jelölt esetén nem
hatékony hatékony a ritka jelöltek kiszűrése sok időt vesz igénybe a ritka jelöltek kiszűrése sok időt vesz igénybe Különösen a kis elemszámú jelöltek esetén, melyeknek számossága Különösen a kis elemszámú jelöltek esetén, melyeknek számossága
igen nagyigen nagy
FP-growth algoritmusFP-growth algoritmus Az FP-fa mérete erősen függ az adatbázis paramétereitőlAz FP-fa mérete erősen függ az adatbázis paramétereitől
Átlagos tranzakció méretÁtlagos tranzakció méret Tranzakciók számaTranzakciók száma Maximális gyakori elemhalmazok átlagos hosszaMaximális gyakori elemhalmazok átlagos hossza
Az ItemsetCode algoritmusAz ItemsetCode algoritmus
Az ItemsetCode (IC) algoritmus Az ItemsetCode (IC) algoritmus alapötletealapötlete
A kis méretű gyakori elemhalmazokat a lehető A kis méretű gyakori elemhalmazokat a lehető leggyorsabban találja meg leggyorsabban találja meg direkt indexelés direkt indexelés Alapötlet: kódolási mechanizmusAlapötlet: kódolási mechanizmus
Külön kezeli a kis elemhalmazokat a Külön kezeli a kis elemhalmazokat a nagyoktól nagyoktól szintenként haladó szintenként haladó
A nagyobb gyakori elemhalmazok A nagyobb gyakori elemhalmazok meghatározása kevésbé kritikusmeghatározása kevésbé kritikus
Az IC algoritmus működése (1)Az IC algoritmus működése (1)
Az 1 és 2-elemű gyakori elemhalmazok Az 1 és 2-elemű gyakori elemhalmazok meghatározása egy Mmeghatározása egy M11 mátrix segítségével mátrix segítségével Egy adatbázis olvasás, egyszerre kell számolni az Egy adatbázis olvasás, egyszerre kell számolni az
elemek és elem párok előfordulásátelemek és elem párok előfordulását Az MAz M11 mátrix direkt indexelésével megoldható mátrix direkt indexelésével megoldható
A 3 és 4-elemű gyakori elemhalmazok egy A 3 és 4-elemű gyakori elemhalmazok egy további lépésben kerülnek meghatározásratovábbi lépésben kerülnek meghatározásra Alapötlet: vezessük vissza az előző lépésre, azaz Alapötlet: vezessük vissza az előző lépésre, azaz
egy mátrix (Megy mátrix (M22) indexelésével legyen megoldható) indexelésével legyen megoldható
Az IC algoritmus működése (2)Az IC algoritmus működése (2)
A gyakori kételemű halmazokat kódoljuk le A gyakori kételemű halmazokat kódoljuk le a kódokkal lehet a második, Ma kódokkal lehet a második, M22 mátrixot mátrixot címeznicímezni A kód értékek legyenek szekvenciálisak, az A kód értékek legyenek szekvenciálisak, az
„elemszám+1” –től kezdődőek„elemszám+1” –től kezdődőek A kódok az MA kódok az M11 mátrixban tárolhatók mátrixban tárolhatók A tranzakciókban a gyakori 2-elemű halmazok az A tranzakciókban a gyakori 2-elemű halmazok az
MM11 mátrix alapján kódolhatók mátrix alapján kódolhatók A tranzakcióban a kód párokkal lehet címezni az A tranzakcióban a kód párokkal lehet címezni az
MM22 mátrix celláit mátrix celláit
A 3 és 4-elemű gyakori A 3 és 4-elemű gyakori elemhalmazok meghatározása (1)elemhalmazok meghatározása (1)
Probléma: a gyakori 3 és 4-elemű halmazok Probléma: a gyakori 3 és 4-elemű halmazok háromszor kerülnek meghatározásraháromszor kerülnek meghatározásra Legyen (A,B,C) egy gyakori elemhalmazLegyen (A,B,C) egy gyakori elemhalmaz Ez két 2-elemű halmazból generálható, amiknek Ez két 2-elemű halmazból generálható, amiknek
van egy közös eleme az alábbi három módon:van egy közös eleme az alábbi három módon: (A,B) és (B,C)(A,B) és (B,C) (A,C) és (B,C)(A,C) és (B,C) (A,B) és (A,C)(A,B) és (A,C)
A 3 és 4-elemű gyakori A 3 és 4-elemű gyakori elemhalmazok meghatározása (2)elemhalmazok meghatározása (2)
Ugyanez 4-eleműre: (A,B,C,D) előállhatUgyanez 4-eleműre: (A,B,C,D) előállhat (A,B) és (C,D)(A,B) és (C,D) (A,C) és (B,D)(A,C) és (B,D) (A,D) és (C,D)(A,D) és (C,D)
Dekódolási lépés:Dekódolási lépés: Csak a következő párok érvényesek:Csak a következő párok érvényesek:
(A,B) és (B,C) (A,B) és (B,C) 3-elemű gyakori 3-elemű gyakori (A,B) és (C,D) (A,B) és (C,D) 4-elemű gyakori 4-elemű gyakori
A 3 és 4-elemű gyakori A 3 és 4-elemű gyakori elemhalmazok meghatározása (3)elemhalmazok meghatározása (3)
Teljesítmény növelés:Teljesítmény növelés: A dekódolás helyett legyen előszűrésA dekódolás helyett legyen előszűrés
Csak a szabálynak megfelelő jelöltek kerülnek Csak a szabálynak megfelelő jelöltek kerülnek számlálásra számlálásra Idő megtakarítás Idő megtakarítás
A mátrix helyett legyen beágyazott listaA mátrix helyett legyen beágyazott lista Memória megtakarításMemória megtakarítás
A lista készítéseA lista készítése
0 1 2 3 4 5 6 7 8 9
8 3 5 2 51 6
00
10 6 2 2 32 2 2
11 15 8 63 6
4 2 44
16 22 35
188 2
12 17 36
13 20 23 97 5
14 19 21 249 8
1010
1111
1212
1313
1414
1515
1616
1717
1818
1919
2020
2121
2222
2323
2424
1515 1616 1717 1818 1919 2020 2121 2222 2323 2424
2020 2121 2222 2323 2424
2424
2020 2121 2222 2323 2424
2424
2424
Az algoritmus fő lépései Az algoritmus fő lépései összefoglalvaösszefoglalva
1 és 2-eleműek mátrixban számlálás1 és 2-eleműek mátrixban számlálás Gyakori 2-eleműek kódolásaGyakori 2-eleműek kódolása Beágyazott lista készítéseBeágyazott lista készítése Tranzakciók kódolása, számláló növelés a listábanTranzakciók kódolása, számláló növelés a listában További lépések:További lépések:
Az 5, 6, 7 és 8-elemű gyakori halmazok meghatározása egy Az 5, 6, 7 és 8-elemű gyakori halmazok meghatározása egy további kódolási lépéssel (jelölt szűréshez további további kódolási lépéssel (jelölt szűréshez további szabályok)szabályok)
Apriori futtatásaApriori futtatása Kis elemszám esetén már elég hatékonyKis elemszám esetén már elég hatékony
MMérési eredményekérési eredmények
Futási időFutási idő
0
200
400
600
800
1000
1200
0.5% 0.6% 0.7% 0.8% 0.9% 1.0% 1.1% 1.2% 1.3% 1.4% 1.5%
minimum support
time
(sec
)
Apriori FP-growth ItemsetCode
0
1000
2000
3000
4000
5000
6000
7000
0.5% 0.6% 0.7% 0.8% 0.9% 1.0% 1.1% 1.2% 1.3% 1.4% 1.5%
minimum support
time
(sec
)
Apriori FP-growth ItemsetCode
T22I8D100K
T22I8D300K
Memória igény (1)Memória igény (1)
1000000
10000000
100000000
1000000000
minimum support
mem
ory
usa
ge
in
log
arit
hm
ic s
cale
Apriori FP-growth ItemsetCode
1000000
10000000
100000000
1000000000
minimum support
mem
ory
usag
e i
n
log
ari
thm
ic s
cale
Apriori FP-growth ItemsetCode
T22I8D100K
T22I8D300K
Memória igény (2)Memória igény (2)
0
10
20
30
40
50
0.5% 0.6% 0.7% 0.8% 0.9% 1.0% 1.1% 1.2% 1.3% 1.4% 1.5%
minimum support
mem
ory
usag
e (M
byte
s)
Apriori ItemsetCode
0
100200
300
400
500600
700
800
0 50 100 150 200 250
number of transactions
pea
k m
emo
ry (
Mb
ytes
)
Apriori FP-growth ItemsetCode
T22I8D300K
T22I8DxK
Az IC algoritmus előnyeiAz IC algoritmus előnyei
Gyors futásGyors futás Kis memória igényKis memória igény Könnyű implementálhatóságKönnyű implementálhatóság Cikkeket lehet írni róla Cikkeket lehet írni róla Tézis gyártható belőle Tézis gyártható belőle
Publikációk – Konferencia Publikációk – Konferencia Iváncsy,Iváncsy, R. and R. and Vajk, Vajk, I. I. “ “Fast Discovery of Frequent Fast Discovery of Frequent
Patterns in Market Basket DataPatterns in Market Basket Data”, ”, In. Proc. of 4th In. Proc. of 4th International Conference on Intelligent Systems Design and International Conference on Intelligent Systems Design and Applications (ISDA’Applications (ISDA’0404), Budapest, Hungary,), Budapest, Hungary, Augustus 26-28. 2004 Augustus 26-28. 2004
Iváncsy,Iváncsy, R., R., Juhász,Juhász, S. and S. and Kovács, Kovács, F., F., “ “Performance Performance Prediction for Association Rule Mining AlgorithmsPrediction for Association Rule Mining Algorithms”, ”, In In Proc. of IEEE International Conference on Computational Proc. of IEEE International Conference on Computational CyberneticsCybernetics ICCC 2004, Vienna University of Technology, ICCC 2004, Vienna University of Technology, Austria,Austria, August 30 - September 1, 2004 August 30 - September 1, 2004
Iváncsy, R. and Vajk, I., “Iváncsy, R. and Vajk, I., “ItemsetCode: a Time and ItemsetCode: a Time and Memory Efficient Frequent Pattern Mining AlgorithmMemory Efficient Frequent Pattern Mining Algorithm” ” The Fourth IEEE International Conference on Data Mining The Fourth IEEE International Conference on Data Mining Sponsored by the IEEE Computer Society Brighton, UK Sponsored by the IEEE Computer Society Brighton, UK November 01 - 04, 2004 (under revision)November 01 - 04, 2004 (under revision)
PublikPublikációk – Folyóirat ációk – Folyóirat Ivancsy, R. and Vajk, I., “Ivancsy, R. and Vajk, I., “Finding the Size-Restricted Frequent Finding the Size-Restricted Frequent
Itemsets in Market Basket DataItemsets in Market Basket Data”, ”, Scientific Bulletin of Scientific Bulletin of “Politehnica” University of Timisoara, Transactions on “Politehnica” University of Timisoara, Transactions on Automatic Control and Computer Science, Vol.49 (63) 2004 No. Automatic Control and Computer Science, Vol.49 (63) 2004 No. 3, ISSN 1224-600X, Editura Politehnica, Timisoara, Romania3, ISSN 1224-600X, Editura Politehnica, Timisoara, Romania , , 2004, pp. 39-44. 2004, pp. 39-44.
Iváncsy, Iváncsy, R. and R. and Vajk,Vajk, I., I., “ “Cubic Structure-Based Frequent Cubic Structure-Based Frequent Itemset Discovering AlgorithmsItemset Discovering Algorithms”, ”, Knowledge and Information Knowledge and Information Systems, An International Journal ISSN: 0219-1377 by Springer Systems, An International Journal ISSN: 0219-1377 by Springer VerlagVerlag (under revision) (under revision)
Iváncsy,Iváncsy, R. and R. and Vajk, Vajk, I. I. “ “A Time and Memory Efficient A Time and Memory Efficient Frequent Itemset Discovering Algorithm for Association Rule Frequent Itemset Discovering Algorithm for Association Rule MiningMining”, ”, International Journal of Computer Applications in International Journal of Computer Applications in Technology, Special Issue on "Data Mining Applications" by Technology, Special Issue on "Data Mining Applications" by Inderscience Enterprises Ltd.Inderscience Enterprises Ltd. (under revision)(under revision)