REGU LY ASOCJACYJNE. Nguyen Hung Son. 25 lutego i 04 marca Wydzia l Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski.

Podobne dokumenty
REGU LY ASOCJACYJNE. Nguyen Hung Son. Wydzia l Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski. 28.II i 6.III, 2008

Reguły asocjacyjne, wykł. 11

Inżynieria biomedyczna

Systemy Wspomagania Decyzji

Algorytmy odkrywania binarnych reguł asocjacyjnych

Data Mining Wykład 3. Algorytmy odkrywania binarnych reguł asocjacyjnych. Plan wykładu

INDUKOWANE REGUŁY DECYZYJNE ALORYTM APRIORI JAROSŁAW FIBICH

Odkrywanie asocjacji

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING. EKSPLORACJA DANYCH Ćwiczenia. Adrian Horzyk. Akademia Górniczo-Hutnicza

Podstawowe algorytmy i ich implementacje w C. Wykład 9

Wyk lad 4 Macierz odwrotna i twierdzenie Cramera

Wyk lad 9 Baza i wymiar przestrzeni liniowej

Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner. rok akademicki 2014/2015

Wyk lad 4 Warstwy, dzielniki normalne

1. Odkrywanie asocjacji

Metody eksploracji danych. Reguły asocjacyjne

Ewelina Dziura Krzysztof Maryański

Algorytm DIC. Dynamic Itemset Counting. Magdalena Przygórzewska Karolina Stanisławska Aleksander Wieczorek

Wyk lad 4 Dzia lania na macierzach. Określenie wyznacznika

Statystyka w analizie i planowaniu eksperymentu

celu przyjmijmy: min x 0 = n t Zadanie transportowe nazywamy zbilansowanym gdy podaż = popyt, czyli n

Analiza algorytmów zadania podstawowe

Statystyka w analizie i planowaniu eksperymentu

Reguły asocjacyjne w programie RapidMiner Michał Bereta

Wyk lad 7 Baza i wymiar przestrzeni liniowej

Geometria odwzorowań inżynierskich Zadania 01

Drzewa podstawowe poj

Wyk lad 9 Przekszta lcenia liniowe i ich zastosowania

Wprowadzenie Sformułowanie problemu Typy reguł asocjacyjnych Proces odkrywania reguł asocjacyjnych. Data Mining Wykład 2

Wyk lad 8 macierzy i twierdzenie Kroneckera-Capellego

Drzewa decyzyjne. Nguyen Hung Son. Nguyen Hung Son () DT 1 / 34

Wyk lad 7 Metoda eliminacji Gaussa. Wzory Cramera

Krzysztof Kawa. empolis arvato. e mail: krzysztof.kawa@empolis.com

Wstęp do Programowania potok funkcyjny

Wyk lad 5 W lasności wyznaczników. Macierz odwrotna

Wyk lad 7: Drzewa decyzyjne dla dużych zbiorów danych

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

EKSPLORACJA DANYCH METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING. Adrian Horzyk. Akademia Górniczo-Hutnicza

Strategia "dziel i zwyciężaj"

Systemy decyzyjne Wyk lad 4: Drzewa decyzyjne

Wyk lad 12. (ii) najstarszy wspó lczynnik wielomianu f jest elementem odwracalnym w P. Dowód. Niech st(f) = n i niech a bedzie

Wyk lad 6 Podprzestrzenie przestrzeni liniowych

Wyk lad 9 Baza i wymiar przestrzeni liniowej

Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

Niesimpleksowe metody rozwia zywania zadań PL. Seminarium Szkoleniowe Edyta Mrówka

Paradygmaty programowania. Paradygmaty programowania

Odkrywanie asocjacji. Cel. Geneza problemu analiza koszyka zakupów

SYSTEM DIAGNOSTYCZNY OPARTY NA LOGICE DOMNIEMAŃ. Ewa Madalińska. na podstawie prac:

Wyk lad 10 Przestrzeń przekszta lceń liniowych

Wyk lad 9 Podpierścienie, elementy odwracalne, dzielniki zera

Odkrywanie reguł asocjacyjnych

Kierunek: Informatyka. Przedmiot:

Statystyka w analizie i planowaniu eksperymentu

Drzewa AVL definicje

Liczba 2, to jest jedyna najmniejsza liczba parzysta i pierwsza. Oś liczbowa. Liczba 1, to nie jest liczba pierwsza

1 abbbaabaaabaa -wzorzec: aaba

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne

Luty 2001 Algorytmy (4) 2000/2001

Metody Numeryczne Wykład 4 Wykład 5. Interpolacja wielomianowa

Sortowanie przez scalanie

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

0.1 Sposȯb rozk ladu liczb na czynniki pierwsze

