• Nem Talált Eredményt

Adatbányászat: Asszociációs szabályok

N/A
N/A
Protected

Academic year: 2022

Ossza meg "Adatbányászat: Asszociációs szabályok"

Copied!
68
0
0

Teljes szövegt

(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

(2)

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.

(3)

Folytonos és kategorikus attributumok

Session Id

Ország Session hossz

(sec)

Megtekintett weblapok

száma

Nem Böngé-

sző Vétel

1 USA 982 8 Férfi IE Nem

2 Kína 811 10 Nő Netscape Nem

3 USA 2125 45 Nő Mozilla Igen

4 Németo. 596 4 Férfi IE Igen

5 Ausztrá-

lia 123 9 Férfi Mozilla Nem

… … … … … … …

10

Példa asszociációs szabályra:

{Lapok száma [5,10)  (Böngésző=Mozilla)}  {Vétel = Nem}

Hogyan alkalmazhatjuk az asszociációs elemzést nem

aszimmetrikus bináris változókra?

(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

 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:

Osztály v

1

v

2

v

3

v

4

v

5

v

6

v

7

v

8

v

9

Rendellenes 0 0 20 10 20 0 0 0 0

Normális 15 0

100 0 0 0 100 100 150 100

bin 1 bin 2 bin 3

Attributum értékek, v

(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(n 2 ) 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) 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.

X

közelítő X

(12)

Érdekességi mértékek

 Adott Z = {z 1 , z 2 , …, z k } tételcsoport és Z’ = {z 1 ’, z 2 ’, …, z k ’} általánosítása

P(Z): Z támogatottsága

E Z’ (Z): Z-nek Z’-n alapuló várt támogatottsága

– Z R-érdekes Z’-re nézve ha P(Z)  R  E

Z’

(Z)

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

) ' ( )

' (

) ( )

' (

) ( )

