Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
REGU LY ASOCJACYJNE
Nguyen Hung SonWydzia l Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Outline
1 Dane transakcyjne 2 Regu ly asocjacyjne3 Szukanie regu l asocjacyjnych
4 Ulepszenie algorytmu Apriori
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Motywacje
Lista autor´ow (items)
A Jane Austen C Agatha Christie
D Sir Arthur Conan Doyle T Mark Twain
W G. Wodehouse
Transakcje
TID Kupione ksia˙zki,
10 A C T W 20 C D W 30 A C T W 40 A C D W 50 A C D T W 60 C D T
Znajd´z wzorce zachowa´n klient´ow., np.
Co jest czesto kupopwane? (modne?, sezonowe?), Kt´ore tytu ly sa kupione razem?,
Co robi´c, aby przyciaga´, c klient´ow? ...
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
W jakiej formie wyrazi´
c wzorzec
zachowa´
n klient´
ow?
macierz kolokacji: A C D T W A 4 4 2 3 4 C 4 6 4 4 5 D 2 4 4 2 W T 3 4 2 4 W W 4 5 3 3 5 Regu ly A =⇒ C, C =⇒ W , AC =⇒ T , T =⇒ ACW .
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Outline
1 Dane transakcyjne 2 Regu ly asocjacyjne3 Szukanie regu l asocjacyjnych
4 Ulepszenie algorytmu Apriori
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Regu ly asocjacyjne
Podstawowe oznaczeniaPozycje (ang. items) opisuja dost, epne towary. Zak lada, sie, ˙ze zbiorem wszystkich towar´, ow jest
I = {i1, i2, ..., im} (items)
baza transakcji D = {(tid1, T1), (tid2, T2)...} zawiera
transakcje jako pary (tidj, Tj), gdzie:
- tidj : unikalny identyfikator
- Tj ⊂ I : zbi´or zakupionych towar´ow .
itemset: ka˙zdy podzbi´or zbioru towar´ow I; k-itemset: podzbi´or o k elementach.
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Regu ly asocjacyjne
DefinitionRegu la asocjacyjn, a nazywamy ka˙zd, a implikacj, e typu,
X =⇒ Y
gdzie X, Y sa itemsetami. Jako´s´, c takiej regu ly mierzymy jest funkcjami: wsparcie (support) support(X =⇒ Y ) = s(X ∪ Y ) wiarygodno´s´c (confidence) conf idence(X =⇒ Y ) = s(X ∪ Y ) s(X)
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Przyk lad
Lista autor´ow (items)
A Jane Austen C Agatha Christie
D Sir Arthur Conan Doyle T Mark Twain
W G. Wodehouse
Transakcje
TID Kupione ksia˙zki,
10 A C T W 20 C D W 30 A C T W 40 A C D W 50 A C D T W 60 C D T
Regu ly wsparcie st. wiar.
A =⇒ C 4 100%
C =⇒ W 5 83,3%
AC =⇒ T 4 75%
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Sformu lowanie problemu
Problem
Dane sa:,
zbi´or pozycji I = {i1, i2, ..., im}
baza transakcji D = {(tid1, T1), (tid2, T2)...}
sta le sup min = minimalna warto´s´c wsparcia i conf min = minimalny stopie´n wiarygodno´sci
Problem: Znale´z´c wszystkie regu ly asocjacyjne o
- wsparciu ≥ sup min
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Outline
1 Dane transakcyjne 2 Regu ly asocjacyjne3 Szukanie regu l asocjacyjnych
4 Ulepszenie algorytmu Apriori
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Problem obliczeniowy
Liczba wszystkich regu l asocjacyjnych wynosi 3n,
gdzie n jest liczba item´, ow.
Sprawdzanie wszystkich regu l jest nie wykonywalne! Proponowano r´o˙zne metody szukania z u˙zyciem r´o˙znych technik oblicze´n: sekwencyjne, r´ownoleg le.
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Schemat wyszukiwania regu l
Wiekszo´s´, c istniejacych algorytm´, ow dzia la w dw´och krokach:
Znajd´z czeste zbiory:, znajd´z itemsets o wsparciu wiekszym ni˙z min sup (frequent itemsets).,
Podzia l czestych zbi´, or´ow: dla ka˙zdego czestego, zbioru, znajd´z podzia ly tego zbioru na 2 podzbiory w taki spos´ob, by powsta ly regu ly o st. wiarygodno´sci wiekszym ni˙z,
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Przyk lad
TransakcjeTID Kupione ksia˙zki,
10 A C T W 20 C D W 30 A C T W 40 A C D W 50 A C D T W 60 C D T Czeste zbiory,
wsparcie Frequent itemsets 100% (6) C 83% (5) CW 67% (4) A, D, T, AC, AW, CD, CT, ACW 50% (3) AT, DW, TW, ACT, ATW, CDW, CTW, ACTW Min. wsparcie = 3 (50%) Min. wiarygodno´s´c = 75% Regu ly dlaAC: A =⇒ C (100% wiarygodno´sci) C =⇒ A (66% wiarygodno´s´c)
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Wyznaczanie cz
estych zbior´
,ow
Obserwacje:
Je´sli {A,B} jest czestym zbiorem, to {A} i {B} te˙z, musza by´, c czestymi zbiorami.,
Og´olniej: je´sli X czestym k-elementowym zbiorem, to, wszystkie (k − 1)-elementowe podzbiory X te˙z sa, czeste.,
Idea:
Znajd´z wszystkie 1-elementowe czeste zbiory,
Generuj 2-elementowe czeste zbiory z 1-elementowych, czestych zbior´, ow
...
Generuj k-elementowe czeste zbiory poprzez l, aczenie, (k − 1)-elementowych czestych zbior´, ow
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Algorytm Apriori
Algorytm Apriori1: C1:= I; F1 := rodzina 1-elem. zbior´ow czestych,
2: for (k = 2; Fk−1 6= ∅; k + +) do
3: Ck:= AprioriGen(Fk−1);
4: //generowanie nowych kandydat´ow
5: Fk := {X ∈ Ck: support(X) ≥ min sup}
6: end for
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Przyk lad
TransakcjeTID Kupione ksia˙zki,
10 A C T W 20 C D W 30 A C T W 40 A C D W 50 A C D T W 60 C D T minimalne wsparcie = 3 ufno´s´c = 80% Czeste zbiory, Frequent itemsets F1 A, C, D, T, W
C2 AC, AD, AT, AW ...
F2
AC, AT, AW, CD, CT, CW, DW, TW
C3 ACT, ACW, ATW, CDW, CTW
F3
ACT, ACW, ATW, CDW
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Funkcja AprioriGen
Funkcja AprioriGen(Fk−1) posiada dwa g l´owne kroki:
Laczenie: do C, k wstawiamy sumy takich par
X, Y ∈ Fk−1, kt´ore maja wsp´, olne k − 2 poczatkowych,
element´ow. Np. dla
Fk−1 = {AB, AC, AD, AE, BC, BD, BE}
mamy
Ck= {ABC, ABD, ABE, ACD, ACE,
ADE, BCD, BCE, BDE} Obcinanie: Usuwamy z Ck te zbiory, kt´orych nie
wszystkie podzbiory (k − 1)-elementowe sa w F, k−1.
Np. mo˙zemy usuwa´c ACD, poniewa˙z CD nie znajduje sie w F, k−1. Po obcinaniu otzrymujemy
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Generowanie regu l
Problem: Niech X bedzie zbiorem cz, estym. Znale´, z´c Y ⊂ X taki, ˙ze
conf idence(X \ Y =⇒ Y ) > min conf Obserwacja:
”Je´sli AB =⇒ CD jest wiarygodna regu l, a, to regu ly,
ABC =⇒ D i ABD =⇒ C te˙z sa,”
Strategie:
Przerzuca´c na prawa stron, e po kolei pojedy´, ncze elementy.
Stosowa´c funkcje AprioriGen() do generowania zbioru, warunkowanego Y
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Outline
1 Dane transakcyjne 2 Regu ly asocjacyjne3 Szukanie regu l asocjacyjnych
4 Ulepszenie algorytmu Apriori
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Ulepszenie algorytmu Apriori
Algorytm Apriori musi przeglada´, c ca la baz, e danych w, celu obliczenia wsparcia dla kandydat´ow
Ulepszenie: nowa struktura, kt´ora zawiera wy lacznie, transakcje, kt´ore moga wspiera´, c aktualnych
kandydat´ow.
1 counting base: nowa struktura danych, kt´ora jest uaktualniana dla ka˙zdego kroku k;
2 Algorytm AprioriT id: oblicza wsparcie dla kandydat´ow skanujac wy l, acznie struktur, e counting base;,
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Algorytm AprioriTid
AprioriTidWej´scie: zbi´or transakcji D, min sup - minimalne wsparcie
Wyj´scie: zbi´or wszystkich czestych itemset´, ow F
//CBk- zbi´or counting base obliczony w k-tym kroku
1: C1:= I; F1 := rodzina 1-elem. zbior´ow czestych,
2: for (k = 2; Fk−1 6= ∅; k + +) do
3: Ck:= AprioriGen(Fk−1);
4: //generowanie nowych kandydat´ow
5: CBk =Counting base generate (Ck, CBk−1);
6: Support count(Ck, CBk);
7: Fk := {X ∈ Ck: support(X) ≥ min sup}
8: end for
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Generowanie struktur
e Counting base
,CBk= skojarzy ka˙zda transakcj, e t z list, a kandydat´, ow
wystepuj, acych w t;, Elementami CBk sa pary:,
(t.T ID, {c ∈ Ck|c ⊂ t}) = (t.T ID, Sk(t.T ID))
Je´sli jaka´s transakcja nie zawiera kandydat´ow
k-elementowych, to zostanie ona usunieta z CBk i ze
wszystkich nastepnych zbior´, ow counting base; Mo˙zna to wyznaczy´c metoda iteracyjn, a:,
CB1:= ca la baza transakcji
CBk := {(i, Sk(i))}, gdzie Sk(i) powstaje z Sk−1(i) w nastepuj, acy spos´, ob:
JE´SLI {u1...ui−2, a} i {u1...ui−2, b} ∈ Fi−1∩ CBk−1 TO {u1, ...ui−2, a, b} ∈ Sk(i)
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Przyk lad
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
AprioriHybrid
AprioriTid przeszukuje tablice CBk zamiast skanowaia
ca la baz, e transakcyjn, a;,
Jest efektywny wtedy, gdy CBk jest dostatecznie ma la wzgledem rozmiaru ca lej bazy.,
AprioriTid jest lepszy od Apriori wtedy, gdy
CBk mie´sci sie w pami, eci;,
Czeste zbiory maj, a rozk lad z ”d lugim ogonkiem”!,
AprioriHybrid
wykonuje Apriori w pierwszych iteracjach
prze laczy na AprioriTid wtedy, gdy spodziewmy, ˙ze, CBk mie´sci sie w pami, eci.,
W praktyce, AprioriHybrid mo˙ze by´c do 30% szybszy od Apriori i do 60% szybszy ni˙z AprioriTid
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Outline
1 Dane transakcyjne 2 Regu ly asocjacyjne3 Szukanie regu l asocjacyjnych
4 Ulepszenie algorytmu Apriori
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
G l´
owne idee
Baza danych jest zapamietana w oszcz, ednej strukturze, zwanej FP-tree.
Czeste zbiory s, a obliczone z tego dzrewa;, Jest to metoda “Dziel i rzad´, z”;
Baza danych jest przeskanowana dok ladnie 2 razy; - piewszy raz: czesto´s´, c wystapienia ka˙zdego przedmiotu, (item);
- drugi raz: Konstrukcja drzewa FP-tree O rzad wielko´sci szybszy ni˙z Apriori.,
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Ilustracja
Baza transakcji (min sup = 3):
TID Items 1 f, a, c, d, g, i, m, p 2 a, b, c, f, l, m, o 3 b, f, h, j, o 4 b, c, k, s, p 5 a, f, c, e, l, p, m, n
Po usunieciu przedmiot´, ow o wsparciu < 3 mamy posortowana list, e cz, estych przemiot´, ow (item):
Item f c a b m p
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Ilustracja
Baza transakcji (min sup = 3):
TID Items 1 f, a, c, d, g, i, m, p 2 a, b, c, f, l, m, o 3 b, f, h, j, o 4 b, c, k, s, p 5 a, f, c, e, l, p, m, n
Po pierwszym skanowaniu ca lej bazy:
f c a b m p l o d e g h i j k n s 4 4 3 3 3 3 2 2 1 1 1 1 1 1 1 1 1
Po usunieciu przedmiot´, ow o wsparciu < 3 mamy
posortowana list, e cz, estych przemiot´, ow (item):
Item f c a b m p
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Ponownie skanuje baze. Dla ka˙zdej transakcji:,
1 usuwamy nieczeste items,, 2 sortujmy items, i 3 dodajemy j , a do FP-tree przyk lad 1 f, c, a, m, p 2 f, c, a, b, m 3 f, b 4 c, b, p 5 f, c, a, m, p
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Ponownie skanuje baze. Dla ka˙zdej transakcji:,
1 usuwamy nieczeste items,,
2 sortujmy items, i 3 dodajemy j , a do FP-tree przyk lad 1 f, c, a, m, p 2 f, c, a, b, m 3 f, b 4 c, b, p 5 f, c, a, m, p
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Ponownie skanuje baze. Dla ka˙zdej transakcji:,
1 usuwamy nieczeste items,, 2 sortujmy items, i 3 dodajemy j , a do FP-tree przyk lad 1 f, c, a, m, p 2 f, c, a, b, m 3 f, b 4 c, b, p 5 f, c, a, m, p
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Ponownie skanuje baze. Dla ka˙zdej transakcji:,
1 usuwamy nieczeste items,, 2 sortujmy items, i 3 dodajemy j , a do FP-tree przyk lad 1 f, c, a, m, p 2 f, c, a, b, m 3 f, b 4 c, b, p 5 f, c, a, m, p
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Ponownie skanuje baze. Dla ka˙zdej transakcji:,
1 usuwamy nieczeste items,, 2 sortujmy items, i 3 dodajemy j , a do FP-tree przyk lad 1 f, c, a, m, p 2 f, c, a, b, m 3 f, b 4 c, b, p 5 f, c, a, m, p
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Ponownie skanuje baze. Dla ka˙zdej transakcji:,
1 usuwamy nieczeste items,, 2 sortujmy items, i 3 dodajemy j , a do FP-tree przyk lad 1 f, c, a, m, p 2 f, c, a, b, m 3 f, b 4 c, b, p 5 f, c, a, m, p
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Szukanie cz
estych zbior´
,ow z drzewa
FP-tree
Proces przeszukiwania sprawdza pojedy´ncze przedmioty w tablicy “header table” (od do lu do g´ory);
Dla ka˙zdego przedmiotu x:
Skonstruowa´c baze warunkowych wzorc´, ow;
“´Scie˙zka prefiksowa” (prefix path) = ´scie˙zka prowadzaca od korzenia do wierzcho lka x;,
Np. ´scie˙zki prefiksowe dla p: [f : 2, c : 2, a : 2, m : 2] i [c : 1, b : 1];
Skonstruowa´c warunkowe drzewo FP-tree
Traktujemy baze warunkowych wzorc´, ow dla x jako ma la baz, e transakcji D(x);,
Mo˙zemy skonstruowa´c FP-tree dla D(x); Je´sli drzewo posiada tylko jedna ´,scie˙zke, to, zatrzymujemy i wypisujemy czeste zbiory;,
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Przyk lad
1 Dla p:Baza warunkowych wzorc´ow dla p: [f:2, c:2, a:2, m:2], [c:1, b:1]
c jest jedynym czestym przedmiotem i warunkowe, FP-tree ma 1 wierzcho lek (c:3).
Wiec {p,c} jest jedynym cz, estym zbiorem.,
2 Dla m:
Baza warunkowych wzorc´ow dla p: [f:2, c:2, a:2], [f:1, c:1, a:1, b:1]
f, c, a sa cz, estymi przedmiotami,
warunkowe FP-tree:
Odczytujemy czeste zbiory: {f,m}, {c,m}, {a,m},, {f,c,m}, {f,a,m}, {c,a,m}, {f,c,a,m}.
Data mining
Nguyen Hung Son
Dane transakcyjne Regu ly asocjacyjne Szukanie Ulepszenie algorytmu Apriori FP-tree
Algorytm FP-Growth
FP-Growth(Tree, α)1: if T ree contains a single path P then
2: for each combination γ of the nodes in P do
3: generate pattern γ ∪ α with
support = minimum support of nodes in γ.
4: end for
5: else
6: for each ai in the header table of Tree do
7: generate pattern β = ai∪ α with
support = ai.support
8: construct conditional pattern base for β and
conditional FP-tree T reeβ
9: if T reeβ 6= ∅ then
10: call FP-growth(T reeβ, β)
11: end if
12: end for