Wyk lad 3 Wyznaczniki

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

Logika matematyczna i teoria mnogości (I) J. de Lucas

EKSPLORACJA DANYCH METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING. Adrian Horzyk. Akademia Górniczo-Hutnicza

Odkrywanie wzorców sekwencji

Wyk lad 14 Cia la i ich w lasności

Matematyka A kolokwium, 27 maja 2015, godz. 18:15 20:10

Dziedziny Euklidesowe

utrzymania swoich obecnych klientów i dowiedzia la sie, że metody data mining moga

Algorytmy i Struktury Danych.

Rachunek zdań - semantyka. Wartościowanie. ezyków formalnych. Semantyka j. Logika obliczeniowa. Joanna Józefowska. Poznań, rok akademicki 2009/2010

Sprawozdanie z laboratorium: Hurtownie Danych. Algorytm generowania reguł asocjacyjnych. FP-Growth. 9 czerwca 2011

Geometria odwzorowań inżynierskich. 1. Perspektywa odbić w zwierciad lach p laskich 06F

Wyszukiwanie reguł asocjacji i ich zastosowanie w internecie

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

WYK LAD 5: GEOMETRIA ANALITYCZNA W R 3, PROSTA I P LASZCZYZNA W PRZESTRZENI R 3

Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji.

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

WHILE (wyrażenie) instrukcja;

Matematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne

Wyk lad 1 Podstawowe struktury algebraiczne

Maszyna Turinga. Algorytm. czy program???? Problem Hilberta: Przykłady algorytmów. Cechy algorytmu: Pojęcie algorytmu

Wymagania egzaminacyjne z matematyki. Klasa 3C. MATeMATyka. Nowa Era. Klasa 3

Elementy logiki i teorii mnogości Wyk lad 1: Rachunek zdań

Dyskretne modele populacji

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15

Algorytmy i Struktury Danych

Uzgadnianie wyrażeń rachunku predykatów. Adam i orzeszki. Joanna Józefowska. Poznań, rok akademicki 2009/2010

Algorytmy i Struktury Danych.

Algorytmy równoległe: prezentacja i ocena efektywności prostych algorytmów dla systemów równoległych

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

Równoleg le sortowanie przez scalanie

= a + 1. b + 1. b całkowita?

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Transkrypt:

REGU LY ASOCJACYJNE Wydzia l Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski 25 lutego i 04 marca 2005

Outline 1 2 3 regu l asocjacyjnych 4 5

Motywacje Lista autorów (items) A Jane Austen C Agatha Christie D Sir Arthur Conan Doyle T Mark Twain W G. Wodehouse Transakcje TID Kupione ksiażki 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ź wzorce zachowań klientów., np. Co jest cz esto kupopwane? (modne?, sezonowe?) Które tytu ly sa kupione razem? Co robić, aby przyciagać klientów?...

W jakiej formie wyrazić wzorzec zachowań klientów? 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.

Outline 1 2 3 regu l asocjacyjnych 4 5

Podstawowe oznaczenia Pozycje (ang. items) opisuja dostepne towary. Zak lada sie, że zbiorem wszystkich towarów jest I = {i 1, i 2,..., i m } (items) baza transakcji D = {(tid 1, T 1 ), (tid 2, T 2 )...} zawiera transakcje jako pary (tid j, T j ), gdzie: - tid j : unikalny identyfikator - T j I : zbiór zakupionych towarów. itemset: każdy podzbiór zbioru towarów I; k-itemset: podzbiór o k elementach. s(x) - liczba transakcji zawierajacych itemset X.

Definition Regu l a asocjacyjna nazywamy każda implikacje typu X = Y gdzie X, Y sa itemsetami. Jakość takiej regu ly mierzymy jest funkcjami: wsparcie (support) support(x = Y ) = s(x Y ) wiarygodność (confidence) confidence(x = Y ) = s(x Y ) s(x)

Przyk lad Lista autorów (items) A Jane Austen C Agatha Christie D Sir Arthur Conan Doyle T Mark Twain W G. Wodehouse Transakcje TID Kupione ksiażki 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% T = ACW 3 75%

Sformu lowanie problemu Problem Dane sa: zbiór pozycji I = {i 1, i 2,..., i m } baza transakcji D = {(tid 1, T 1 ), (tid 2, T 2 )...} sta le sup min = minimalna wartość wsparcia i conf min = minimalny stopień wiarygodności Problem: Znaleźć wszystkie regu ly asocjacyjne o - wsparciu sup min - stopniu wiarygodności conf min

Outline 1 2 3 regu l asocjacyjnych 4 5

