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

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

Algorytmy odkrywania binarnych reguł asocjacyjnych

Odkrywanie asocjacji

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

Odkrywanie asocjacji

Wielopoziomowe i wielowymiarowe reguły asocjacyjne

INDUKOWANE REGUŁY DECYZYJNE ALORYTM APRIORI JAROSŁAW FIBICH

Reguły asocjacyjne, wykł. 11

Metody eksploracji danych. Reguły asocjacyjne

1. Odkrywanie asocjacji

Ewelina Dziura Krzysztof Maryański

Inżynieria biomedyczna

Odkrywanie wzorców sekwencji

Eksploracja danych - wykład VIII

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

Analiza i eksploracja danych

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

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

Data Mining Wykład 5. Indukcja drzew decyzyjnych - Indeks Gini & Zysk informacyjny. Indeks Gini. Indeks Gini - Przykład

Sortowanie topologiczne skierowanych grafów acyklicznych

Indukowane Reguły Decyzyjne I. Wykład 3

Inżynieria Wiedzy i Systemy Ekspertowe. Reguły asocjacyjne

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL.

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

Odkrywanie wzorców sekwencji

Technologie baz danych

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

Definicja pliku kratowego

< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 >

Klasyfikacja obiektów Drzewa decyzyjne (drzewa klasyfikacyjne)

Reguły asocjacyjne. Żródło: LaroseD.T., Discovering Knowledge in Data. An Introduction to Data Minig, John Wiley& Sons, Hoboken, New Jersey, 2005.

Metoda Tablic Semantycznych

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

Systemy Wspomagania Decyzji

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Klasyfikacja. Indeks Gini Zysk informacyjny. Eksploracja danych. Klasyfikacja wykład 2

Eksploracja danych. Grupowanie. Wprowadzanie Definicja problemu Klasyfikacja metod grupowania Grupowanie hierarchiczne. Grupowanie wykład 1

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18

Modelowanie motywów łańcuchami Markowa wyższego rzędu

Transformacja modelu ER do modelu relacyjnego

FUNKCJE. (odwzorowania) Funkcje 1

Przypomnij sobie krótki wstęp do teorii grafów przedstawiony na początku semestru.

Poprawność semantyczna

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

Wysokość drzewa Głębokość węzła

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Algorytmy i Struktury Danych

Analiza semantyczna. Gramatyka atrybutywna

Spacery losowe generowanie realizacji procesu losowego

Algebrą nazywamy strukturę A = (A, {F i : i I }), gdzie A jest zbiorem zwanym uniwersum algebry, zaś F i : A F i

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Kody blokowe Wykład 2, 10 III 2011

Reguły decyzyjne, algorytm AQ i CN2. Reguły asocjacyjne, algorytm Apriori.

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

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

Wyszukiwanie reguł asocjacji i ich zastosowanie w internecie

Zależności funkcyjne

Porządek symetryczny: right(x)

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

SAS wybrane elementy. DATA MINING Część III. Seweryn Kowalski 2006

1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb.

Plan wykładu. Reguły asocjacyjne. Przykłady asocjacji. Reguły asocjacyjne. Jeli warunki to efekty. warunki efekty


prowadzący dr ADRIAN HORZYK /~horzyk tel.: Konsultacje paw. D-13/325

Aproksymacja funkcji a regresja symboliczna

Indeksy w bazach danych. Motywacje. Techniki indeksowania w eksploracji danych. Plan prezentacji. Dotychczasowe prace badawcze skupiały się na

Odkrywanie reguł asocjacyjnych. Rapid Miner

Algorytmy optymalizacji zapytań eksploracyjnych z wykorzystaniem materializowanej perspektywy eksploracyjnej

2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego

Wykład 2. Drzewa zbalansowane AVL i 2-3-4

Podstawy Informatyki. Metody dostępu do danych

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

6. Zagadnienie parkowania ciężarówki.

Kompresja bezstratna. Entropia. Kod Huffmana

Algorytmy i struktury danych. Wykład 6 Tablice rozproszone cz. 2

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

PLAN WYKŁADU BAZY DANYCH INDEKSY - DEFINICJE. Indeksy jednopoziomowe Indeksy wielopoziomowe Indeksy z użyciem B-drzew i B + -drzew

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

Grupowanie Witold Andrzejewski, Politechnika Poznańska, Wydział Informatyki 201/633

Integracja technik eksploracji danych ]V\VWHPHP]DU]G]DQLDED]GDQ\FK QDSU]\NáDG]LH2UDFOHi Data Mining

SYSTEMY UCZĄCE SIĘ WYKŁAD 3. DRZEWA DECYZYJNE. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Matematyka dyskretna - 7.Drzewa

Bazy danych - BD. Indeksy. Wykład przygotował: Robert Wrembel. BD wykład 7 (1)

Reguły asocjacyjne w programie RapidMiner Michał Bereta

Metody Kompilacji Wykład 3

DEFINICJA. Definicja 1 Niech A i B będą zbiorami. Relacja R pomiędzy A i B jest podzbiorem iloczynu kartezjańskiego tych zbiorów, R A B.

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

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

Wykład 2 Hipoteza statystyczna, test statystyczny, poziom istotn. istotności, p-wartość i moc testu

Odkrywanie wiedzy w danych

1 Wstęp do modelu relacyjnego

Analiza głównych składowych- redukcja wymiaru, wykł. 12

WYKŁAD 11 Uczenie maszynowe drzewa decyzyjne

Temat: Algorytm kompresji plików metodą Huffmana

Odkrywanie reguł asocjacyjnych

Wykład 10 Estymacja przedziałowa - przedziały ufności dla średn

Nierówność Krafta-McMillana, Kodowanie Huffmana

Sztuczna Inteligencja Projekt

Transkrypt:

Odkrywanie asocjacji Cel Celem procesu odkrywania asocjacji jest znalezienie interesujących zależności lub korelacji (nazywanych ogólnie asocjacjami) pomiędzy danymi w dużych zbiorach danych. Wynikiem procesu odkrywania asocjacji jest zbiór reguł asocjacyjnych opisujących znalezione zależności lub korelacje między danymi. str. 2 Geneza problemu analiza koszyka zakupów Geneza problemu odkrywania reguł asocjacyjnych: problem analizy koszyka zakupów (MBA Market Basket Analysis) Dane: zbiór danych zawierający informacje o zakupach realizowanych przez klientów supermarketu Cel: znalezienie grup produktów, które klienci supermarketu najczęściej kupują razem Celem analizy MBA jest znalezienie naturalnych wzorców zachowań konsumenckich klientów str. 3

Analiza koszyka zakupów (1) Znalezione wzorce zachowań mogą być wykorzystane: organizacji pólek w supermarkecie opracowania akcji promocyjnych opracowania katalogu oferowanych produktów Znaleziony wzorzec: ktoś kto kupuje pieluszki, najczęściej kupuje również piwo Akcja promocyjna: ogłoś obniżkę cen pieluszek, jednocześnie podnieś cenę piwa Organizacja sklepu: staraj się umieszczać produkty kupowane wspólnie w przeciwległych końcach sklepu, zmuszając klientów do przejścia przez cały sklep str. 4 Analiza koszyka zakupów (2) MBA znajduje zastosowanie wszędzie tam, gdzie zbiór klientów( koszyki ) nabywa łącznie pewien zbiór produktów (dóbr lub usług): Telekomunikacja (koszykiem jest zbiór rozmów telefonicznych) Analiza pogody (koszykiem jest zbiór zdarzeń pogodowych, które wystąpiły w danym przedziale czasu) Bankowość Diagnostyka medyczna Karty kredytowe Model koszyka zakupów jest pewną abstrakcją umożliwiającą modelowanie relacji wiele-do wiele pomiędzy encjami produkty i koszyki str. 5 Tablica obserwacji (1) Formalnie, model koszyka zakupów można opisać za pomocą tzw. tablicy obserwacji Dany jest zbiór atrybutów A= {A 1, A 2,..., A n } oraz zbiór koszyków (obserwacji) T = {T 1, T 2,..., T m } tr_id A1 A2 A3 A4 A5 T1 1 0 0 0 1 T2 1 1 1 1 1 T3 1 0 1 0 0 T4 0 0 1 0 1 T5 0 1 1 1 1 T6 1 1 1 0 1 T7 1 0 1 1 1 T8 1 1 1 0 0 str. 6

