Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

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

Hasonló előadás


Az előadások a következő témára: "Adatbányászat: Asszociációs szabályok Haladó fogalmak és algoritmusok"— Előadás másolata:

1 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

2 Logók és támogatás A tananyag a TÁMOP /1/A 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.

3 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}

4 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

5 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

6 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

7 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

8 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}

9 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}

10 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.

11 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) 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

12 É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)

13 É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)

14 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.

15 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

16 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.

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

18 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.

19 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

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

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

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

23 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

24 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

25 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.

26 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.

27 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

28 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

29 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.

30 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}>

31 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} >

32 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

33 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}>

34 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%

35 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}>, …

36 Á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.

37 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.

38 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.

39 GSP példa

40 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} >

41 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?

42 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.

43 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}>

44 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.

45 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} >

46 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.

47 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>

48 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)

49 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.

50 Gráf definíciók

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

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

53 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?

54 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

55 Csúcsnövelés

56 Élnövelés

57 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.

58 Példa: adatállomány

59 Példa

60 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.

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

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

63 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

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

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

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

67 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.

68 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: Kanonikus:


Letölteni ppt "Adatbányászat: Asszociációs szabályok Haladó fogalmak és algoritmusok"

Hasonló előadás


Google Hirdetések