Problem obliczeniowy Liczba wszystkich regu l asocjacyjnych wynosi 3 n, gdzie n jest liczb a itemów. Sprawdzanie wszystkich regu l jest nie wykonywalne! Proponowano różne metody szukania z użyciem różnych technik obliczeń: sekwencyjne, równoleg le.

Schemat wyszukiwania regu l Wi ekszość istniej acych algorytmów dzia la w dwóch krokach: Znajdź cz este zbiory: znajdź itemsets o wsparciu wi ekszym niż min sup (frequent itemsets). Podzia l cz estych zbiórów: dla każdego cz estego zbioru, znajdź podzia ly tego zbioru na 2 podzbiory w taki sposób, by powsta ly regu ly o st. wiarygodności wi ekszym niż min conf.

Przyk lad Transakcje TID Kupione ksiażki 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 Cz este 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ść = 75% Regu ly dla AC: A = C (100% wiarygodności) C = A (66% wiarygodność)

Wyznaczanie cz estych zbiorów Obserwacje: Jeśli {A,B} jest czestym zbiorem, to {A} i {B} też musza być czestymi zbiorami. Ogólniej: jeśli X czestym k-elementowym zbiorem, to wszystkie (k 1)-elementowe podzbiory X też sa czeste. Idea: Znajdź wszystkie 1-elementowe czeste zbiory Generuj 2-elementowe czeste zbiory z 1-elementowych czestych zbiorów... Generuj k-elementowe czeste zbiory poprzez l aczenie (k 1)-elementowych czestych zbiorów

Idea

Algorytm Apriori Algorytm Apriori 1: C 1 := I; F 1 := rodzina 1-elem. zbiorów cz estych 2: for (k = 2; F k 1 ; k + +) do 3: C k := AprioriGen(F k 1 ); 4: //generowanie nowych kandydatów 5: F k := {X C k : support(x) min sup} 6: end for 7: Wynik := F 1 F 2 F 3... F k ;

Przyk lad Transakcje TID Kupione ksiażki 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ść = 80% Cz este zbiory F 1 Frequent itemsets A, C, D, T, W C 2 AC, AD, AT, AW... F 2 AC, AT, AW, CD, CT, CW, DW, TW C 3 ACT, ACW, ATW, CDW, CTW F 3 C 4 ACT, ACW, ATW, CDW

Funkcja AprioriGen Funkcja AprioriGen(F k 1 ) posiada dwa g lówne kroki: L aczenie: do C k wstawiamy sumy takich par X, Y F k 1, które maja wspólne k 2 poczatkowych elementów. Np. dla F k 1 = {AB, AC, AD, AE, BC, BD, BE} mamy C k = {ABC, ABD, ABE, ACD, ACE, ADE, BCD, BCE, BDE} Obcinanie: Usuwamy z C k te zbiory, których nie wszystkie podzbiory (k 1)-elementowe sa w F k 1. Np. możemy usuwać ACD, ponieważ CD nie znajduje sie w F k 1. Po obcinaniu otzrymujemy C k = {ABC, ABD, ABE}

Generowanie regu l Problem: Niech X b edzie zbiorem cz estym. Znaleźć Y X taki, że confidence(x \ Y = Y ) > min conf Obserwacja: Jeśli AB = CD jest wiarygodna regu l a, to regu ly ABC = D i ABD = C też sa Strategie: Przerzucać na prawa strone po kolei pojedyńcze elementy. Stosować funkcje AprioriGen() do generowania zbioru warunkowanego Y

Outline 1 2 3 regu l asocjacyjnych 4 5

Algorytm Apriori musi przegladać ca l a baze danych w celu obliczenia wsparcia dla kandydatów : nowa struktura, która zawiera wy l acznie transakcje, które moga wspierać aktualnych kandydatów. 1 counting base: nowa struktura danych, która jest uaktualniana dla każdego kroku k; 2 Algorytm AprioriT id: oblicza wsparcie dla kandydatów skanujac wy l acznie strukture counting base;

Algorytm AprioriTid AprioriTid Wejście: zbiór transakcji D, min sup - minimalne wsparcie Wyjście: zbiór wszystkich cz estych itemsetów F //CB k - zbiór counting base obliczony w k-tym kroku 1: C 1 := I; F 1 := rodzina 1-elem. zbiorów cz estych 2: for (k = 2; F k 1 ; k + +) do 3: C k := AprioriGen(F k 1 ); 4: //generowanie nowych kandydatów 5: CB k = Counting base generate (C k, CB k 1 ); 6: Support count(c k, CB k ); 7: F k := {X C k : support(x) min sup} 8: end for 9: Wynik := F 1 F 2 F 3... F k ;