' (

) ) (

(

2 2

1 1

'

P Z

z P

z P z

P z P z

P z Z P

E

k k

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

E S’ (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  E

S’

(S) vagy – Megbízhatóság: P(Y|X)  R  E

S’

(Y|X)

) '

|' ( )

' (

) (

) ' (

) (

) ' (

) ) (

| (

2 2

1

1

P Y X

y P

y P y

P y P y

P y X P

Y E

k

k

 

(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

2 2 2 1

2 1

'

n s n

s Z

   

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

11 . 3 250

5 . 6 50

5 . 3

5 23 30

'

2 2

2 2 2 1

2 1

 

 

n s n

s

Z  

(17)

Min-Apriori (Han és társai)

TID W1 W2 W3 W4 W5

D1 2 2 0 0 1

D2 0 0 1 2 2

D3 2 3 0 0 0

D4 0 0 1 0 1

D5 1 1 1 0 2

Példa:

W1 és W2 hajlamos rá, hogy ugyanazokban a dokumentumokban jelenjen meg

Dokumentum-szó mátrix:

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

TID W1 W2 W3 W4 W5

D1 2 2 0 0 1

D2 0 0 1 2 2

D3 2 3 0 0 0

D4 0 0 1 0 1

D5 1 1 1 0 2

(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 L

1

normát

 Minden szónak 1.0-gyel egyenlő támogatottsága lesz

TID W1 W2 W3 W4 W5

D1 2 2 0 0 1

D2 0 0 1 2 2

D3 2 3 0 0 0

D4 0 0 1 0 1

D5 1 1 1 0 2

TID W1 W2 W3 W4 W5 D1 0.40 0.33 0.00 0.00 0.17 D2 0.00 0.00 0.33 1.00 0.33 D3 0.40 0.50 0.00 0.00 0.00 D4 0.00 0.00 0.33 0.00 0.17 D5 0.20 0.17 0.33 0.00 0.33

Normali-

záljunk

(20)

Min-Apriori

 A támogatottság új definíciója:

 

T

i j C

D i j

C ) ( , )

sup( min

Példa:

sup(W1,W2,W3)

= 0 + 0 + 0 + 0 + 0.17

= 0.17

TID W1 W2 W3 W4 W5

D1 0.40 0.33 0.00 0.00 0.17

D2 0.00 0.00 0.33 1.00 0.33

D3 0.40 0.50 0.00 0.00 0.00

D4 0.00 0.00 0.33 0.00 0.17

D5 0.20 0.17 0.33 0.00 0.33

(21)

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

TID W1 W2 W3 W4 W5

D1 0.40 0.33 0.00 0.00 0.17

D2 0.00 0.00 0.33 1.00 0.33

D3 0.40 0.50 0.00 0.00 0.00

D4 0.00 0.00 0.33 0.00 0.17

D5 0.20 0.17 0.33 0.00 0.33

(22)

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

Food

Bread

Milk

Skim 2%

Electronics

Computers Home

Desktop Laptop Wheat White

Foremost Kemps

DVD TV

Printer Scanner

Accessory

(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

10 15 20 25 30 35

2 3 5

6 1

1

Timeline

Object A:

Object B:

Object C:

4 5 6

2 7

8 1 2

1 6

1 7 8

Objektum Időbélyeg Események

A 10 2, 3, 5

A 20 6, 1

A 23 1

B 11 4, 5, 6

B 17 2

B 21 7, 8, 1, 2

B 28 1, 6

C 14 1, 8, 7

Szekvenciális adatbázis:

(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

Sorozat

E1

E2 E1

E3 E2 E3

E2 E4 Elem

(Tranzakció) Esemény

(Tétel)

(29)

A sorozat formális definíciója

 Egy sorozat elemek (tranzakciók) egy rendezett listája

s = < e

1

e

2

e

3

… >

– Minden elem események (tételek) egy összességét tartalmazza

e i = {i 1 , i 2 , …, i k }

– 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 <a 1 a 2 … a n > sorozat része egy másik <b 1 b 2 … b m >

sorozatnak (m ≥ n) ha léteznek olyan i 1 < i 2 < … < i n számok, hogy a 1  b i1 , a 2  b i1 , …, a n  b in .

 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} > Igen

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

126 4

9 : Válasz

 

 

 

 

 

k

n

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

O b je c t T im e s ta m p E v e n ts

A 1 1 ,2 ,4

A 2 2 ,3

A 3 5

B 1 1 ,2

B 2 2 ,3 ,4

C 1 1 , 2

C 2 2 ,3 ,4

C 3 2 ,4 ,5

D 1 2

D 2 3 , 4

D 3 4 , 5

E 1 1 , 3

E 2 2 , 4 , 5

(35)

Szekvenciális minták kinyerése

 Adott n számú esemény: i 1 , i 2 , i 3 , …, i n

 Jelöltek 1-részsorozatokra:

<{i

1

}>, <{i

2

}>, <{i

3

}>, …, <{i

n

}>

 Jelöltek 2-részsorozatokra:

<{i

1

, i

2

}>, <{i

1

, i

3

}>, …, <{i

1

} {i

1

}>, <{i

1

} {i

2

}>, …, <{i

n-1

} {i

n

}>

 Jelöltek 3-részsorozatokra:

<{i

1

, i

2

, i

3

}>, <{i

1

, i

2

, i

4

}>, …, <{i

1

, i

2

} {i

1

}>, <{i

1

, i

2

} {i

2

}>, …,

<{i

1

} {i

1

, i

2

}>, <{i

1

} {i

1

, i

3

}>, …, <{i

1

} {i

1

} {i

1

}>, <{i

1

} {i

1

} {i

2

}>, …

(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):

– Két 1-sorozat, <{i

1

}> és <{i

2

}>, összevonása két 2-sorozat jelöltet eredményez: <{i

1

} {i

2

}> és <{i

1

i

2

}>

 Általános eset (k>2):

– Egy w

1

gyakori (k-1)-sorozatot összevonunk egy másik w

2

gyakori (k-1)-sorozattal, hogy egy k-sorozat jelöltet kapjunk, ha az a

részsorozat, amelyet w

1

első elemének törlésével kapunk

megegyezik azzal a sorozattal, amelyet w

2

utolsó elemének a törlésével kapunk.

Az összevonás eredményéül kapott jelölt a w

1

sorozat w

2

utolsó eleme általi kiterjesztésével adódik.

– Ha w

2

két utolsó eseménye ugyanahhoz az elemhez tartozik, akkor w

2

utolsó eseménye w

1

utolsó elemének része lesz,

– egyébként a w

2

–beli utolsó esemény egy különálló eseményként fűzzük

w

1

végére.

(38)

Jelölt generálási példák

 Vonjuk össze az alábbi sorozatokat w

1

=<{1} {2 3} {4}> és w

2

=<{2 3} {4 5}>

Eredményül a < {1} {2 3} {4 5}> sorozatot kapjuk, mivel w

2

két utolsó eseménye, 4 és 5, ugyanahhoz az elemhez tartozik.

 Vonjuk össze az alábbi sorozatokat

w

1

=<{1} {2 3} {4}> és w

2

=<{2 3} {4} {5}>

Eredményül a < {1} {2 3} {4} {5}> sorozatot kapjuk, mivel w

2

két utolsó eseménye 4 és 5, nem ugyanahhoz az elemhez tartozik.

 Nem kell összevonnunk a

w

1

=<{1} {2 6} {4}> és w

2

=<{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ó w

1

–nek a < {1} {2 6} {5}>

sorozattal való összevonásával.

(39)

GSP példa

< {1} {2} {3} >

< {1} {2 5} >

< {1} {5} {3} >

< {2} {3} {4} >

< {2 5} {3} >

< {3} {4} {5} >

< {5} {3 4} >

< {1} {2} {3} {4} >

< {1} {2 5} {3} >

< {1} {5} {3 4} >

< {2} {3} {4} {5} >

< {2 5} {3 4} > < {1} {2 5} {3} >

Frequent 3-sequences

Candidate Generation

Candidate

Pruning

(40)

Időbeli kényszerek (I)

{A B} {C} {D E}

<= m

s

<= x

g

>n

g

x

g

: max-rés n

g

: min-rés

m

s

: maximális fedés

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

< {1,2} {3} {2,3} {3,4} {2,4} {4,5}> < {1,2} {5} > Nem

x

g

= 2, n

g

= 0, m

s

= 4

(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

O b je c t T im e s ta m p E v e n ts

A 1 1 ,2 ,4

A 2 2 ,3

A 3 5

B 1 1 ,2

B 2 2 ,3 ,4

C 1 1 , 2

C 2 2 ,3 ,4

C 3 2 ,4 ,5

D 1 2

D 2 3 , 4

D 3 4 , 5

E 1 1 , 3

E 2 2 , 4 , 5

Tegyük fel:

x

g

= 1 (max-rés) n

g

= 0 (min-rés)

m

s

= 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 = <e

1

>< e

2

>…< e

k

>

ha az alábbi feltételek egyike teljesül:

1. s úgy adódik w-ből, hogy egy tételt törlünk e

1

–ből vagy e

k

-ből 2. s úgy adódik w -ből, hogy egy olyan tételt törlünk e

i

–ből, amely

2-nél több eseményt tartalmaz

3. 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)

{A B} {C} {D E}

<= m

s

<= x

g

>n

g

<= ws

x

g

: max-rés n

g

: min-rés

ws: ablak nagyság m

s

: maximális fedés

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

x

g

= 2, n

g

= 0, ws = 1, m

s

= 5

(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

E1 E2

E1 E2 E3

E4 E3 E4

E1 E2

E2 E4 E3 E5

E2 E3 E5

E1

E2 E3 E1

Mintázat: <E1> <E3>

(48)

Altalános támogatottságot számoló eljárások

p

Object's Timeline

Sequence: (p) (q) Method Support

Count

COBJ 1

1

CWIN 6

CMINWIN 4

p q

p

q q

p

q q p

2 3 4 5 6 7

CDIST_O 8

Tegyük fel:

x

g

= 2 (max-rés) n

g

= 0 (min-rés)

ws = 0 (ablak nagyság)

m

s

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

Databases Homepage

Research

Artificial Intelligence

Data Mining

(50)

Gráf definíciók

a

b a

c c

b

(a) Labeled Graph

p q

p

p r

s t

r

t

q p

a

a

c

b

(b) Subgraph

p s t

p

a

a

c

b

(c) Induced Subgraph

p

r

s t

r

p

(51)

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

 Minden tranzakció tételek egy klikkje

Tranzakció

azonosító Tételek

1 {A,B,C,D}

2 {A,B,E}

3 {B,C}

4 {A,B,D,E}

5 {B,C,D}

A

B

C

D

E

TID = 1:

(52)

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

a

b

e

c p

q

r p

a

b

d p

r

G1 G2

q

e

c

a

p q

r b

p

G3

d r

d r

(a,b,p) (a,b,q) (a,b,r) (b,c,p) (b,c,q) (b,c,r) … (d,e,r)

G1 1 0 0 0 0 1 … 0

G2 1 0 0 0 0 0 … 0

G3 0 0 1 1 0 0 … 0

G3 … … … … … … … …

(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:

– 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

a

a

e

a p

q

r

p

a

a

a p

r r

d

G1 G2

p



 



 

0 0 0

0 0

0 0

0

1

q r p

r p

q p p M

G



 



 

0 0

0

0 0 0

0 0

2

r r r

p

r p

p p M

G

a

a

a p

q

r

e p

 

 

 

 

 

 

0 0 0 0

0 0 0

0

0 0

0 0 0

0 0

3

q

r r r

p

r p

q p

p

M

G

G3 = join(G1,G2)

r d

+

(56)

Élnövelés

a

a

f

a p

q

r

p

a

a

a p

r r

f

G1 G2

p

a

a

a p

q

r p f

G3 = join(G1,G2)

+ r

(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

a

b

e

c p

q

r p

a

b

d p

r

G1 G2

q

e

c

a

p q

r b

p

G3

d r

d r

(a,b,p) (a,b,q) (a,b,r) (b,c,p) (b,c,q) (b,c,r) … (d,e,r)

G1 1 0 0 0 0 1 … 0

G2 1 0 0 0 0 0 … 0

G3 0 0 1 1 0 0 … 0

G4 0 0 0 0 0 0 … 0

a e

q

c d

p p

p

G4

r

(59)

Példa

p

a b c d e

k=1

Frequent Subgraphs

a b

p

c d

p

c e

q

a e

r

b d

p

a b

d r

p

d c

e p

(Pruned candidate) Minimum support count = 2

k=2

Frequent Subgraphs

k=3

Candidate

Subgraphs

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

a

a

e

a p

q

r

p

a

a

a p

r r

d

G1 G2

p



 



 

0 0 0

0 0

0 0

0

1

q r p

r p

q p p M

G



 



 

0 0

0

0 0 0

0 0

2

r r r

p

r p

p p M

G

a

a

a p

q

r

e p

 

 

 

 

 

 

0

? 0 0

? 0 0

0

0 0

0 0 0

0 0

3

q

r r r

p

r p

q p

p

M

G

G3 = join(G1,G2)

r d

?

+

(62)

A jelöltek multiplicitása (élnövelés)

 1. eset: azonos csúcs címkék

a

b e

c

a

b e

c

+

a

b e

c

a e

b e

c

(63)

A jelöltek multiplicitása (élnövelés)

 2. eset: A mag azonos

címkéjű csúcsokat tartalmaz

+

a

a a

a

c b

a

a a

a

c

a

a a

a

c b

b a

a

a

a

b a

a

a

a

c

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

a a b

+

a

a

a a

b

a a

b

a

a a b

a a

a b

a b

a a

b

a a

(65)

Adjacencia mátrix reprezentáció

A(1) A(2) B (6)

A(4) B (5)

A(3)

B (7) B (8)

A(1) A(2) A(3) A(4) B(5) B(6) B(7) B(8)

A(1) 1 1 1 0 1 0 0 0

A(2) 1 1 0 1 0 1 0 0

A(3) 1 0 1 1 0 0 1 0

A(4) 0 1 1 1 0 0 0 1

B(5) 1 0 0 0 1 1 1 0

B(6) 0 1 0 0 1 1 0 1

B(7) 0 0 1 0 1 0 1 1

B(8) 0 0 0 1 0 1 1 1

A(2) A(1) B (6)

A(4) B (7)

A(3)

B (5) B (8)

A(1) A(2) A(3) A(4) B(5) B(6) B(7) B(8)

A(1) 1 1 0 1 0 1 0 0

A(2) 1 1 1 0 0 0 1 0

A(3) 0 1 1 1 1 0 0 0

A(4) 1 0 1 1 0 0 0 1

B(5) 0 0 1 0 1 0 1 1

B(6) 1 0 0 0 0 1 1 1

B(7) 0 1 0 0 1 1 1 0

B(8) 0 0 0 1 1 1 0 1

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

A

A

A A

B A

B

A

B B

A

A

B B

B

B

(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

 

 

 

 

0 1

1 0

1 0

1 1

1 1

0 0

0 1

0 0

Sztring: 0010001111010110

 

 

 

 

0 0

0 1

0 0

1 1

0 1

0 1

1 1

1 0

Kanonikus: 0111101011001000

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

ábra mutatja be. osztályos tanulók minden tantárgy kedveltségét alacsonyabb szinten je- lölték meg. Különösen figyelemre méltó a kémia zuhanásszerű

a „M.”, három évvel fiatalabb tőlem, ő ő egy ilyen hát nem tudom pedagógiai szakközépiskolát végzett, ott érettségizett, majd az mellett még egy ilyen OKJ-s

-Bihar County, how the revenue on city level, the CAGR of revenue (between 2012 and 2016) and the distance from highway system, Debrecen and the centre of the district.. Our

Óriási hírverés közepette csökkentsük a pelenka árát (mondjuk 15%-kal), miközben diszkréten megemeljük a sör árát (mondjuk 30%-kal), úgy hogy a pelenka

Lower risk for Down syndrome associated with longer oral contraceptive use: a case- control study of women of advanced maternal age presenting for prenatal diagnosis..

MÁSODFOKÚ EGYENLETEK ÉS EGYENLŽTLENSÉGEK Készítette: Lovics Gábor.. Szakmai felel®s:

Derékszög¶ háromszögben igaz a Pitagorász-tétel: egy háromszög akkor és csak akkor derékszög¶, ha létezik két olyan oldala (a és b), melyek hosszának

Mivel a szinusz és a koszinusz függvények egy perióduson belül sem kölcsönösen egyértelm¶ hozzárendelések, ezért a perióduson belül is meg kell szorítsuk a függvényt...