230 likes | 348 Views
PhD besz ámoló 2003/2004 II. félév. Készítette: Iváncsy Ren áta Konzulens: Vajk István. Asszociációs szabály keresés. Rejtett szabályok feltárása Feladat: elemek együttes előfordulásának meghatározása gyakori elemhalmazok keresése Szabályok generálása a gyakori elemhalmazok alapján.
E N D
PhD beszámoló2003/2004 II. félév Készítette: Iváncsy Renáta Konzulens: Vajk István
Asszociációs szabály keresés • Rejtett szabályok feltárása • Feladat: elemek együttes előfordulásának meghatározása gyakori elemhalmazok keresése • Szabályok generálása a gyakori elemhalmazok alapján
Elemhalmaz támogatottsága 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ó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
Alap algoritmusok • Apriori algoritmus • Alap szintenként haladó algoritmus • Jelöltek használatával határozza meg a gyakori elemhalmazokat • FP-growth (Frequent Pattern-growth) • Két szintű algoritmus • Az adatbázist egy FP-fa formájában betömöríti a memóriába memória igényes
Hátrányok • Apriori algoritmus • A hash-fa alapú jelölt tárolás nagy számú jelölt esetén nem hatékony 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 igen nagy • FP-growth algoritmus • Az FP-fa mérete erősen függ az adatbázis paramétereitől • Átlagos tranzakció méret • Tranzakciók száma • Maximális gyakori elemhalmazok átlagos hossza
Az ItemsetCode (IC) algoritmus alapötlete • A kis méretű gyakori elemhalmazokat a lehető leggyorsabban találja meg direkt indexelés • Alapötlet: kódolási mechanizmus • Külön kezeli a kis elemhalmazokat a nagyoktól szintenként haladó • A nagyobb gyakori elemhalmazok meghatározása kevésbé kritikus
Az IC algoritmus működése (1) • Az 1 és 2-elemű gyakori elemhalmazok meghatározása egy M1 mátrix segítségével • Egy adatbázis olvasás, egyszerre kell számolni az elemek és elem párok előfordulását • Az M1 mátrix direkt indexelésével megoldható • A 3 és 4-elemű gyakori elemhalmazok egy további lépésben kerülnek meghatározásra • Alapötlet: vezessük vissza az előző lépésre, azaz egy mátrix (M2) indexelésével legyen megoldható
Az IC algoritmus működése (2) • A gyakori kételemű halmazokat kódoljuk le a kódokkal lehet a második, M2 mátrixot címezni • A kód értékek legyenek szekvenciálisak, az „elemszám+1” –től kezdődőek • A kódok az M1 mátrixban tárolhatók • A tranzakciókban a gyakori 2-elemű halmazok az M1 mátrix alapján kódolhatók • A tranzakcióban a kód párokkal lehet címezni az M2 mátrix celláit
A 3 és 4-elemű gyakori elemhalmazok meghatározása (1) • Probléma: a gyakori 3 és 4-elemű halmazok háromszor kerülnek meghatározásra • Legyen (A,B,C) egy gyakori elemhalmaz • Ez két 2-elemű halmazból generálható, amiknek van egy közös eleme az alábbi három módon: • (A,B) és (B,C) • (A,C) és (B,C) • (A,B) és (A,C)
A 3 és 4-elemű gyakori elemhalmazok meghatározása (2) • Ugyanez 4-eleműre: (A,B,C,D) előállhat • (A,B) és (C,D) • (A,C) és (B,D) • (A,D) és (C,D) • Dekódolási lépés: • Csak a következő párok érvényesek: • (A,B) és (B,C) 3-elemű gyakori • (A,B) és (C,D) 4-elemű gyakori
A 3 és 4-elemű gyakori elemhalmazok meghatározása (3) • Teljesítmény növelés: • A dekódolás helyett legyen előszűrés • Csak a szabálynak megfelelő jelöltek kerülnek számlálásra Idő megtakarítás • A mátrix helyett legyen beágyazott lista • Memória megtakarítás
A lista készítése 0 1 2 3 4 5 6 7 8 9 0 0 1 8 3 5 2 5 6 2 10 6 2 2 3 2 2 3 11 15 8 6 6 4 4 2 4 5 16 22 3 6 12 17 3 7 13 20 23 9 5 8 18 2 9 14 19 21 24 8
Az algoritmus fő lépései összefoglalva • 1 és 2-eleműek mátrixban számlálás • Gyakori 2-eleműek kódolása • Beágyazott lista készítése • Tranzakciók kódolása, számláló növelés a listában • További lépések: • 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 szabályok) • Apriori futtatása • Kis elemszám esetén már elég hatékony
Futási idő T22I8D300K T22I8D100K
Memória igény (1) T22I8D100K T22I8D300K
Memória igény (2) T22I8DxK T22I8D300K
Az IC algoritmus előnyei • Gyors futás • Kis memória igény • Könnyű implementálhatóság • Cikkeket lehet írni róla • Tézis gyártható belőle
Publikációk – Konferencia • Iváncsy, R. and Vajk, I. “Fast Discovery of Frequent Patterns in Market Basket Data”, In. Proc. of 4th International Conference on Intelligent Systems Design and Applications (ISDA’04), Budapest, Hungary,Augustus 26-28. 2004 • Iváncsy, R., Juhász, S. and Kovács, F., “Performance Prediction for Association Rule Mining Algorithms”, In Proc. of IEEE International Conference on Computational CyberneticsICCC 2004, Vienna University of Technology, Austria, August 30 - September 1, 2004 • Iváncsy, R. and Vajk, I., “ItemsetCode: a Time and Memory Efficient Frequent Pattern Mining Algorithm” The Fourth IEEE International Conference on Data Mining Sponsored by the IEEE Computer Society Brighton, UK November 01 - 04, 2004 (under revision)
Publikációk – Folyóirat • Ivancsy, R. and Vajk, I., “Finding the Size-Restricted Frequent Itemsets in Market Basket Data”, Scientific Bulletin of “Politehnica” University of Timisoara, Transactions on Automatic Control and Computer Science, Vol.49 (63) 2004 No. 3, ISSN 1224-600X, Editura Politehnica, Timisoara, Romania, 2004, pp. 39-44. • Iváncsy, R. and Vajk, I., “Cubic Structure-Based Frequent Itemset Discovering Algorithms”, Knowledge and Information Systems, An International Journal ISSN: 0219-1377 by Springer Verlag (under revision) • Iváncsy, R. and Vajk, I. “A Time and Memory Efficient Frequent Itemset Discovering Algorithm for Association Rule Mining”, International Journal of Computer Applications in Technology, Special Issue on "Data Mining Applications" by Inderscience Enterprises Ltd.(under revision)