Adatbányászat: Asszociációs szabályok Haladó fogalmak és algoritmusok

Slides:



Advertisements
Hasonló előadás
Deduktív adatbázisok.
Advertisements

Események formális leírása, műveletek
Készítette: Kosztyán Zsolt Tibor
I. előadás.
Készlet késztermékek, alkatrészek, kiegészítő termékek,
2006. február 17. Valószínűségszámítás és statisztika II. Telefonos feladat Egy kalapban van két korong, az egyiknek mindkét oldala piros, a másiknak.
Készítette: Szinai Adrienn
Adatbányászat: Asszociációs szabályok Alapfogalmak és algoritmusok
Matematika II. 3. előadás Geodézia szakmérnöki szak 2010/2011. tanév Műszaki térinformatika ágazat tavaszi félév.
Vektormező szinguláris pontjainak indexe
Matematika II. 2. előadás Geodézia szakmérnöki szak 2012/2013. tanév Műszaki térinformatika ágazat őszi félév.
Illés Tibor – Hálózati folyamok
Ph.D beszámoló 2004/2005 I.félév Készítette: Iváncsy Renáta Konzulens: Vajk István.
PhD beszámoló 2002/2003 II. félév Készítette: Iváncsy Renáta Konzulens: Dr. Vajk István.
4. VÉGES HALMAZOK 4.1 Alaptulajdonságok
Két változó közötti összefüggés
Gazdaságmatematika 6.szeminárium.
Bayes hálók október 20. Farkas Richárd
MI 2003/ Alakfelismerés - még egy megközelítés: még kevesebbet tudunk. Csak a mintánk adott, de címkék nélkül. Csoportosítás (klaszterezés, clustering).
Klaszterező algoritmusok smart city alkalmazásokhoz Gonda László Témavezető: Dr. Ispány Márton.
Gazdaságelemzési és Statisztikai Tanszék
STATISZTIKA II. 5. Előadás Dr. Balogh Péter egyetemi adjunktus Gazdaságelemzési és Statisztikai Tanszék.
az MSAccess programmal
Szállítási probléma - fogalmak
III. előadás.
Integrálszámítás Mire fogjuk használni az integrálszámítást a matematikában, hova szeretnénk eljutni? Hol használható és mire az integrálszámítás? (már.
Adatbányászat: Klaszterezés Haladó fogalmak és algoritmusok
Adatbányászat: Rendellenesség keresés
Adatbányászat: Adatok
Matematika III. előadások Építőmérnök BSc szak PMMINB313
Gazdasági informatikából megkaptuk a félévi feladatot!!! Mindenki nagy örömére… 0. hét.
ÖSSZEFOGLALÓ ELŐADÁS Dr Füst György.
Az Alakfelismerés és gépi tanulás ELEMEI
Gráfok Készítette: Dr. Ábrahám István.
Matematikai alapok és valószínűségszámítás
Véletlenszám generátorok
A statisztikai próba 1. A munka-hipotézisek (Ha) nem igazolhatók közvetlen úton Ellenhipotézis, null hipotézis felállítása (H0): μ1= μ2, vagy μ1- μ2=0.
Az F-próba szignifikáns
Dr. Balogh Péter Gazdaságelemzési és Statisztika Tanszék DE-AMTC-GVK
Befektetési döntések Bevezetés
GRÁFELMÉLET Alapfogalmak 1..
Az oszd meg és uralkodj (Divide et Impera) programozási módszer
Kvantitatív Módszerek
Összetett adattípusok
Idősor elemzés Idősor : időben ekvidisztáns elemekből álló sorozat
Lineáris programozás Elemi példa Alapfogalmak Általános vizsg.
Gazdaságstatisztika 11. előadás.
Hipotézis vizsgálat (2)
Alapsokaság (populáció)
Alapfogalmak.
Adatleírás.
Binomiális eloszlás.
Programozási alapismeretek 11. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 11.2/ Tartalom  Rendezési.
I. előadás.
Lineáris algebra.
Valószínűségszámítás - Statisztika. P Két kockával dobunk, összeadjuk az értékeket Mindegyik.
HTML ÉS PHP (Nagyon) rövid áttekintés. ADATBÁZISRENDSZEREK MŰKÖDÉSI SÉMÁJA Felh. interakció DB Connector MySQL ? A gyakorlaton:
Adatbányászati módszerek a weblogfájlok elemzésében
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Megerősítő elemzés „Big Data” elemzési módszerek Salánki.
előadások, konzultációk
Valószínűségszámítás II.
Többdimenziós valószínűségi eloszlások
Gazdasági informatikus - Szövegszerkesztés 1 Bekezdések formázása 3.
Kutatási beszámoló 2002/2003 I. félév Iváncsy Renáta.
PhD beszámoló 2003/2004 I. félév Készítette: Iváncsy Renáta Konzulens: Dr. Vajk István.
Nevezetes algoritmusok
Integrálszámítás.
Mediánok és rendezett minták
II. előadás.
I. Előadás bgk. uni-obuda
Előadás másolata:

Adatbányászat: Asszociációs szabályok Haladó fogalmak és algoritmusok 7. fejezet Tan, Steinbach, Kumar Bevezetés az adatbányászatba előadás-fóliák fordította Ispány Márton © Tan,Steinbach, Kumar Bevezetés az adatbányászatba Fordító: Ispány Márton

Logók és támogatás A tananyag a TÁMOP-4.1.2-08/1/A-2009-0046 számú Kelet-magyarországi Informatika Tananyag Tárház projekt keretében készült. A tananyagfejlesztés az Európai Unió támogatásával és az Európai Szociális Alap társfinanszírozásával valósult meg.

Folytonos és kategorikus attributumok Hogyan alkalmazhatjuk az asszociációs elemzést nem aszimmetrikus bináris változókra? Példa asszociációs szabályra: {Lapok száma [5,10)  (Böngésző=Mozilla)}  {Vétel = Nem}

Kategorikus attributumok kezelése Alakítsuk át a kategorikus attributumot aszimmetrikus bináris változókká. Vezessünk be egy új ,,tételt” minden egyes különböző attributum-érték párra. Példa: helyettesítsük a Böngésző attributumot az alábbiakkal Böngésző = Internet Explorer Böngésző = Mozilla

Kategorikus attributumok kezelése Lehetséges szempontok Mi van akkor, ha az attributumnak sok lehetséges értéke van? Példa: az országnak több, mint 200 lehetséges értéke van Az attributum értékek többségének nagyon kicsi lehet a támogatottsága Lehetséges megoldás: vonjuk össze a kis támogatottságú értékeket Mi van akkor, ha az attributum értékek eloszlása erősen ferde? Példa: a látogatók 95%-nál a Vétel = Nem A tételek többségét a (Vétel=Nem) tételhez fogjuk asszociálni. Lehetséges megoldás: dobjuk el a nagy gyakoriságú tételeket

Folytonos attributumok kezelése Különböző fajta szabályok: Kor[21,35)  Fizetés[70E,120E)  Vétel Fizetés[70E,120E)  Vétel  Kor: =28, =4 Különböző módszerek: Diszkretizáció alapú Statisztika alapú Nem diszkretizáció alapú minApriori

Folytonos attributumok kezelése Diszkretizáljunk Nem-felügyelt módon: Egyenlő szélességű Egyenlő mélységű Klaszterezés Felügyelt módon: Attributum értékek, v Osztály v1 v2 v3 v4 v5 v6 v7 v8 v9 Rendellenes 20 10 Normális 15 0 100 150 bin1 bin2 bin3

Diszkretizációval kapcsolatos kérdések A diszkretizált intervallumok mérete hatással van a támogatottságra és a megbízhatóságra. Ha az intervallum túl kicsi lehet, hogy nem elegendő a támogatottság Ha az intervallum túl nagy lehet, hogy nem elegendő a megbízhatóság Lehetséges megoldás: használjuk az összes lehetséges intervallumot. {Visszafizetés = Nem, (Jövedelem = $51,250)}  {Csalás = Nem} {Visszafizetés = Nem, (60K  Jövedelem  80K)}  {Csalás = Nem} {Visszafizetés = Nem, (0K  Jövedelem  1B)}  {Csalás = Nem}

Diszkretizációval kapcsolatos kérdések Végrehajtási idő Ha az intervallumok n értéket tartalmaznak, akkor átlagosan O(n2) számú elrendezés van. Túl sok szabály {Visszafizetés = Nem, (Jövedelem = $51,250)}  {Csalás = Nem} {Visszafizetés = Nem, (51K  Jövedelem  52K)}  {Csalás = Nem} {Visszafizetés = Nem, (50K  Jövedelem  60K)}  {Csalás = Nem}

Srikant & Agrawal megközelítése Dolgozzuk fel előzetesen az adatokat. Diszkretizáljuk az attributumot egyenlő mélységű particionálást használva. A particiók meghatározására használjunk részleges teljességi mérőszámot. Vonjuk össze a szomszédos intervallumokat amíg a támogatottság kisebb, mint egy max-support küszöb. Alkamazzunk létező asszociációs szabály bányászati algoritmusokat. Határozzuk meg az érdekes szabályokat az outputban.

Srikant & Agrawal megközelítése A diszkretizáció során információt vesztünk Használjunk részleges teljességi mérőszámot annak meghatározására, hogy mennyi információt vesztünk. C: az összes attributum érték elrendezése mellett kapott gyakori tételcsoportok P: a particiók elrendezése mellett kapott gyakori tételcsoportok P K-teljes C-re nézve ha P  C és X  C,  X’  P úgy, hogy: 1. X’ általánosítása X-nek és s(X’)  K  s(X) (K  1) 2. Y  X,  Y’  X’ úgy, hogy s(Y’)  K  s(Y) Adott K (részleges teljességi szint) mellett meghatározhatjuk az intervallumok (N) számát. közelítő X X

Érdekességi mértékek {Visszafizetés = Nem, (Jövedelem = $51,250)}  {Csalás = Nem} {Visszafizetés = Nem, (51K  Jövedelem  52K)}  {Csalás = Nem} {Visszafizetés = Nem, (50K  Jövedelem  60K)}  {Csalás = Nem} Adott Z = {z1, z2, …, zk} tételcsoport és Z’ = {z1’, z2’, …, zk’} általánosítása P(Z): Z támogatottsága EZ’(Z): Z-nek Z’-n alapuló várt támogatottsága Z R-érdekes Z’-re nézve ha P(Z)  R  EZ’(Z)

Érdekességi mértékek Egy S: X  Y és annak S’: X’  Y’ általánosítására P(Y|X): X  Y megbízhatósága P(Y’|X’): X’  Y’ megbízhatósága ES’(Y|X): Z-nek Z’-n alapuló várt támogatottsága Az S szabály R-érdekes az S’ ős-szabályra nézve Támogatottság: P(S)  R  ES’(S) vagy Megbízhatóság: P(Y|X)  R  ES’(Y|X)

Statisztika alapú módszerek Példa: Böngésző=Mozilla  Vétel=Igen  Kor: =23 A szabály következménye egy statisztikáival jellemzett folytonos változóból áll: átlag, medián, szórás stb. Megközelítés: Töröljük (ideiglenesen) a célváltozót a megmaradó adatokból. Alkalmazzunk létező gyakori tételcsoport generálást a fennmaradó adatokon. Számoljuk ki minden gyakori tételcsoportra a megfelelő célváltozó leíró statisztikáit. A gyakori tételcsoport szabály lesz ha a célváltozót a szabály következményének választjuk. Alkalmazzunk statisztikai próbát a szabály érdekességének meghatározására.

Statisztika alapú módszerek Hogyan határozhatjuk meg egy asszociációs szabály érdekességét? Hasonlítsuk össze a szabály által lefedett populáció statisztikáit a szabály által nem lefedettekéivel: A  B:  szemben A  B: ’ Statisztikai hipotézis vizsgálat: Null hipotézis: H0: ’ =  +  Alternatív hipotézis: H1: ’ >  +  Z várható értéke 0 szórása 1 a null hipotézis mellett

Statisztika alapú módszerek Példa: r: Böngésző=Mozilla  Vétel=Igen  Kor: =23 A szabály érdekes ha a  and ’ közötti különbség nagyobb mint 5 év (azaz  = 5) Tegyük fel, hogy r-re n1 = 50, s1 = 3.5 Tegyük fel, hogy r’-re (komplementer): n2 = 250, s2 = 6.5 Egyoldali próbánál 95% megbízhatósági szinten a Z kritikus érték, hogy elvetjük a null hipotézist, 1.64. Mivel Z nagyobb mint 1.64, r érdekes szabály.

Min-Apriori (Han és társai) Dokumentum-szó mátrix: Példa: W1 és W2 hajlamos rá, hogy ugyanazokban a dokumentumokban jelenjen meg

Min-Apriori Az adatok kizárólag ugyanolyan típusú folytonos attributumokat tartalmaznak. Pl. a szavak gyakorisága egy dokumentumban Lehetséges megoldás: Alakítsuk át 0/1 mátrixá és ezután alkalmazzunk létező algoritmusokat. szó-gyakorisági információk elvesztése Nem alkalmazható a diszkretizálás amint a felhasználók szavak közötti és nem szó-csoportok közötti asszociációt szeretnének.

Min-Apriori Hogyan határozzuk meg egy szó támogatottságát? Ha csak egyszerűen összeadjuk a gyakoriságokat, akkor a támogatottság nagyobb lesz a dokumentumok teljes számánál! Normalizáljuk a szó vektorokat – pl. használjunk L1 normát Minden szónak 1.0-gyel egyenlő támogatottsága lesz Normali-záljunk

Min-Apriori A támogatottság új definíciója: Példa: sup(W1,W2,W3) = 0 + 0 + 0 + 0 + 0.17 = 0.17

A támogatottság anti-monoton tulajdonsága Példa: sup(W1) = 0.4 + 0 + 0.4 + 0 + 0.2 = 1 sup(W1, W2) = 0.33 + 0 + 0.4 + 0 + 0.17 = 0.9 sup(W1, W2, W3) = 0 + 0 + 0 + 0 + 0.17 = 0.17

Többszintű asszociációs szabályok

Többszintű asszociációs szabályok Miért kell fogalom hierarchiát bevezetni? Az alacsonyabb szinten lévő szabályoknak lehet, hogy nem elég nagy a támogatottsága ahhoz, hogy egy gyakori tételcsoportban megjelenjenek. Az alacsonyabb szinten lévő szabályok túlságosan speciálisak pl. lefölözött tej  fehér kenyér, 2% tej  búza kenyér, lefölözött tej  búza kenyér, stb. a tej és kenyér közötti kapcsolatra utalnak

Többszintű asszociációs szabályok Hogyan változik a támogatottság és a megbízhatóság ha megfordítjuk a fogalom hierarchiát? Ha X egyaránt szülője X1-nek és X2-nek, akkor (X) ≤ (X1) + (X2) Ha (X1  Y1) ≥ minsup, és X szülője X1-nek, Y szülője Y1-nek akkor (X  Y1) ≥ minsup, (X1  Y) ≥ minsup (X  Y) ≥ minsup Ha conf(X1  Y1) ≥ minconf, akkor conf(X1  Y) ≥ minconf

Többszintű asszociációs szabályok 1. megközelítés: Terjesszük ki a meglévő asszociációs szabály formalizmusunkat magasabb szintű tételek hozzáadásával. Eredeti tranzakció: {lefölözött tej, búza kenyér} Megnövelt tranzakció: {lefölözött tej, búza kenyér, tej, kenyér, élelem} Szempontok: A magasabb szinten elhelyezkedő tételeknek nagyobb a támogatottsága. Ha alacsony a támogatottsági küszöb, akkor túl sok gyakori mintázat jön be a magasabb szintekről. Növeli az adatok dimenzióját.

Többszintű asszociációs szabályok 2. megközelítés: Generáljunk először gyakori mintázatokat a legmagasabb szinten. Generáljunk ezután gyakori mintázatokat a következő legmagasabb szinten, és így tovább. Szempontok: Az I/O követelmények drámaian megnőnek mivel többször kell átfésülnünk az adatokat. Lemaradhatunk néhány lehetséges szintek közötti asszociációs mintázatról.

Szekvenciális adatok Szekvenciális adatbázis: Objektum Időbélyeg Események A 10 2, 3, 5 20 6, 1 23 1 B 11 4, 5, 6 17 2 21 7, 8, 1, 2 28 1, 6 C 14 1, 8, 7

Példák szekvenciális adatra Sorozat adatbázis Sorozat Elem (Tranzakció) Esemény (Tétel) Vásárlói adatok Egy adott vásárló vásárlási története Egy vásárló által a t időpontban vásárolt termékek Könyvek, naplók, CD- k, stb. Web adatok Egy web-látogató böngészési aktivitása A látogató egy kattintása után megnézett fájlok Honlap, index-lap, kontakt info, stb. Esemény adatok Egy adott szenzor által generált események története Egy szenzor által kiváltott események a t időpontban A szenzorok által generált riasztások típusai Gén szekvenciák Egy faj DNS szekvenciája A DNS szekvencia egy eleme A,T,G,C bázisok Elem (Tranzakció) Esemény (Tétel) E1 E2 E1 E3 E2 E2 E3 E4 Sorozat

A sorozat formális definíciója Egy sorozat elemek (tranzakciók) egy rendezett listája s = < e1 e2 e3 … > Minden elem események (tételek) egy összességét tartalmazza ei = {i1, i2, …, ik} Minden elemhez idő vagy hely bélyeget rendelünk Egy sorozat |s| hossza a sorozatbeli elemek száma. Egy k-sorozat olyan sorozat, amely k eseményt (tételt) tartalmaz.

Példák sorozatra Web sorozat: < {Honlap} {Elektronika} {Digitális kamerák} {Canon digitális kamera} {Rendelés} {Rendelés visszaigazolás} {Visszatérés a vásárláshoz} > A 3-mile Island-beli nukleáris balesetet elindító események sorozata: (http://stellar-one.com/nuclear/staff_reports/summary_SOE_the_initiating_event.htm) < {eldugult gyanta} {lefolyó szelep dugulás} {hűtővíz vesztés} {kondenzátor tisztító lefolyó szelep elzáródás} {szivattyú hiba} {fő vízpumpa hiba} {fő turbina hiba} {megnő a reaktornyomás}> Egy könyvtárból kivett könyvek sorozata: <{A gyűrű szövetsége} {A két torony} {A király visszatér}>

Részsorozat definíciója Egy <a1 a2 … an> sorozat része egy másik <b1 b2 … bm> sorozatnak (m ≥ n) ha léteznek olyan i1 < i2 < … < in számok, hogy a1  bi1 , a2  bi1, …, an  bin . Egy w részsorozat támogatottságát az olyan adatsoroza- tok arányaként definiáljuk, amelyek tartalmazzák w-t. A szekvenciális mintázat egy gyakori részsorozat (azaz egy olyan részsorozat, melynek támogatottsága ≥ minsup). Adat sorozat Részsorozat Tartamazza-e? < {2,4} {3,5,6} {8} > < {2} {3,5} > Igen < {1,2} {3,4} > < {1} {2} > Nem < {2,4} {2,4} {2,5} > < {2} {4} >

Szekvenciális mintázat bányászat Adott: sorozatok egy adatbázisa egy felhasználó által meghatározott minsup minimális támogatottsági küszöb Feladat: Keressük meg az összes olyan részsorozatot, amelynek támogatottsága ≥ minsup

Szekvenciális mintázat bányászat: kihívások Adott egy sorozat: <{a b} {c d e} {f} {g h i}> Példák részsorozataira: <{a} {c d} {f} {g} >, < {c d e} >, < {b} {g} >, stb. Mennyi k-részsorozat nyerhető ki egy adott n-sorozatból? <{a b} {c d e} {f} {g h i}> n = 9 k=4: Y _ _ Y Y _ _ _ Y <{a} {d e} {i}>

Szekvenciális mintázat bányászat: példa Minsup = 50% Példák gyakori részsorozatokra: < {1,2} > s=60% < {2,3} > s=60% < {2,4}> s=80% < {3} {5}> s=80% < {1} {2} > s=80% < {2} {2} > s=60% < {1} {2,3} > s=60% < {2} {2,3} > s=60% < {1,2} {2,3} > s=60%

Szekvenciális minták kinyerése Adott n számú esemény: i1, i2, i3, …, in Jelöltek 1-részsorozatokra: <{i1}>, <{i2}>, <{i3}>, …, <{in}> Jelöltek 2-részsorozatokra: <{i1, i2}>, <{i1, i3}>, …, <{i1} {i1}>, <{i1} {i2}>, …, <{in-1} {in}> Jelöltek 3-részsorozatokra: <{i1, i2 , i3}>, <{i1, i2 , i4}>, …, <{i1, i2} {i1}>, <{i1, i2} {i2}>, …, <{i1} {i1 , i2}>, <{i1} {i1 , i3}>, …, <{i1} {i1} {i1}>, <{i1} {i1} {i2}>, …

Általánosított szekvenciális mintázat (GSP) 1. lépés: Fésüljük át először a D sorozat adatbázist az összes 1-elemű gyakori sorozat előállítására. 2. lépés: Ismételjük amíg nem találunk új gyakori sorozatot Jelölt generálás: Vonjuk össze a (k-1)-edik lépésben talált gyakori részsorozatok párjait, hogy k tételt tartalmazó sorozat jelölteket kapjunk. Jelölt tisztítás: Töröljük azokat a k-sorozat jelölteket, amelyek nem gyakori (k-1)- részsorozatot tartalmaznak. Támogatottság számlálás: Fésüljük át újra a D sorozat adatbázist, hogy ezen új jelöltek támogatottságát megkapjuk. Jelölt eliminálás: Elimináljuk azokat a k-sorozat jelölteket, amelyek aktuális támogatottsága kisebb mint minsup.

Jelölt generálás Alapeset (k=2): Általános eset (k>2): Két 1-sorozat, <{i1}> és <{i2}>, összevonása két 2-sorozat jelöltet eredményez: <{i1} {i2}> és <{i1 i2}> Általános eset (k>2): Egy w1 gyakori (k-1)-sorozatot összevonunk egy másik w2 gyakori (k-1)-sorozattal, hogy egy k-sorozat jelöltet kapjunk, ha az a részsorozat, amelyet w1 első elemének törlésével kapunk megegyezik azzal a sorozattal, amelyet w2 utolsó elemének a törlésével kapunk. Az összevonás eredményéül kapott jelölt a w1 sorozat w2 utolsó eleme általi kiterjesztésével adódik. Ha w2 két utolsó eseménye ugyanahhoz az elemhez tartozik, akkor w2 utolsó eseménye w1 utolsó elemének része lesz, egyébként a w2 –beli utolsó esemény egy különálló eseményként fűzzük w1 végére.

Jelölt generálási példák Vonjuk össze az alábbi sorozatokat w1=<{1} {2 3} {4}> és w2 =<{2 3} {4 5}> Eredményül a < {1} {2 3} {4 5}> sorozatot kapjuk, mivel w2 két utolsó eseménye, 4 és 5, ugyanahhoz az elemhez tartozik. Vonjuk össze az alábbi sorozatokat w1=<{1} {2 3} {4}> és w2 =<{2 3} {4} {5}> Eredményül a < {1} {2 3} {4} {5}> sorozatot kapjuk, mivel w2 két utolsó eseménye 4 és 5, nem ugyanahhoz az elemhez tartozik. Nem kell összevonnunk a w1 =<{1} {2 6} {4}> és w2 =<{1} {2} {4 5}> hogy a < {1} {2 6} {4 5}> jelöltet megkapjuk, mivel ha az utóbbi életképes jelölt, akkor megkapható w1 –nek a < {1} {2 6} {5}> sorozattal való összevonásával.

GSP példa

Időbeli kényszerek (I) {A B} {C} {D E} xg: max-rés ng: min-rés ms: maximális fedés <= xg >ng <= ms xg = 2, ng = 0, ms= 4 Adatsorozat Részsorozat Tartalmazza-e? < {2,4} {3,5,6} {4,7} {4,5} {8} > < {6} {5} > Igen < {1} {2} {3} {4} {5}> < {1} {4} > Nem < {1} {2,3} {3,4} {4,5}> < {2} {3} {5} > < {1,2} {3} {2,3} {3,4} {2,4} {4,5}> < {1,2} {5} >

Szekvenciális mintázatok bányászata időbeli kényszerrel 1. megközelítés: Bányásszunk szekvenciális mintázatot időbeli kényszer nélkül. Dolgozzuk fel utólagosan a feltárt mintázatokat. 2. megközelítés: Módosítsuk a GSP módszert úgy, hogy közvetlenül tisztítjuk azokat a jelölteket, amelyek nem tesznek eleget az időbeli kényszernek. Kérdés: Érvényben marad-e még az Apriori elv?

Apriori elv szekvenciális adatokra Tegyük fel: xg = 1 (max-rés) ng = 0 (min-rés) ms = 5 (maximális fedés) minsup = 60% <{2} {5}> támogatottság = 40% de <{2} {3} {5}> támogatottság = 60% Probléma merül fel a max-rés kényszer miatt. Nem merül fel ez a probléma ha a max-rés végtelen.

Folyamatos részsorozatok s folyamatos részsorozata az alábbi sorozatnak w = <e1>< e2>…< ek> ha az alábbi feltételek egyike teljesül: s úgy adódik w-ből, hogy egy tételt törlünk e1 –ből vagy ek-ből s úgy adódik w -ből, hogy egy olyan tételt törlünk ei –ből, amely 2-nél több eseményt tartalmaz s folyamatos részsorozata s’-nek és s’ folyamatos részsorozata w-nek (recurzív definíció) Példák: s = < {1} {2} > folyamatos részsorozata az alábbiaknak < {1} {2 3}>, < {1 2} {2} {3}> és < {3 4} {1 2} {2 3} {4} > nem folyamatos részsorozata az alábbiaknak < {1} {3} {2}> és < {2} {1} {3} {2}>

Módosított jelölt metszési lépés A max-rés kényszer nélkül: A k-sorozat jelöltet eltávolítjuk ha (k-1)-részsorozatai közül legalább az egyik nem gyakori. A max-rés kényszerrel: A k-sorozat jelöltet eltávolítjuk ha folyamatos (k-1)- részsorozatai közül legalább az egyik nem gyakori.

Időbeli kényszerek (II) xg: max-rés ng: min-rés ws: ablak nagyság ms: maximális fedés {A B} {C} {D E} <= ms <= xg >ng <= ws xg = 2, ng = 0, ws = 1, ms= 5 Adatsorozat Részsorozat Tartalmazás? < {2,4} {3,5,6} {4,7} {4,6} {8} > < {3} {5} > Nem < {1} {2} {3} {4} {5}> < {1,2} {3} > Igen < {1,2} {2,3} {3,4} {4,5}> < {1,2} {3,4} >

Módosított támogatottság számlálás Adott egy mintázat jelölt: <{a, c}> Az összes adatsorozat, amely tartalmazza a <… {a c} … >, <… {a} … {c}…> ( ahol idő({c}) – idő({a}) ≤ ws) <…{c} … {a} …> (ahol idő({a}) – idő({c}) ≤ ws) sorozatokat hozzájárul a mintázat jelölt támogatottsági számához.

Egy más modell Bizonyos területeken csak egy nagyon hosszú idősorunk van. Példa: hálózati forgalmi események monitorozása támadások miatt telekommunikációs riasztási jelek monitorozása A cél az, hogy események gyakori sorozatait találjuk meg az idősorban A feladat gyakori epizód bányászatként is ismert E1 E2 E3 E4 E1 E2 E1 E2 E2 E4 E3 E5 E1 E2 E2 E3 E5 E1 E2 E3 E4 E3 E1 Mintázat: <E1> <E3>

Altalános támogatottságot számoló eljárások Tegyük fel: xg = 2 (max-rés) ng = 0 (min-rés) ws = 0 (ablak nagyság) ms = 2 (maximális fedés)

Gyakori részgráf bányászat Terjesszük ki az asszociációs szabály bányászatot gyakori részgráfok keresésére. Hasznos a web-bányászatban, számítógépes ké- miában, bioinformatikában, térbeli adatoknál, stb.

Gráf definíciók

Tranzakciók gráf-reprezentációja Minden tranzakció tételek egy klikkje

Tranzakciók gráf-reprezentációja

Kihívások Egy csúcs duplikált címkéket is tartalmazhat Támogatottság és megbízhatóság Hogyan definiáljuk őket? További kényszerek fakadhatnak a mintázat szerkezetéből Támogatottság és megbízhatóság nem az egyetlen kényszer Feltevés: a gyakori részgráfok összefüggőek Apriori-szerű megközelítés: Használjuk a gyakori k-részgráfokat a gyakori (k+1)-részgráfok előállítására. Mi legyen k?

Kihívások Támogatottság: Az apriori elv még érvényben marad Számos olyan gráf van, amely egy speciális részgráfot tartalmaz. Az apriori elv még érvényben marad Szintenkénti (Apriori-szerű) megközelítés: Csúcsnövelés: k a csúcsok száma Élnövelés: k az élek száma

Csúcsnövelés

Élnövelés

Apriori-szerű algoritmus Keressük meg a gyakori 1-részgráfokat Ismételjük Jelölt generálás Használjuk a gyakori (k-1)-részgráfokat a k-részgráf jelöltek előállítására. Jelölt metszés Töröljük azokat a részgráf jelölteket, amelyeknek van nem gyakori (k-1)-részgráfja. Támogatottság számlálás Számoljuk össze a támogatottságát mindegyik megmaradt jelöltnek. Töröljük azokat a k-részgráf jelölteket, amelyek nem gyakoriak. A gyakorlatban ez nem könnyű. Sok más szempont is létezik.

Példa: adatállomány

Példa

Jelölt generálás Aprioriban: Két gyakori k-tételcsoport összevonása eredményez egy (k+1)-tételcsoport jelöltet. Gyakori részgráf bányászatban (csúcs/él- növelés) Két gyakori k-részgráf összevonása eredményez egy (k+1)-részgráf jelöltet.

A jelöltek multiplicitása (csúcsnövelés)

A jelöltek multiplicitása (élnövelés) 1. eset: azonos csúcs címkék

A jelöltek multiplicitása (élnövelés) 2. eset: A mag azonos címkéjű csúcsokat tartalmaz Mag: Az a (k-1)-részgráf, amely közös a gráfokban

A jelöltek multiplicitása (élnövelés) 3. eset: Mag multiplicitás

Adjacencia mátrix reprezentáció Ugyanaz a gráf sokféleképpen reprezentálható

Gráf izomorfizmus Egy gráf izomorf ha topológiailag ekvivalens egy másik gráffal.

Gráf izomorfizmus Próba szükséges a gráf izomorfizmus vizsgálatára: A jelölt generálási lépés során határozzuk meg, hogy egy jelöltet korábban nem generáltunk-e már. A jelölt metszési lépés során ellenőrizzük, hogy egy jelölt (k-1)-részgráfjai gyakoriak-e. A támogatottság számlálás során ellenőrizzük, hogy egy jelölt nem része-e egy másik gráfnak.

Gráf izomorfizmus Használjunk kanonikus címkézést az izomorfizmus kezelésére. Képezzünk le minden gráfot egy rendezett stringgé úgy, hogy két izomorf gráfnak ugyanaz legyen a kanonikus kódolása. Példa: Lexicografikusan legnagyobb adjacencia mátrix Sztring: 0010001111010110 Kanonikus: 0111101011001000