Tablica obserwacji (2) Atrybuty tablicy reprezentują wystąpienia encji produkty Wiersze tablicy reprezentują wystąpienia encji koszyki Atrybut tr_id - identyfikatory poszczególnych obserwacji Pozycja T i [A j ] = 1 tablicy wskazuje, że i-ta obserwacja zawiera wystąpienie j-tego atrybutu tr_id coca_cola piwo orzeszki pieluszki t1 1 0 1 0 t2 0 1 1 1 t3 1 0 0 0 t4 1 1 1 0 t5 0 1 1 1 str. 7 Tablica obserwacji (3) Koszyki = studenci, produkty = wykłady oferowane przez uczelnię MBA poszukiwanie wykładów, które studenci wybierają najczęściej łącznie Koszyki = strony WWW, produkty = słowa kluczowe MBA poszukiwanie stron WWW opisanych tymi samymi, lub podobnymi, zbiorami słów kluczowych (prawdopodobnie, znalezione strony dotyczą podobnej problematyki) Koszyki = zdania, produkty = słowa występujące w tych zdaniach MBA poszukiwanie zbitek słów lub haseł występujących często razem Koszyki = zdania, produkty = dokumenty zawierające te zdania Dokumenty występujące zbyt często razem mogą przedstawiać plagiaty str. 8 Reguły asocjacyjne (1) Wynikiem analizy tablicy obserwacji (zbioru koszyków zakupów) jest zbiór reguł asocjacyjnych postaci następującej relacji: {(A i1 = 1)... (A ik = 1) (1) {(A ik+1 = 1)... (A ik+l = 1) Interpretacja reguły: jeżeli klient kupił produkty A i1, A i2,..., A ik, to prawdopodobnie kupił również produkty A ik+1, A ik+2,..., A ik+l str. 9

Reguły asocjacyjne (2) Regułę asocjacyjną (1) można przedstawić jednoznacznie w równoważnej postaci θ ϕ: (A i1, A i2,..., A ik ) (A ik+1, A ik+2,..., A ik+l ) gdzie θi ϕsą koniunkcjami par (atrybut, 1) Z każdą regułą asocjacyjną θ ϕzwiązane są dwie podstawowe miary określające statystyczną ważność i siłę reguły: wsparcie -sup(θ ϕ) ufność -conf(θ ϕ) str. 10 Reguły asocjacyjne (3) Wsparciem supreguły asocjacyjnej θ ϕnazywać będziemy stosunek liczby obserwacji, które spełniają warunek θ ϕ, do liczby wszystkich obserwacji (wsparcie reguły = prawdopodobieństwo zajścia zdarzenia p(θ ϕ) ) Ufnościąconfreguły asocjacyjnej θ ϕnazywać będziemy stosunek liczby obserwacji, które spełniają warunek θ ϕ, do liczby obserwacji, które spełniają warunek θ(ufność reguły = warunkowe prawdopodobieństwo p(ϕ θ)) conf(θ ϕ) = E(θ ϕ) E(θ) str. 11 Reguły asocjacyjne (4) Celem procesu odkrywania binarnych reguł asocjacyjnych jest znalezienie wszystkich reguł, których wsparcie supjest większe lub równe pewnej minimalnej wartosciprogowej, oznaczanej minsup, sup> minsup, i których ufność conf jest większa lub równa pewnej minimalnej wartości progowej, oznaczanej minconf, conf > minconf Reguły, które spełniają warunek minimalnego wsparcia i minimalnej ufnosci, nazywamy silnymi regułami asocjacyjnymi (ang. strongassociationrules). Celem procesu odkrywania binarnych reguł asocjacyjnych jest znalezienie wszystkich silnych binarnych reguł asocjacyjnych. str. 12

Klasyfikacja reguł asocjacyjnych Klasyfikacja reguł asocjacyjnych ze względu na: typ przetwarzanych danych wymiarowość przetwarzanych danych stopień abstrakcji przetwarzanych danych Inne typy reguł asocjacyjnych: negatywne, negatywnie skorelowane, ilościowe reguły asocjacyjne, itd. Miary oceny jakości i atrakcyjności reguł asocjacyjnych str. 13 Typ przetwarzanych danych (1) Wyróżniamy: binarne reguły asocjacyjne ilościowe reguły asocjacyjne Regułę asocjacyjną nazywamy binarną, jeżeli dane występujące w regule są danymi (zmiennymi) binarnymi Regułę asocjacyjną nazywamy ilościową, jeżeli dane występujące w regule są danymi ciągłymi i/lub kategorycznymi str. 14 Typ przetwarzanych danych (2) Binarna reguła asocjacyjna: pieluszki =1 piwo =1 lub pieluszki piwo (reprezentuje współwystępowanie danych) Ilościowa reguła asocjacyjna: wiek = 30...40 wykształcenie = wyższe średnie_zarobki = 3 100 zł (reprezentuje współwystępowanie wartości danych) str. 15

Wymiarowość przetwarzanych danych (1) Wyróżniamy: jednowymiarowe reguły asocjacyjne wielowymiarowe reguły asocjacyjne Regułę asocjacyjną nazywamy jednowymiarową, jeżeli dane występujące w regule reprezentują tę samą dziedzinę wartości Regułę asocjacyjną nazywamy wielowymiarową, jeżeli dane występujące w regule reprezentują różne dziedziny wartości str. 16 Wymiarowość przetwarzanych danych (2) Jednowymiarowa reguła asocjacyjna: pieluszki =1 piwo =1 lub pieluszki piwo Wielowymiarowa reguła asocjacyjna: wiek = 30...40 wykształcenie = wyższe opcja_polityczna = demokrata str. 17 Stopień abstrakcji przetwarzanych danych (1) Wyróżniamy: jednopoziomowe reguły asocjacyjne wielopoziomowe reguły asocjacyjne Regułę asocjacyjną nazywamy jednopoziomową, jeżeli dane występujące w regule reprezentują ten sam poziom abstrakcji Regułę asocjacyjną nazywamy wielopoziomową, jeżeli dane występujące w regule reprezentują różne poziomy abstrakcji str. 18

Stopień abstrakcji przetwarzanych danych (2) Jednopoziomowa reguła asocjacyjna: pieluszki_pampers =1 piwo_zywiec =1 Wielopoziomowa reguła asocjacyjna: pieluszki_pampers =1 piwo_zywiec =1 napoje = 1 (produkt napojereprezentuje pewna abstrakcję, będącą generalizacją określonych produktów) str. 19 Odkrywanie binarnych reguł asocjacyjnych Dane: I={i 1, i 2,..., i m }: zbiór literałów, nazywanych dalej elementami, Transakcja elementów T (lub krótko transakcja): zbiór elementów, takich że T I it, Rozmiar transakcji size(t) liczba elementów w transakcji T Baza danych D: zbiór transakcji, Transakcja T wspiera element x I, jeżeli x T Transakcja T wspiera zbiór X I, jeżeli T wspiera każdy element ze zbioru X, X T Wsparcie zbioru X w bazie danych D, oznaczone sup(x) - iloraz liczby transakcji w D, które wspierają X do liczby wszystkich transakcji w D str. 20 Reguły asocjacyjne miary (1) Binarną regułą asocjacyjną(krótko, regułą asocjacyjną) nazywamy relację postaci X Y, gdzie X I, Y I, i X Y = Zbiór X poprzednik reguły Zbiór Y następnik reguły Reguła X Y posiada wsparcie supw bazie danych D, 0 sup 1, jeżeli sup% transakcji w D wspiera zbiór X Y Reguła X Y posiada ufność confw bazie danych D, 0 conf 1, jeżeli conf% transakcji w D, które wspierają zbiór X, wspierają również Y str. 21

Reguły asocjacyjne miary (2) sup(x Y): oznacza liczbę transakcji w bazie danych, które potwierdzają daną regułę miara wsparcia jest symetryczna względem zbiorów stanowiących poprzednik i następnik reguły sup(x Y) = sup(y X) conf(x Y): oznacza stosunek liczby transakcji zawierających X i Y do liczby transakcji zawierających Y miara ta jest asymetryczna względem zbiorów stanowiących poprzednik i następnik reguły conf(x Y) conf(y X) str. 22 Reguły asocjacyjne miary (3) Ograniczenia miar (definiowane przez użytkownika): Minimalne wsparcie minsup Minimalna ufność - minconf Mówimy, że reguła asocjacyjna X Yjest silna jeżeli: sup(x Y) minsupi conf(x Y) minconf Sformułowanie problemu: Dana jest baza danych transakcji. Należy znaleźć wszystkie silne binarne reguły asocjacyjne dla zadanych wartości minsup i minconf str. 23 Przykład tr_id produkt data liczba cena 1 orzeszki 2/22/98 6 0,99 1 coca-cola 2/22/98 3 0,20 2 piwo 2/22/98 4 0,49 2 orzeszki 2/22/98 1 0,99 2 pieluszki 2/22/98 1 1,49 3 coca-cola 2/23/98 10 0,20 4 coca-cola 2/24/98 6 0,20 4 piwo 2/24/98 2 0,49 4 orzeszki 2/24/98 4 0,99 5 piwo 2/24/98 2 0,49 5 orzeszki 2/24/98 4 0,99 5 pieluszki 2/24/98 10 1,49 Dla minsup=0,4 i minconf=0,5: piwo orzeszki sup= 0,60 conf= 1,00 orzeszki piwo sup= 0,60 conf= 0,75 piwo ^ pieluszki orzeszki sup= 0,40 conf= 1,00 pieluszki ^ orzeszki piwo sup= 0,40 conf= 1,00 pieluszki piwo ^ orzeszki sup= 0,40 conf= 1;00 pieluszki piwo sup= 0,40 conf= 1,00 pieluszki orzeszki sup= 0,40 conf= 1,00 piwo ^ orzeszki pieluszki sup= 0,40 conf= 0,67 str. 24

Naiwny algorytm odkrywania binarnych reguł asocjacyjnych (1) Dany jest zbiór elementów I ibaza danych transakcji D Wygeneruj wszystkie możliwe podzbiory zbioru I i, następnie, dla każdego podzbioru oblicz wsparcie tego zbioru w bazie danych D Dla każdego zbioru, którego wsparcie jest większe/równe minsup, wygeneruj regułę asocjacyjną dla każdej otrzymanej reguły oblicz ufność reguły Liczba wszystkich możliwych podzbiorów zbioru I wynosi 2 I -1 (rozmiar I 200 000 elementów) Liczba wszystkich możliwych binarnych reguł asocjacyjnych dla zbioru elementów I wynosi 3 I -2 I +1 + 1 str. 25 Naiwny algorytm odkrywania binarnych reguł asocjacyjnych (2) Rozważmy, dla ilustracji, zbiór danych Dz rozważanego wcześniej przykładu Zbiór elementów I= 4 Liczba wszystkich możliwych reguł asocjacyjnych, które można wygenerować dla zbioru elementów Iwynosi 3 I -2 I +1 + 1= 50 Liczba wszystkich silnych binarnych reguł asocjacyjnych wygenerowanych dla rozważanego zbioru danych wynosi14, to jest 28% liczby wszystkich możliwych reguł asocjacyjnych, które można wygenerować dla zbioru elementów I Zastosowanie algorytmu naiwnego oznacza marnotrawstwo czasu poświęconego na obliczanie wartości wsparcia i ufności odrzuconych reguł str. 26 Naiwny algorytm odkrywania binarnych reguł asocjacyjnych (3) Wjaki sposób ograniczyć liczbę generowanych reguł asocjacyjnych, tak aby nie zachodziła konieczność obliczania wartości wsparcia i ufności odrzucanych reguł? Odpowiedź: należy, generując reguły asocjacyjne, osobno rozważać ograniczenia minimalnego wsparcia i minimalnej ufności Zauważmy, ze wsparcie reguły X Y jest równe wsparciu zbioru (X, Y) (łatwo zauważyć,że wsparcie reguły Y X jest również równe wsparciu zbioru (X, Y)) str. 27

Naiwny algorytm odkrywania binarnych reguł asocjacyjnych (4) Jeżeli wsparcie zbioru (X,Y) jest mniejsze niż minsup, to wówczas możemy pominąć obliczanie ufności reguł asocjacyjnych X Y oraz Y X, gdyż reguły te zostaną odrzucone Jeszcze większy zysk uzyskujemy w przypadku odrzucenia zbioru 3-elementowego (X, Y, Z). Jeżeli wsparcie zbioru (X, Y, Z) jest mniejsze aniżeli minsup, to możemy pominąć obliczanie ufności następujących 6 reguł asocjacyjnych: X Y, Z Y X, Z Z X, Y X, Y Z X, Z Y Y, Z X W ogólnym przypadku odrzucenie zbioru k-elementowego (X1, X2,, Xk), którego wsparcie jest mniejsze aniżeli minsup, pozwala pominąć obliczanie ufności 2 k -2 reguł asocjacyjnych str. 28 Ogólny algorytm odkrywania reguł asocjacyjnych (1) Algorytm 1.1: Ogólny algorytm odkrywania reguł asocjacyjnych We: baza danych D, minsup, minconf Wy: zbiór silnych binarnych reguł asocjacyjnych 1. znajdź wszystkie zbiory elementów I i ={i i1, i i2,..., i im }, I i I, których wsparcie(i i ) minsup (ZbioryI i nazywaćbędziemyzbioramiczęstymi) 2. na podstawie zbiorów częstych znalezionych w kroku 1 wygeneruj wszystkie silne binarne reguły asocjacyjne zastosuj algorytm 1.2 str. 29 Ogólny algorytm odkrywania reguł asocjacyjnych (2) Algorytm 1.2: Algorytm generowania reguł We: zbiory częste [ i \ Wy: zbiór silnych binarnych reguł asocjacyjnych 1. dla każdego zbioru częstego I i znajdź wszystkie niepuste podzbiory subl i zbioru I i 2. dla każdego podzbioru subl i zbioru I i dla którego zachodzi sup(i i )/sup(subi i ) minconf wygeneruj regułępostaci: subi i (I i -subi i ) o wsparciu sup(subi i (L i -subl i )) = sup(i i ) str. 30

Algorytm Apriori(1) Założenia i oznaczenia: Zakładamy, że wszystkie transakcje są wewnętrznie uporządkowane (np. leksykograficznie) L k oznacza kolekcję zbiorów częstych o rozmiarze k, nazywanych częstymi zbiorami k-elementowymi C k oznacza kolekcję zbiorów kandydujących o rozmiarze k, nazywanych kandydującymi zbiorami k-elementowymi str. 31 Algorytm Apriori(2) Algorytm 1.3: Algorytm odkrywania zbiorów częstych Apriori We: baza danych D, próg minimalnego wsparcia minsup Wy: wszystkie zbiory częste z bazy danych D 1. L1 1-elementowe zbiory częste ; 2. for (k = 2; L k-1 ; k++) do 3. Ck apriori_gen(l k-1 ); 4. for all transakcji t D do 5. C t subset(c k, t); 6. for allzbiorów kandydujących c C t do 7. c.count++; 8. end for 9. end for 10. Lk {c C k c:count minsup}; 11. end for 12. return b `a str. 32 Funkcja: Apriori_Gen(C k )(1) Algorytm 1.3: Algorytm odkrywania zbiorów częstych Apriori We: (k-1)-elementowe zbiory częste L k-1 Wy: k-elementowe zbiory kandydujące C k 1. insert into C k 2. select p.item 1, p.item 2,..., p.item k-1, q.item k-1 3. from L k-1 p, L k-1 q 4. where p.item 1 = q.item 1 5. and p.item 2 = q.item 2 6.... 7. p.item k-2 = q.item k-2, 8. p.item k-1 < q.item k-1 ; str. 33

Funkcja: Apriori_Gen(C k )(2) Algorytm 1.3: Algorytm odkrywania zbiorów częstych Apriori We: (k-1)-elementowe zbiory częste L k-1 Wy: k-elementowe zbiory kandydujące C k 9. forall zbiorów kandydujących c C k do 10. forall (k-1)-elementowych podzbiorów s zbioru c do 11. if ( s L k-1 ) then 12. delete c from C k ; 13. end if 14. end for 15. end for str. 34 Odkrywanie zbiorów częstych (1) Trywialna metoda znajdowania zbiorów częstych, polegająca na wygenerowaniu wszystkich podzbiorów zbioru Ia następnie na obliczeniu dla każdego podzbioru wartości wsparcia tego podzbioru w praktyce, jest nieakceptowalna ze względu na liczbę potencjalnych zbiorów częstych Zbiór wszystkich podzbiorów zbioru I, ze względu na relacje zawierania się, tworzy kratę, której kresem dolnym jest zbiór pusty, natomiast kresem górnym jest cały zbiór I Krata podzbiorów zbioru I={A, B, C, D} str. 35 Odkrywanie zbiorów częstych (2) {} A B C D AB AC AD BC BD CD ABC ABD ACD BCD Krata podzbiorów zbioru I stanowi przestrzeń poszukiwania rozwiązań Celem każdego algorytmu odkrywania zbiorów częstych jest ograniczenie liczby analizowanych zbiorów elementów występujących w kracie ABCD str. 36

Własności miar (1) Własność monotoniczności Niech będzie dany zbiór elementów Ioraz jego zbiór potęgowy J = 2 L. Mówimy, ze miara f jest monotoniczna na zbiorze J, jeżeli: X; Y J : (X Y) f (X) f (Y) Własność monotoniczności miary f oznacza, ze jeżeli Xjest podzbioremzbioru Y, to wartość miary f (X) nie może być większa od f (Y) Własność antymonotoniczności Niech będzie dany zbiór elementów I oraz jego zbiór potęgowy J = 2 L. Mówimy, ze miara f jest monotoniczna na zbiorze J, jeżeli: X; Y J : (X Y) f (Y) f (X) Własność monotoniczności miary f oznacza, ze jeżeli Xjest podzbiorem zbioru Y, to wartość miary f (Y) nie może być większa od f (X) str. 37 Własności miar (2) Własność antymonotoniczności -wszystkie podzbiory zbioru częstego muszą być częste, innymi słowy, jeżeli B jest zbiorem częstym i A B, to A jest również zbiorem częstym Wniosek: jeżeli zbiór A nie jest zbiorem częstym, to żaden nadzbiór B zbioru A, A B, nie będzie zbiorem częstym Nie musimy rozważać wsparcia zbioru X, którego jakikolwiek podzbiór nie jest zbiorem częstym str. 38 Własności miar (3) {} A B C D AC nie jest zbiorem częstym AB AC AD BC BD CD ABC ABD ACD BCD zbiory nieczęste ABCD str. 39

Generacja zbiorów kandydujących (1) Dana kolekcja zbiorów częstych k-elementowych -L k. Generacja kolekcjic k+1 przebiega w dwóchkrokach: 1. Krok połączenia: Połącz zbiór L k1 ze zbiorem L k2, z następującym warunkiem połączeniowym -pierwszych k-1 elementów musi być identycznych oraz L k1 [k] < L k2 [k] (L ki [k] oznacza k-ty element zbioru L ki ) 2. Krok odcięcia: usuń wszystkie zbiory kandydujące, które posiadają nie częste podzbiory str. 40 Generacja zbiorów kandydujących (2) Dana kolekcja L 2 L 2 Zbiór sup 1 3 2 2 3 2 2 5 3 3 5 2 3 7 2 łączenie C 3 po kroku łączenia Zbiór sup 2 3 5 3 5 7 C 3 ostateczna postać Zbiór sup 2 3 5 odcięcie str. 41 Przykład (1) Dana jest baza danych postaci: tr_id produkt 1 coca-cola, orzeszki 2 orzeszki, pieluszki, piwo 3 coca-cola 4 coca-cola, orzeszki, piwo 5 orzeszki, pieluszki, piwo Załóżmy, że - minsup= 30% (0,3) - minconf= 70% (0,7) str. 42

Przykład (2) C 1 = L 1 zbiór wsparcie coca-cola 0,6 orzeszki 0,8 pieluszki 0,4 piwo 0,6 L 2 zbiór wsparcie coca-cola, orzeszki 0,4 orzeszki, pieluszki 0,4 orzeszki, piwo 0,6 pieluszki, piwo 0,4 C 2 zbiór wsparcie coca-cola, orzeszki 0,4 coca-cola, pieluszki 0,0 coca-cola, piwo 0,2 orzeszki, pieluszki 0,4 orzeszki, piwo 0,6 pieluszki, piwo 0,4 str. 43 Przykład (3) C 3 L 3 zbiór wsparcie zbiór wsparcie orzeszki, pieluszki, piwo 0,4 orzeszki, pieluszki, piwo 0,4 C 4 = L 4 = To jest koniec pierwszego etapu - generowania zbiorów częstych W kolejnym kroku, na podstawie otrzymanych zbiorów częstych są generowane binarne reguły asocjacyjne zgodnie z algorytmem 1.2. W kroku tym pomijane są 1-elementowe zbiory częste str. 44 Przykład (4) Na podstawie zbioru L 2 można wygenerować następujący zbiór reguł: zbiór częsty wsparcie reguła ufność pieluszki, piwo 0,4 pieluszki piwo 0,67 pieluszki, piwo 0,4 piwo pieluszki 1,00 orzeszki, piwo 0,6 orzeszki piwo 0,75 orzeszki, piwo 0,6 piwo orzeszki 1,00 pieluszki, orzeszki 0,4 pieluszki orzeszki 1,00 pieluszki, orzeszki 0,4 orzeszki pieluszki 0,50 coca-cola, orzeszki 0,4 coca-cola orzeszki 0,67 coca-cola, orzeszki 0,4 orzeszki coca-cola 0,50 str. 45

Przykład (5) Na podstawie zbioru L 3 można wygenerować następujący zbiór reguł: zbiór częsty wsparcie reguła ufność orzeszki, pieluszki, piwo 0,4 orzeszki pieluszki piwo 1,00 orzeszki, pieluszki, piwo 0,4 orzeszki piwo pieluszki 0,67 orzeszki, pieluszki, piwo 0,4 pieluszki piwo orzeszki 0,67 orzeszki, pieluszki, piwo 0,4 orzeszki pieluszki piwo 0,50 orzeszki, pieluszki, piwo 0,4 pieluszki orzeszki piwo 1,00 orzeszki, pieluszki, piwo 0,4 piwo orzeszki pieluszki 0,67 str. 46 Przykład (6) Tylko kilka ze znalezionych reguł spełnia warunek minimalnej ufności. Stąd, ostateczny wynik działania algorytmu Apriorijest następujący: reguła asocjacyjna wsparcie ufność piwo pieluszki 0,4 1,00 orzeszki piwo 0,6 0,75 piwo orzeszki 0,6 1,00 pieluszki orzeszki 0,4 1,00 orzeszki pieluszki piwo 0,4 1,00 pieluszki orzeszki piwo 0,4 1,00 str. 47 Generacja reguł (1) Dla każdego k-elementowego zbioru częstego L i można wygenerować 2 k 2 reguł asocjacyjnych Wszystkie reguły asocjacyjne wygenerowane ze zbioru częstego L i będą miały takie samo wsparcie odpowiadające wsparciu zbioru L i, mogą się natomiast różnić ufnością Pojawia się pytanie: jak zapewnić efektywność procedury generowania i obliczania ufności reguł asocjacyjnych wygenerowanych ze zbioru L i? Czy jest możliwe wykorzystanie w procesie generowania reguł asocjacyjnych ze zbiorów częstych miary ufności? str. 48

Generacja reguł (2) Po pierwsze zauważmy, ze obliczenie ufności reguły asocjacyjnej subl i (L i -subl i ) nie wymaga dostępu do bazy danych eksplorowanych rekordów Ufność reguły subl i (L i -subl i )można obliczyć korzystając z wartości wsparcia zbiorów częstych L i i subl i, tworzących regułę asocjacyjną, obliczonych wcześniej w kroku generowania zbiorów częstych Miara ufności, w przeciwieństwie do miary wsparcia nie posiada własności antymonotoniczności str. 49 Generacja reguł (3) Można łatwo udowodnić następujące twierdzenie odnoszące się do ufności reguł asocjacyjnych wywiedzionych z tego samego zbioru częstego L i : Jeżeli reguła asocjacyjna subl i (L i -subl i ) nie spełnia warunku minconf, to znaczy ufność(subl i (L i -subl i )) < minconf, to żadna reguła asocjacyjna postaci sub L i (L i sub L i ), gdzie sub L i subl i nie spełnia warunku minconf str. 50 Generacja reguł (4) Dla każdego k-elementowego zbioru częstego L i i każdego (k- 1)-elementowego podzbioru subl i zbioru L i, subl i L i, generujemy reguły asocjacyjne postaci subl i (L i -subl i ), to znaczy reguły mające 1-elementowy następnik Dla każdej wygenerowanej reguły obliczamy jej ufność. Jeżeli ufność wygenerowanej reguły nie spełnia warunku minimalnej ufności minconf, to znaczy ufność(subl i (L i -subl i )) < minconf, wówczas odrzucamy daną regułę oraz wszystkie reguły postaci sub L i (L i sub L i ), gdzie sub L i subl i str. 51

Generacja reguł (5) reguły o niskiej ufności a, b, c, d {} reguły o niskiej ufności b, c, d a a, c, d b a, b, d c a, b, c d c, d a, b b, d a, c b, c a, d a, d b, c a, c b, d a, b c, d d a, b, c c a, b, d b a, c, d a b, c, d str. 52 Generacja reguł (6) Dany jest zbiór częsty L i = (a, b, c, d). Jeżeli reguła asocjacyjna b, c, d a nie spełnia progu minimalnej ufności, tj. ufność(b, c, d a) < minconf, to odrzucamy regułę oraz wszystkie reguły, w których po lewej stronie występuje podzbiór zbioru (b, c, d): b, c a, d b, d a, c c, d a, b b a, c, d c a, b, d d a, b, c str. 53 Algorytm FP-Growth W algorytmie FP-Growthproces odkrywania zbiorów częstych jest realizowany w dwóch krokach: Krok 1 -Kompresja bazy danych D do FP-drzewa: baza danych transakcji D jest kompresowana i przekształcana do postaci FPdrzewa Krok 2 -Eksploracja FP-drzewa: FP-drzewo jest analizowane w celu znalezienia zbiorów częstych str. 54

Kompresja bazy danych Krok1 -znajdowanie wszystkich 1-elementowych zbiorów częstych w bazie danych D Krok 2 - transformacja każdej transakcji T i D do postaci transakcji skompresowanej Tr i, polegająca na usunięciu z T i wszystkich elementów, które nie są częste Krok 3 -posortowanie transakcji -dla każdej transakcji Tr i, elementy transakcji są sortowane według malejących wartości ich wsparcia tworząc listę elementów Posortowane transakcje Tr 1, Tr 2,..., Tr n, w ostatnim etapie tego kroku, są transformowane do FP-drzewa str. 55 FP-drzewo FP-drzewo jest ukorzenionym, etykietowanym w wierzchołkach, grafem acyklicznym. Korzeń grafu posiada etykietę "null", pozostałe wierzchołki grafu, zarówno wierzchołki wewnętrzne jak i liście, reprezentują 1-elementowe zbiory częste Z każdym wierzchołkiem grafu, za wyjątkiem korzenia, związana jest etykieta reprezentująca 1-elementowy zbiór częsty oraz licznik transakcji, reprezentujący liczbę transakcji wspierających dany zbiór str. 56 Transformacja do FP-drzewa (1) Utwórz korzeń FP-drzewa i przypisz mu etykietę null" Odczytaj bazę danych D (po kompresji) i dla pierwszej transakcji Tr 1 D utwórz ścieżkę w FP-drzewie, której początkiem jest korzeń drzewa Kolejność występowania elementów w posortowanej transakcji odpowiada kolejności wierzchołków w ścieżce reprezentującej daną transakcję Dla każdego wierzchołka należącego do ścieżki, wartość licznika transakcji jest, początkowo, równa 1 str. 57

Transformacja do FP-drzewa (2) Dla kolejnej transakcji Tr 2 D utwórz ścieżkę rozpoczynającą się od korzenia. Jeżeli lista elementów transakcji Tr 2 posiada wspólny prefiks z listą elementów transakcji Tr 1, wówczas, ścieżka reprezentująca Tr 2 jest konstruowana w następujący sposób: Załóżmy, że wspólny prefiks transakcji Tr 1 i Tr 2 składa się z elementów: I1, I2,..., Ik, gdzie Ii T1, Ii T2, i = 1,..., k. Transformacja elementów transakcji Tr 2 należących do wspólnego prefiksu I1, I2,..., Iknie tworzy nowych wierzchołków drzewa, lecz współdzieli istniejącą w FP-drzewie ścieżkę I1, I2,..., Ikutworzoną przy transformacji transakcji Tr 1. Pozostałe elementy transakcji Tr 2, nie należące do wspólnego prefiksu, tworzą nowe wierzchołki połączone łukami -początkiem tej ścieżki jest wierzchołek Ik. str. 58 Transformacja do FP-drzewa (3) Ogólnie, w przypadku transformacji transakcji Tr j, która posiada wspólny prefiks z przetransformowaną wcześniej transakcją Tr i, transakcja Tr j, po transformacji, współdzieli ścieżkę reprezentującą wspólny prefiks z transakcją Tr i Pojedyncza ścieżka w FP-drzewie, rozpoczynająca się w korzeniu drzewa, reprezentuje zbiór transakcji zawierających identyczne elementy. Licznik transakcji ostatniego wierzchołka danej ścieżki zawiera informacje o liczbie transakcji wspierających zbiór elementów reprezentowanych przez wierzchołki grafu należące do tej ścieżki. str. 59 Transformacja do FP-drzewa (4) W celu przyspieszenia i ułatwienia przeszukiwania FPdrzewa, algorytm FP-Growthutrzymuje dodatkową strukturę pełniącą rolę katalogu, nazywaną tablicą nagłówków elementówlub, krótko, tablicą nagłówkową, która dla każdego elementu wskazuje na jego lokalizację w FP-drzewie. Jeżeli dany element występuje wielokrotnie w FP-drzewie, wskaźniki do wierzchołków reprezentujących dany element tworzą listę wskaźników str. 60

Przykładowe FP-drzewo null Tablica nagłówkowa element wsparcie wsk I2 I1 I1 I2 I3 I4 I5 6 7 6 2 2 I1 I3 I4 I3 I5 I4 I3 I5 str. 61 Eksploracja FP-drzewa (1) W kroku drugim algorytmu, FP-drzewo jest eksplorowane w celu znalezienia wszystkich zbiorów częstych Proces eksploracji FP-drzewo bazuje na obserwacji, że dla każdego 1-elementowego zbioru częstego α, wszystkie częste nadzbiory zbioru αsą reprezentowane w FP-drzewie przez ścieżki zawierające wierzchołek (wierzchołki) α str. 62 Eksploracja FP-drzewa (2) Dla każdego 1-elementowego zbioru częstego αznajdujemy wszystkie ścieżki w FP-drzewie, których końcowym wierzchołkiem jest wierzchołek reprezentujący zbiór α. Pojedynczą ścieżkę, której końcowym wierzchołkiem jest α, nazywać będziemy ścieżką prefiksową wzorca α Z każdą prefiksową ścieżką wzorca αjest związany licznik częstości ścieżki, którego wartość odpowiada wartości licznika transakcji wierzchołka końcowego ścieżki reprezentującego zbiór α str. 63

Eksploracja FP-drzewa (3) Zbiór wszystkich ścieżek prefiksowych wzorca tworzy warunkową bazę wzorca Warunkowa baza wzorca służy do konstrukcji tzw. warunkowego FP-drzewa wzorca α, oznaczanego Tree-α. Warunkowe FP-drzewo jest, następnie, rekursywnie eksplorowane w celu znalezienia wszystkich zbiorów częstych zawierających zbiór α. str. 64 Przykładowe FP-drzewo Dane jest następujące FP-drzewo (rys. 1.) null orzeszki : 4 coca_cola : 1 coca_cola: 1 piwo : 3 pieluszki : 2 coca_cola : 1 str. 65 Algorytm konstrukcji warunkowego FPdrzewa wzorca α(1) 1. Aktualizujemy liczniki częstości ścieżek prefiksowych wzorca αw celu eliminacji transakcji nie zawierających wzorca α(te transakcje nie wspierająwzorca α). Przykładowo, ścieżka prefiksowa wzorca pieluszkidla FP-drzewa przedstawionego na poprzednim slajdzie: (null) (orzeszki : 4) (piwo : 3) (pieluszki : 2) zawiera transakcje T4 i T1, które nie wspierają wzorca pieluszki. Transakcja T1 wspiera orzeszki, natomiast transakcja T4 wspiera orzeszki i piwo. Odejmujemy zatem 1 od licznika transakcji wierzchołka piwooraz 2 od licznika transakcji wierzchołka orzeszki. W wyniku aktualizacji liczników wierzchołków należących do ścieżki prefiksowej wzorca pieluszkiotrzymujemy uaktualniona ścieżkę prefiksowa wzorca pieluszki postaci: (null) (orzeszki : 2) (piwo : 2) (pieluszki : 2) str. 66

Algorytm konstrukcji warunkowego FPdrzewa wzorca α(2) 2. Po aktualizacji liczników wierzchołków należących do ścieżek prefiksowych wzorca α, niektóre wierzchołki tych ścieżek nie reprezentują już zbiorów częstych i można je usunąć. Załóżmy, że minsup= 2 i że ze wzorcem αsą związane 2 ścieżki prefiksowe: (null) (a : 3) (b : 2) (c : 2) (α: 2) (null) (a : 3) (d : 2) ( : 1) Załóżmy, że po aktualizacji liczników transakcji uaktualnione ścieżki prefiksowe wzorca mają następującą postać: (null) (a : 3) (b : 2) (c : 2) (α: 2) (null) (a : 1) (d : 1) (α: 1) Oznacza to, że w bazie danych D występuje tylko jedna transakcja zawierająca elementy di α. Możemy zatem bezpiecznie usunąć wierzchołek d, gdyż na pewno nie istnieje żaden nadzbiór zbioru α, który by zawierał podzbiór (d, α) i który byłby zbiorem częstym str. 67 Algorytm konstrukcji warunkowego FPdrzewa wzorca α(3) 3. Obcinamy ścieżki prefiksowe wzorca,usuwając z nich wszystkie wierzchołki reprezentujące wzorzec α. Wierzchołki te nie są już konieczne, gdyżdokonaliśmy aktualizacji liczników transakcji wierzchołków należących do ścieżek prefiksowych wzorca i tym samym ścieżki te reprezentują wyłącznietransakcje zawierające wzorzec α. 4. Łączymy wszystkie ścieżki prefiksowe wzorca α, tworząc warunkowe FP-drzewo wzorca α. str. 68 Przykład (1) Rozważmy ponownie przykładowe FP-drzewo przedstawione na rys. 1 na jednym z poprzednich slajdów. Zakładamy minsup = 30% Konstrukcje warunkowych FP-drzew dla poszczególnych wzorców: (orzeszki), (piwo), (coca_cola) i (pieluszki) Konstrukcja warunkowego FP-drzewa dla 1-elementowego zbioru częstego pieluszki Istnieje tylko jedna ścieżka, której wierzchołkiem końcowymjest wierzchołek (pieluszki): (null) (orzeszki : 4) (piwo : 3) (pieluszki : 2) Licznik częstości tej ścieżki przyjmuje wartość licznika transakcji wierzchołka (pieluszki), tj. wartość 2 str. 69

Przykład (2) Aktualizujemy liczniki transakcji wierzchołków ścieżki prefiksowej wzorca (pieluszki) w celu eliminacji transakcji niezawierających wzorca (pieluszki), a następnie usuwamy wierzchołek reprezentujący wzorzec (pieluszki). W wyniku otrzymujemy następującąuaktualnioną ścieżkę prefiksową wzorca (pieluszki): (null) (orzeszki : 2) (piwo : 2) Ścieżka ta tworzy warunkowe FP-drzewo wzorca pieluszki str. 70 Przykład (3) Konstrukcja warunkowego FP-drzewa dla 1-elementowego zbioru częstego coca-cola Warunkowa baza wzorca coca_cola zawiera 3 ścieżki prefiksowe: (null) (orzeszki : 4) (piwo : 3) (coca_cola: 1) (null) (orzeszki : 4) (coca_cola: 1) (null) (coca_cola: 1) Po aktualizacji liczników transakcji ścieżek prefiksowych wzorca coca_cola otrzymujemy następujące uaktualnione ścieżki prefiksowe: (null) (orzeszki : 1) (piwo : 1) (coca_cola: 1) (null) (orzeszki : 1) (coca_cola: 1) (null) (coca_cola: 1) Usuwamy wierzchołek piwo z pierwszej ścieżki oraz wierzchołki wzorca str. 71 Przykład (4) Otrzymujemy następujące uaktualnione ścieżki prefiksowe wzorca coca_cola: (null) (orzeszki : 1) (null) (orzeszki : 1) (null) Warunkowe FP-drzewo wzorca coca_cola: (null) (orzeszki : 2) Podobnie znajdujemy warunkowe FP_drzewa wzorca orzeszki i piwo Warunkowe bazy wzorców i warunkowe FP-drzewa wzorców otrzymane w wyniku działania algorytmu przedstawiono w tabelkach str. 72

Przykład (5) wzorzec warunkowa baza wzorca pieluszki (null) (orzeszki : 4) (piwo : 3) (pieluszki : 2) coca-cola (null) (orzeszki : 4) (piwo : 3) (coca_cola: 1) (null) (orzeszki : 4) (coca_cola: 1) (null) (coca_cola: 1) piwo (null) (orzeszki : 4) (piwo : 3) orzeszki (null) (orzeszki : 4) wzorzec warunkowe FP-drzewo pieluszki (null) (orzeszki : 2) (piwo : 2) coca-cola (null) (orzeszki : 2) piwo (null) (orzeszki : 3) orzeszki (null) str. 73 Procedura FP-Growth(1) Procedura FP-Growth, w oparciu o warunkowe FP-drzewa wzorców, znajduje wszystkie zbiory częste Parametry początkowe procedury FP-Growth, w momencie inicjacji procedury, są następujące: Tree= FP-drzewo α= null str. 74 Procedura FP-Growth(2) Procedura FP-Growth(Tree, α) We: FP-drzewo Tree, korzeń drzewa α Wy: zbiory częste w FP-drzewie 1. if Tree zawiera pojedynczą ścieżkę P then 2. for eachkombinacji β wierzchołków ścieżki P do 3. generuj zbiór β αo wsparciu równym minimalnemu wsparciu elementów należących do β 4. end do 5. elsefor allα i należącego do tablicy nagłówków elementów Treedo 6. generuj zbiór β= α i αo wsparciu = wsparcie(α i ); 7. utwórz warunkową bazę wzorca β; 8. utwórz warunkowe FP-drzewo wzorca β-tree β ; 9. iftree β then 10. FP-Growth(Tree- β, β); 11. end if 12. end for 13. end if str. 75

Przykład (1) Dane jest FP-drzewo przedstawione na rys. 1 oraz zbiór warunkowych FPdrzew wzorców wywiedzionych z tego drzewa. Załóżmy, ze wartość minimalnego wsparcia wynosi minsup = 30% (2 transakcje) Do kolekcji zbiorów częstych włączamy wszystkie 1-elementowe zbiory częste: coca-cola (60%), orzeszki (80%), pieluszki (40%), piwo (60%) Działanie algorytmu przedstawimy na przykładzie analizy wzorca pieluszki warunkowe FP-drzewo wzorca pieluszki: (null) (orzeszki : 2) (piwo : 2) Rozpoczynamy konstruowanie 2-elementowych zbiorów częstych zawierających element pieluszki. Rozpoczynamy od elementu leżącego bliżej wzorca pieluszki, to jest elementu piwo. Szukamy wszystkich ścieżek prefiksowych elementu piwo w warunkowym FP-drzewie wzorca pieluszki. Istnieje tylko jedna ścieżka prefiksowa postaci: (null) (orzeszki : 2) (piwo : 2) str. 76 Przykład (2) Wsparcie 2-elementowego zbioru (piwo; pieluszki) wynosi 40%. Zatem zbiór (piwo; pieluszki) jest zbiorem częstym Przechodzimy następniedo konstrukcji warunkowego FP-drzewa zbioru (piwo; pieluszki). Po aktualizacji i usunięciu wierzchołka reprezentującego element piwo otrzymujemy ostatecznie ścieżkę prefiksowa : (null) (orzeszki : 2), która tworzy warunkowe FP-drzewo zbioru (piwo, pieluszki) Zajmiemy się teraz analiza drugiego elementu występującego w warunkowym FP-drzewie wzorca pieluszki, to jest elementem orzeszki Szukamy wszystkich ścieżek prefiksowych elementu orzeszki w warunkowym FP-drzewie wzorca pieluszki. Istnieje tylko jedna ścieżka prefiksowa postaci: (null) (orzeszki : 2) str. 77 Przykład (3) Wsparcie 2-elementowego zbioru (orzeszki, pieluszki) wynosi 40% - zbiór (orzeszki; pieluszki) jest również zbiorem częstym Przechodzimy do konstrukcji warunkowego FP-drzewa zbioru (orzeszki, pieluszki). Poaktualizacji i usunięciu wierzchołka reprezentującego element orzeszki otrzymujemy ostatecznie ścieżkę prefiksowa postaci: (null) Ścieżka ta tworzy warunkowe FP-drzewo zbioru (orzeszki, pieluszki). Otrzymane warunkowe FP-drzewo zbioru (orzeszki,pieluszki) składa się tylko z wierzchołka (null) -kończy to dalszą eksplorację tego drzewa w celu znalezienia kolejnych zbiorów częstych str. 78

Przykład (4) Pozostaje jeszcze do analizy i eksploracji warunkowe FP-drzewo zbioru (piwo, pieluszki): (null) (orzeszki : 2) Drzewo to zawiera tylko jeden wierzchołek reprezentującyelement orzeszki. Szukamy wszystkich ścieżek prefiksowych elementu orzeszki w warunkowym FP-drzewie zbioru (piwo,pieluszki). Istnieje tylko jedna ścieżka prefiksowa postaci: (null) (orzeszki : 2) Wsparcie 3-elementowego zbioru (orzeszki,piwo,pieluszki) wynosi więc 40%. Zbiór (orzeszki, piwo, pieluszki) jest również zbiorem częstym str. 79 Przykład (5) Następnie konstruujemy warunkowe FP-drzewo zbioru (orzeszki, piwo, pieluszki). Po aktualizacji i usunięciu wierzchołka reprezentującego element orzeszki otrzymujemy ostatecznie ścieżkę prefiksowa postaci: : (null) Otrzymanewarunkowe FP-drzewo zbioru (orzeszki,piwo,pieluszki) składa się tylko z wierzchołka (null), co kończy dalsza eksploracje tego drzewa. Reasumując, w wyniku eksploracji warunkowego FP-drzewa wzorca pieluszki znajdujemy następujące zbiory częste: (orzeszki, piwo, pieluszki), (orzeszki, pieluszki) i (piwo, pieluszki) Wsparcie wygenerowanych zbiorów częstych wynosi 40% str. 80 Domknięte zbiory częste (1) W analizowanym zbiorze danych można odkryć miliony zbiorów częstych, które muszą być przechowywane w celu dalszej ich eksploracji i generacji reguł asocjacyjnych Jednym ze sposobów minimalizacji liczby przechowywanych zbiorów częstych jest przechowywanie ograniczonej liczby zbiorów częstych, z których można wywieść pozostałe zbiory częste Zbiorami danych, z których można wywieść wszystkie zbiory częste są domknięte zbiory częste i maksymalne zbiory częste str. 81

Domknięte zbiory częste (2) Zbiór elementów Xnazywamy domkniętymw zbiorze danych D, jeżeli nie istnieje żaden bezpośredni nadzbiór Yzbioru X, X Y, dla którego zachodzi sup(x) = sup(y) w zbiorze D Zbiór Yjest bezpośrednim nadzbiorem zbioru X, jeżeli zawiera wszystkie elementy zbioru Xi jeden element dodatkowy, który nie należy do zbioru X Zbiór elementów Xnazywamy domkniętym zbiorem częstym w zbiorze danych D, jeżeli zbiór Xjest zarówno zbiorem częstym, jak i zbiorem domkniętym str. 82 Domknięte zbiory częste (3) Na podstawie domkniętych zbiorów częstych możemy odtworzyć wszystkie zbiory częste wraz z dokładnymi wartościami ich wsparcia Ze względu na własność domknięcia domknięte zbiory częste można traktować jako rodzaj bezstratnej kompresji zbiorów częstych Liczba domkniętych zbiorów częstych może być o kilka rzędów wielkości mniejsza od liczby zbiorów częstych str. 83 Domknięte zbiory częste (4) Zbiór danych tid produkty 1 A, B 2 B, C, D 3 A 4 A, B, D 5 B, C, D Załóżmy, że próg minimalnego wsparcia wynosi minsup= 30% (2 transakcje) zbiór A 3 B 4 C 2 D 3 A, B 2 A, C 0 A, D 1 B, C 2 B, D 3 C, D 2 A, B, C 0 A, B, D 1 A, C, D 0 B, C, D 2 A, B, C, D 0 wsparcie str. 84

Półkrata zbiorów domkniętych {} 3 4 2 3 A B C D 2 AB 0AC 1 AD 2BC 3 BD 2 CD 0 ABC 1ABD 0 ACD 2 BCD 0ABCD 85 str. 85 Półkrata zbiorów częstych {} 3 4 2 3 A B C D 2 AB 0AC 1 AD 2BC 3 BD 2 CD 0 ABC 1ABD 0 ACD 2 BCD 0ABCD str. 86 Domknięte zbiory częste (5) {} domknięte zbiory częste (5 zbiorów) 3 4 2 3 A B C D 2 0 1 2 3 2 AB AC AD BC BD CD zbiory częste (9 zbiorów) 0 ABC 1ABD 0 ACD 2 BCD 0ABCD str. 87

Generowanie zbiorów częstych na podstawie zbiorów domkniętych (1) 1. Niech FI oznacza kolekcję zbiorów częstych, Dom k oznacza kolekcję domkniętych k-elementowych zbiorów częstych; 2. FI = ; 3. k = 1; 4. FI Dom k ; \*dodaj do zbioru FI wszystkie 1-elementowe domknięte zbiory częste*\, 5. k= k+1; 6. whiledom k for eachx k Dom k wygeneruj wszystkie podzbiory X ik, i=1,, m, zbioru X k ; str. 88 Generowanie zbiorów częstych na podstawie zbiorów domkniętych (2) for i= 1 to m do ifx ik FI then FI FI {X ik }; sup(x ik ) = sup(x k ); end for k= k+1; 7. end while; 8. return str. 89 Generowanie zbiorów częstych na podstawie zbiorów domkniętych (3) Przykład: FI = ; k=1; FI Dom 1 ; FI = {(A), (B)}, sup(a) = 3, sup(b) = 4; k=2; Dom 2 = {(A, B), (B, D)} X 12 = (A, B); podzbiory zbioru X 12 ={(A), (B), (A, B)} podzbiory (A) i (B) należą już do FI; \* pomiń ich analizę *\ podzbiór (A, B) FI, dodaj (A, B) do FI, sup(a, B) = 2; X 22 = (C, D); podzbiory zbioru X 22 ={(B), (D), (B, D)} podzbiór (B) należy już do FI; \* pomiń jego analizę *\ podzbiór (D) FI, dodaj (D) do FI, sup(d) = sup(b, D) = 3; str. 90

Generowanie zbiorów częstych na podstawie zbiorów domkniętych (4) Przykład (cd.): podzbiór (B, D) FI, dodaj (B, D) do FI, sup(b, D) = 3; k= 3; Dom 3 = {(B, C, D)} X 13 = (B, C, D); podzbiory zbioru X 13 ={(B), (C), (D), (B, C), (B,D), (C, D)} podzbiory (B), (D) i (B, D) należą już do FI; \* pomiń ich analizę *\ podzbiór (C) FI, dodaj (C) do FI, sup(c) = sup(b, C, D) = 2; podzbiory (B, C) i (C, D) FI, dodaj (B, C) i (C, D) do FI, sup(b, C) = sup(b, C, D) = 2; sup(c, D) = sup(b, C, D) = 2; podzbiór (B, C, D) FI, dodaj (B, C, D) do FI, sup(b, C, D) = 2; Dom 4 =, koniec algorytmu str. 91 Maksymalne zbiory częste (1) Zbiór elementów Xnazywamy maksymalnym zbiorem częstym w zbiorze danych D, jeżeli zbiór X jest zbiorem częstym i nie istnieje żaden nadzbiór Yzbioru X, X Y, taki że Yjest również zbiorem częstym Zbiór Xnazywamy maksymalnym domkniętym zbiorem częstym w zbiorze danych D, jeżeli zbiór Xjest zarówno maksymalnym zbiorem częstym, jak i domkniętym zbiorem częstym Maksymalne domknięte zbiory częste stanowią maksymalnie skompresowaną reprezentację zbiorów częstych Wszystkie zbiory częste występujące w eksplorowanym zbiorze danych D są podzbiorami maksymalnych domkniętych zbiorów częstych Maksymalne domknięte zbiory częste nie zawierają pełnej informacji o wsparciu skompresowanych zbiorów częstych str. 92 Maksymalne zbiory częste (2) Maksymalne domknięte zbiory częste stanowią zatem rodzaj stratnej kompresji zbiorów częstych Rozważmy ponownie następujący zbiór transakcji: tid produkty 1 A, B 2 B, C, D 3 A 4 A, B, D 5 B, C, D zbiór wsparcie A 3 B 4 C 2 D 3 A, B 2 A, C 0 A, D 1 B, C 2 B, D 3 C, D 2 zbiór wsparcie A, B, C 0 A, B, D 1 A, C, D 0 B, C, D 2 A, B, C, D 0 str. 93

Maksymalne domknięte zbiory częste (3) {} 3 4 2 3 A B C D 2 AB 0AC 1 AD 2BC 3 BD 2 CD 0 ABC 1ABD 0 ACD 2 BCD 0ABCD str. 94 Maksymalne domknięte zbiory częste (4) Maksymalne domknięte zbiory częste to: (A, B) i (B, C, D) Łatwo zauważyć, że na podstawie maksymalnych domkniętych zbiorów częstych możemy wygenerowaćwszystkie zbiory częste występujące w zbiorze danych D Z maksymalnego domkniętego zbioru częstego (A,B) otrzymujemy następujące3 zbiory częste: (A), (B) i (A, B) Zmaksymalnego domkniętego zbioru częstego (B, C, D) otrzymujemy 6 zbiorów częstych: (C), (D), (B, C), (B, D), (C, D), (B, C, D) Na podstawie wsparcia maksymalnych domkniętych zbiorów częstych nie można odtworzyć wsparcia wszystkich wygenerowanych zbiorów częstych str. 95 Uogólnione reguły asocjacyjne lub Wielopoziomowe reguły asocjacyjne str. 96

Wielopoziomowe reguły asocjacyjne W wielu dziedzinach zastosowań eksploracji danych trudno jest odkryć silne, interesujące i nieznane binarne reguły asocjacyjne Problem: rzadka baza danych Użytkownicy mogą być zainteresowani nie tyle znalezieniem konkretnych grup produktów/usług kupowanych razem, ile znalezieniem asocjacji pomiędzy nazwanymi grupami produktów Rozwiązanie wprowadzenie różnych poziomów abstrakcji reprezentujących grupy produktów (elementów) str. 97 Wielopoziomowe reguły asocjacyjne Przykładowa wielopoziomowa reguła asocjacyjna: 50% klientów kupujących pieczywo (chleb, bułki, rogale, itp.) kupuje również nabiał Reguły asocjacyjne reprezentujące asocjacje pomiędzy nazwanymi grupami elementów (produktów, zdarzeń, cech, usług, itp.) nazywamy wielopoziomowymilub uogólnionymiregułamiasocjacyjnymi Wielopoziomowe reguły asocjacyjne posiadają, często, większą wartość poznawczą dla analityków i decydentów aniżeli jednopoziomowe reguły asocjacyjne, ponieważ operują na ogólniejszych hierarchiach pojęciowych, które są czytelniejsze i łatwiejsze do analizy, oraz reprezentują uogólnioną wiedzę Wielopoziomowych reguł asocjacyjnych nie można wyprowadzić ze zbioru jednopoziomowych reguł asocjacyjnych str. 98 Taksonomia elementów (1) Taksonomia elementów (hierarchia wymiaru) klasyfikacja pojęciowa elementów opisuje relacje generalizacji/specjalizacji pomiędzy elementami i nazwanymi grupami elementów ma postać ukorzenionego grafu (tzw. drzewa), którego liśćmi są pojedyncze elementy zbioru I, natomiast wierzchołkami wewnętrznymi nazwane grupy elementów korzeniem grafu jest zbiór wszystkich elementów I str. 99

Taksonomia elementów (2) produkt pieczywo napoje art. higieny rogale bułki chleb soki piwo wody pieluszki proszki str. 100 Pojęcia podstawowe (1) Dany jest zbiór elementów I oraz dana jest taksonomia elementów H Dowolny niepusty podzbiór Tzbioru I, T I it, nazywamy transakcją elementów lub krótko transakcją Bazą danych D nazywamy zbiór transakcji T, D= (T 1, T 2,, T n ), gdzie T i I; i = 1, 2,, n Mówimy, że transakcja T wspiera element x I, jeżeli: x T, lub x jest poprzednikiem dowolnego elementu a T w taksonomii H Transakcja T wspiera zbiór X, jeżeli wspiera każdy element zbioru X str. 101 Pojęcia podstawowe (2) Wielopoziomową regułą asocjacyjną(wra) nazywamy relację postaci X Y, gdzie X I, Y I, X Y i żaden element y Y nie jest poprzednikiem żadnego elementu x X Definicje wsparcia i ufności reguły wielopoziomowej identyczne jak w przypadku binarnych reguł asocjacyjnych str. 102

Sformułowanie problemu Problem odkrywania wielopoziomowych reguł asocjacyjnych można zdefiniować następująco: Dana jest baza danych transakcji T oraz taksonomia elementów H należy znaleźć wszystkie wielopoziomowe reguły asocjacyjne, których wsparcie jest większe lub równe pewnej minimalnej wartości wsparcia minsupi których ufność jest większa lub równa pewnej minimalnej wartości ufności minconf str. 103 Podstawowy algorytm odkrywania WRA (1) 1. Rozszerz każdą transakcję T i D o zbiór poprzedników (nazwane grupy elementów) wszystkich elementów należących do transakcji (pomijamy w tym rozszerzeniu korzeń taksonomii i, ewentualnie, usuwamy wszystkie powtarzające się elementy) 2. W odniesieniu do bazy danych tak rozszerzonych transakcji zastosuj dowolny algorytm odkrywania binarnych reguł asocjacyjnych (np. Apriori) 3. Usuń wszystkie trywialne wielopoziomowe reguły asocjacyjne str. 104 Podstawowy algorytm odkrywania WRA (2) Trywialną wielopoziomową regułą asocjacyjną nazywamy regułę postaci wierzchołek poprzednik (wierzchołka), gdzie wierzchołek reprezentuje pojedynczy element lub nazwaną grupę elementów Do usuwania trywialnych WRA wykorzystaj taksonomię elementów Usuń specjalizowane WRA jedną regułą uogólnioną: np. bułki napoje i rogale napoje zastąp regułą pieczywo napoje (do tego celu wykorzystaj taksonomię elementów) str. 105

Wady podstawowego algorytmu odkrywania WAR Rozszerzenie transakcji o poprzedniki elementów prowadzi do wzrostu średniego rozmiaru transakcji Wzrost średniego rozmiaru zbioru kandydującego Wzrost liczby iteracji algorytmu i zwiększenia liczby odczytów bazy danych Spadek efektywność algorytmu str. 106 Problem progu wsparcia Problem jednakowego minimalnego progu wsparcia dla wszystkich poziomów taksonomii elementów - konsekwencje: możliwość wykorzystania własność monotoniczności miary wsparcia problem określenia wartości minimalnego wsparcia Jeden próg wsparcia faworyzuje nazwane grupy elementów Zmienny próg minimalnego wsparcia: dla każdego poziomu taksonomii elementów definiujemy niezależny próg minimalnego wsparcia Niższy poziom taksonomii mniejszy próg minimalnego wsparcia str. 107 Zmienny próg minimalnego wsparcia mleko [wsparcie= 10%] 2% mleko [wsparcie= 6%] kozie mleko [wsparcie= 6%] str. 108

Ogólny algorytmy odkrywania WAR o zmiennym progu minsup Algorytm jest algorytmem schodzącym (ang. top down) Krok 1: poszukiwanie elementów częstych na najwyższym (najbardziej abstrakcyjnym) poziomie taksonomii Krok 2: poszukiwanie elementów częstych na kolejnych, niższych poziomach taksonomii aż do osiągnięcia poziomu liści taksonomii Krok 3: poszukiwanie zbiorów częstych zawierających elementy częste należące do różnych poziomów taksonomii str. 109 Wielowymiarowe reguły asocjacyjne str. 110 Wielowymiarowe reguły asocjacyjne Regułę asocjacyjną nazywamy wielowymiarową, jeżeli dane występujące w regule reprezentują różne dziedziny wartości (różne wymiary analizy) Atrybuty (wymiary): ciągle (ilościowe) kategoryczne (nominalne, porządkowe) Reguły wielowymiarowe określają współwystępowanie wartości danych ciągłych i/lub kategorycznych str. 111

Przykład (1) tid wiek dochód stan-cywilny płeć partia 100 44 30000 żonaty męska A 200 55 45000 żonaty męska A 300 45 50000 panna żeńska A 400 34 44000 panna żeńska B 500 45 38000 żonaty męska A 600 32 43000 kawaler męska B 700 32 41000 kawaler męska B 800 33 44000 panna żeńska A str. 112 Przykład (2) W przedstawionej bazie danych możemy znaleźć następujące wielowymiarowe reguły asocjacyjne: <wiek: 44..55> <Stan-cywilny: żonaty> <Partia: A> sup= 37,5%, conf= 100% <Stan-cywilny: panna> <Partia: A> sup= 25%, conf= 66,6% str. 113 Problemy Dane ciągłe atrybut zarobek wymagają dyskretyzacji Brakujące dane (wartości puste null values) pomiń rekordy zawierające brakujące dane spróbuj uzupełnić brakujące dane Uzupełnianie danych założenie o świecie otwartym i świecie zamkniętym zastosuj algorytmy znajdowania zależności funkcyjnych w bazie danych str. 114

Binaryzacja danych (1) Binaryzacja danych polega na transformacji danych do zbioru elementów binarnych Binaryzacja danych pozwala na transformacje problemu odkrywania wielowymiarowych reguł asocjacyjnych do problemu odkrywania binarnych jednowymiarowych reguł asocjacyjnych dyskretyzacja atrybutów ciągłych przedziały wartości Wiek [20, 29], [30,39],... tworzenie rekordów postaci boolowskiej atrybuty kategoryczne: każda wartość atrybutu stanowi osobny produkt atrybuty ciągle: każdy przedział wartości atrybutu stanowi osobny produkt str. 115 Binaryzacja danych (2) Binaryzacja danych kategorycznych polega na utworzeniu, dla każdej pary atrybut wartość, osobnego elementu będącego daną binarną asymetryczną Przykładowo: atrybut kategoryczny stan-cywilnytransformujemy do zbioru trzech elementów binarnych: stan-cywilny = żonaty, stan-cywilny = kawaler, stan-cywilny =panna W odniesieniu do danych ciągłych binaryzacja sprowadza się do wyboru określonej metody dyskretyzacji. Dyskretyzacja danych ciągłych polega na podzieleniu zbioru możliwych wartości, jakie może przyjmować atrybut ciągły, na przedziały wartości Przykładowo, dziedzinę wartości atrybutu wiekmożemy podzielić na trzy przedziały: wiek [30; 39], wiek [40; 49], oraz wiek [50; 59] str. 116 Podstawowy algorytm odkrywania wielowymiarowych reguł asocjacyjnych 1. Rekordy eksplorowanej bazy danych transformujemy do postaci rekordów binarnych (boolowskich) 2. Numerujemy poszczególne elementy binarne będące wynikiem binaryzacji 3. Transformujemy bazę danych rekordów binarnych do postaci transakcyjnej bazy danych 4. Stosujemy dowolny algorytm odkrywania binarnych reguł asocjacyjnych 5. Transformujemy otrzymane binarne reguły asocjacyjne do postaci reguł wielowymiarowych str. 117

Przykład (1) tid wiek dochód stan-cywilny płeć partia 100 44 30 000 żonaty męska A 200 55 45 000 żonaty męska A 300 45 50 000 panna żeńska A 400 34 44 000 panna żeńska B 500 45 38 000 żonaty męska A 600 32 43 000 kawaler męska B 700 32 41 000 kawaler męska B 800 33 44 000 panna żeńska A Dziedzinę atrybutu wiek dzielimy na dwa przedziały: wiek [30,44] oraz wiek [45,59] Dziedzinę atrybutu dochód dzielimy na dwa przedziały: dochód [30K,39K] oraz dochód [40K,49K] minsup=30% str. 118 Przykład (2) tid wiek wiek dochód dochód płeć płeć partia partia [30,44] [45,59] [30K,39K] [40K,49K] żeńska męska A B 100 1 0 1 0 0 1 1 0 200 0 1 0 1 0 1 0 1 300 0 1 1 0 0 1 1 0 400 1 0 0 1 1 0 0 1 500 0 1 1 0 0 1 1 0 600 1 0 0 1 1 0 0 1 700 0 1 1 0 1 0 0 1 800 1 0 0 1 1 0 1 0 1 2 3 4 5 6 7 8 str. 119 Przykład (3) tid produkt 100 1, 3, 6, 7 200 2, 4, 6, 8 300 2, 3, 6, 7 400 1, 4, 5, 8 500 2, 3, 6, 7 600 1, 4, 5, 8 700 2, 3, 5, 8 800 1, 4, 5, 7 Zastosujmy algorytm Apriopri w celu znalezienia wszystkich zbiorów częstych i reguł asocjacyjnych W wyniku działania algorytmu otrzymujemy następujący zbiór silnych reguł asocjacyjnych: 1 ^ 4 5 sup= 37; 5%, conf= 100% 1 ^ 5 4 sup= 37; 5%, conf= 100% 4 ^ 5 1 sup= 37; 5%, conf= 100% 3 ^ 6 7 sup= 37; 5%, conf= 100% 3 ^ 7 6 sup= 37; 5%, conf= 100% 6 ^ 7 3 sup= 37; 5%, conf= 100% str. 120