Generowanie struktur e Counting base CB k = skojarzy każda transakcje t z lista kandydatów wystepuj acych w t; Elementami CB k sa pary: (t.t ID, {c C k c t}) = (t.t ID, S k (t.t ID)) Jeśli jakaś transakcja nie zawiera kandydatów k-elementowych, to zostanie ona usunieta z CB k i ze wszystkich nastepnych zbiorów counting base; Można to wyznaczyć metoda iteracyjna: CB 1 := ca la baza transakcji CB k := {(i, S k (i))}, gdzie S k (i) powstaje z S k 1 (i) w nastepuj acy sposób: JEŚLI {u 1...u i 2, a} i {u 1...u i 2, b} F i 1 CB k 1 TO {u 1,...u i 2, a, b} S k (i)

Przyk lad

AprioriHybrid AprioriTid przeszukuje tablice CB k zamiast skanowaia ca l a baze transakcyjna; Jest efektywny wtedy, gdy CB k jest dostatecznie ma la wzgledem rozmiaru ca lej bazy. AprioriTid jest lepszy od Apriori wtedy, gdy CB k mieści sie w pamieci; Czeste zbiory maja rozk lad z d lugim ogonkiem! AprioriHybrid wykonuje Apriori w pierwszych iteracjach prze l aczy na AprioriTid wtedy, gdy spodziewmy, że CB k mieści sie w pamieci. W praktyce, AprioriHybrid może być do 30% szybszy od Apriori i do 60% szybszy niż AprioriTid

Outline 1 2 3 regu l asocjacyjnych 4 5

G lówne idee Baza danych jest zapami etana w oszcz ednej strukturze zwanej. Czeste zbiory sa obliczone z tego dzrewa; Jest to metoda Dziel i rzadź ; Baza danych jest przeskanowana dok ladnie 2 razy; - piewszy raz: czestość wystapienia każdego przedmiotu (item); - drugi raz: Konstrukcja drzewa O rzad wielkości szybszy niż Apriori.

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

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 4 4 3 3 3 3 2 2 1 1 1 1 1 1 1 1 Po usunieciu przedmiotów o wsparciu < 3 mamy posortowana liste czestych przemiotów (item): Item f c a b m p Frequency 4 4 3 3 3 3

Ponownie skanuje baz e. Dla każdej transakcji:

Ponownie skanuje baz e. Dla każdej transakcji: 1 usuwamy niecz este items,

Ponownie skanuje baz e. Dla każdej transakcji: 1 usuwamy niecz este items, 2 sortujmy items, i

Ponownie skanuje baze. Dla każdej transakcji: 1 usuwamy nieczeste items, 2 sortujmy items, i 3 dodajemy ja do

Ponownie skanuje baze. Dla każdej transakcji: 1 usuwamy nieczeste items, 2 sortujmy items, i 3 dodajemy ja do 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

Ponownie skanuje baze. Dla każdej transakcji: 1 usuwamy nieczeste items, 2 sortujmy items, i 3 dodajemy ja do 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 Dodajemy kolejna transakcje do drzewa:

cz estych zbiorów z drzewa Proces przeszukiwania sprawdza pojedyńcze przedmioty w tablicy header table (od do lu do góry); Dla każdego przedmiotu x: Skonstruować baze warunkowych wzorców; Ścieżka prefiksowa (prefix path) = ścieżka prowadzaca od korzenia do wierzcho lka x; Np. ścieżki prefiksowe dla p: [f : 2, c : 2, a : 2, m : 2] i [c : 1, b : 1]; Skonstruować warunkowe drzewo Traktujemy baze warunkowych wzorców dla x jako ma l a baze transakcji D(x); Możemy skonstruować dla D(x); Jeśli drzewo posiada tylko jedna ścieżke, to zatrzymujemy i wypisujemy czeste zbiory; W przeciwnym przypadku, powtarzamy ten proces.

Przyk lad 1 Dla p: Baza warunkowych wzorców dla p: [f:2, c:2, a:2, m:2], [c:1, b:1] c jest jedynym czestym przedmiotem i warunkowe ma 1 wierzcho lek (c:3). Wiec {p,c} jest jedynym czestym zbiorem. 2 Dla m: Baza warunkowych wzorców dla p: [f:2, c:2, a:2], [f:1, c:1, a:1, b:1] f, c, a sa czestymi przedmiotami warunkowe : Odczytujemy cz este zbiory: {f,m}, {c,m}, {a,m}, {f,c,m}, {f,a,m}, {c,a,m}, {f,c,a,m}.

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 a i in the header table of Tree do 7: generate pattern β = a i α with support = a i.support 8: construct conditional pattern base for β and conditional T ree β 9: if T ree β then 10: call FP-growth(T ree β, β) 11: end if 12: end for