Reguły asocjacyjne, wykł. 11

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

Algorytmy odkrywania binarnych reguł asocjacyjnych

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

1. Odkrywanie asocjacji

Inżynieria biomedyczna

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

INDUKOWANE REGUŁY DECYZYJNE ALORYTM APRIORI JAROSŁAW FIBICH

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

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

Indukowane Reguły Decyzyjne I. Wykład 3

Metody eksploracji danych. Reguły asocjacyjne

Odkrywanie asocjacji

Systemy Wspomagania Decyzji

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

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

Ewelina Dziura Krzysztof Maryański

Odkrywanie asocjacji

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

Metody indukcji reguł

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

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

Co to są drzewa decyzji

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

Eksploracja danych - wykład VIII

WYKŁAD 11 Uczenie maszynowe drzewa decyzyjne

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

Reguły asocjacyjne w programie RapidMiner Michał Bereta

Wnioskowanie Boolowskie i teoria zbiorów przybli»onych

Problem 1 prec f max. Algorytm Lawlera dla problemu 1 prec f max. 1 procesor. n zadań T 1,..., T n (ich zbiór oznaczamy przez T )

Wielopoziomowe i wielowymiarowe reguły asocjacyjne

Algorytmy i Struktury Danych

Wprowadzenie. Data Science Uczenie się pod nadzorem

Analiza algorytmów zadania podstawowe

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

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

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

Wyszukiwanie reguł asocjacji i ich zastosowanie w internecie

Analiza i eksploracja danych

Algorytmy grafowe. Wykład 2 Przeszukiwanie grafów. Tomasz Tyksiński CDV

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

Sortowanie topologiczne skierowanych grafów acyklicznych

Klasyfikacja obiektów Drzewa decyzyjne (drzewa klasyfikacyjne)

Wyk lad 8: Leniwe metody klasyfikacji

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

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel

Odkrywanie wzorców sekwencji

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

B jest globalnym pokryciem zbioru {d} wtedy i tylko wtedy, gdy {d} zależy od B i nie istnieje B T takie, że {d} zależy od B ;

Wstęp do Sztucznej Inteligencji

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce.

Wykład 8. Drzewo rozpinające (minimum spanning tree)

Indukowane Reguły Decyzyjne I. Wykład 8

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

Ćwiczenie 5. Metody eksploracji danych

Baza danych dla potrzeb zgłębiania DMX

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

Wprowadzenie do technologii informacyjnej.

Sztuczna Inteligencja Projekt

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

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

Odkrywanie reguł asocjacyjnych

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

Systemy decyzyjne Wyk lad 4: Drzewa decyzyjne

ALGORYTMY I STRUKTURY DANYCH

Przeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279

Sztuczna Inteligencja Projekt

Odkrywanie reguł asocjacyjnych. Rapid Miner

liniowa - elementy następują jeden za drugim. Graficznie możemy przedstawić to tak:

Hurtownie danych. Analiza zachowań użytkownika w Internecie. Ewa Kowalczuk, Piotr Śniegowski. Informatyka Wydział Informatyki Politechnika Poznańska

Podstawy Informatyki. Metody dostępu do danych

Definicja pliku kratowego

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

Metoda Tablic Semantycznych

Porządek symetryczny: right(x)

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

Wyrażenia regularne.

Algorytmy i Struktury Danych.

Drzewa poszukiwań binarnych

Wstęp do programowania

Wykład X. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2016 Janusz Słupik

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Algorytmy i Struktury Danych.

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

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.

Sztuczna Inteligencja i Systemy Doradcze

Sortowanie bąbelkowe

Analiza semantyczna. Gramatyka atrybutywna


Dynamiczne struktury danych

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

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

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

Teoretyczne podstawy informatyki

Odkrywanie wzorców sekwencji

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

Data Mining Wykład 4. Plan wykładu

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

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

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

Transkrypt:

Reguły asocjacyjne, wykł. 11 Joanna Jędrzejowicz Instytut Informatyki

Przykłady reguł Analiza koszyka sklepowego (ang. market basket analysis) - jakie towary kupowane są razem, Jakie towary sprzedają się najlepiej w poszczególnych porach roku, Jacy klienci telefonii komórkowej są zainteresowani zwiększeniem standardu usług, itd... jakie nieodkryte zależności występują między atrybutami w bazie danych

Przykład - zakupy książek skrót autor A Arbib C Coffman D Dijkstra T Turski W Węglarz Reguły: A C AC T T ACW T i zakupy 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ły asocjacyjne Podstawowe oznaczenia Pozycje (ang. items) opisują dostępne towary. Zbiorem towarów jest: I = {i 1, i 2,, i m } Baza transakcji jest zbiorem par postaci (t i, T i ), gdzie t i jest numerem transakcji, T i - zbiór zakupionych towarów, T i I, itemset - dowolny podzbiór I, k-itemset - podzbiór o k elementach, s(x )- liczba transakcji zawierajacych X, w przykładzie s(a) = 4

Postać reguł asocjacyjnych Reguła wraz z dwiema miarami: A B, A I, B I wsparcie (ang. support) dla reguły: s(a B) ufność lub wiarygodność (ang. confidence): s(a B) s(a)

skrót A C D T W autor Arbib Coffman Dijkstra Turski Węglarz T i zakupy 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ła wsparcie wiaryg. A C 4 100% C W 5 83.3% AC T 3 75% T ACW 3 75%

Sformułowanie problemu Problem Dane: zbiór pozycji I, zbiór transakcji D = {(t i, T i ) : i = 1,..., n, T i I } dwie stałe: minimalna wartość wsparcia s min, minimalny stopien wiarygodności c min Zadanie: znaleźć reguły asocjacyjne o wsparciu s min oraz wiarygodności c min

Problem obliczeniowy Sprawdzanie wszystkich reguł nie jest wykonalne! Większość algorytmów działa w dwóch krokach: znajdź częste zbiory: podzbiory o wsparciu s min podział: dla każdego częstego zbioru, znajdź podziały tego zbioru na dwa podzbiory, aby otrzymać reguły o wiarygodności c min

Przykład T i zakupy 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 przykładowa reguły dla AC: A C wiarygodność 100% C A wiarygodność 66, 6% wsparcie częste podzbiory 100% (6) C 83, 3% (5) W, CW 66.6% (4) A, D, T, AC, AW, CD, CT, ACW 50% (3) AT, DW, TW, ACT, ATW, CDW, CTW, ACTW

Jak wyznaczać częste podzbiory? Korzysta się z nast. własności: jeśli itemset nie jest częsty, to żaden jego nadzbiór nie jest częsty - czyli nie trzeba generować. Metoda: znajdź wszystkie 1-elementowe zbiory częste, generuj 2-elementowe zbiory częste z 1-elementowych częstych zbiorów generuj k-elementowe zbiory częste z k-1-elementowych częstych zbiorów

Algorytm apriori Apriori 1 C 1 := I, F 1 := rodzina 1-elem. zbiorów częstych, 2 k:=2, 3 while F k 1 and F k 1 F k 2 do 4 C k :=AprioriGen(F k 1 ); 5 F k := {X C k : s(x ) s min }; 6 k:=k+1; 7 end while 8 wynik:=f 1 F 2 F k

Przykład wsparcie minimalne : 3 wiarygodność 80% T i zakupy 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ęste podzbiory F 1 A, C, D, T, W C 2 AC, AD,... F 2 AC, AT, AW, CD, CT, CW, DW, TW C 3 ACT, ACW, ATW, CDW CDT, CTW, DTW F 3 ACT, ACW, ATW, CDW CTW C 4 ACTW

Funkcja AprioriGen Algorytm posiada dwa główne kroki: łączenie - do C k wstawiamy sumy takich par X, Y F k 1, które mają wspólne k 2 początkowych elementów. Na przykład dla mamy F k 1 = {AB, AC, AD, AE, BC, BD, BE} C k = {ABC, ABD, ABE, ACD, ACE, ADE, BCD, BCE, BDE} obcinanie (ang. pruning): usuwamy z C k te podzbiory, których nie wszystkie podzbiory k 1 elementowe są w F k 1, np. usuwamy ACD, bo CD F k 1, mamy F k = {ABC, ABD, ABE}

Generowanie reguł dla zbioru częstego X i minimalnej wiarygodności c min należy znaleźć Y X taki, że reguła (X Y ) Y ma wiarygodność conajmniej c min, korzysta się z własności: jeśli AB CD jest wiarygodną regułą, to reguły ABC D oraz ABD C też są wiarygodne, strategia: przerzucać po kolei na prawą stronę implikacji pojedyńcze elementy

Jakie reguły mają wiarygodność 80% Tylko kilka znalezionych reguł spełnia warunek minimalnej wiarygodnosci: A C wiarygodność 100%, C W wiarygodność 83.3%,

Algorytm FP Growth FP Growth Baza danych jest zapamietana w oszczednej strukturze, zwanej FP-drzewo. Częste zbiory są obliczane z tej struktury. Baza danych jest przeskanowana 2 razy: za pierwszym razem liczy się częstość występowania każdego elementu (item), za drugim razem konstruuje się FP drzewo. Algorytm działa w 2 krokach: kompresja - baza danych transakcji jest kompresowana i przekształcana do FP-drzewa, eksploracja FP-drzewa w celu znalezienia zbiorów częstych

Kompresja bazy danych- kolejne kroki znajdowanie wszystkich 1-elementowych zbiorów częstych w bazie danych D, transformacja każdej transakcji T i D do transakcji skompresowanej TR i, polegajaca na usunięciu z T i wszystkich elementów, które nie są częste, posortowanie transakcji- dla kazdej transakcji TR i elementy sa sortowane według malejacych wartości ich wsparcia tworząc listę elementów, posortowane transakcje są transformowane do FP-drzewa

Przykład baza transakcji (wsparcie minimalne 2) id elementy T1 I1, I2, I5 T2 I2, I4 element częstość T3 I2, I3 I1 6 T4 I1, I2, I4 I2 7 T5 I1, I3 I3 6 T6 I2, I3 I4 2 T7 I1, I3 I5 2 T8 I1, I2, I3, I5 T9 I1, I2, I3 po pierwszym skanowaniu całej bazy oblicza się częstość występowania każdego elementu

Przykład cd ponownie skanuje się bazę, odrzuca się elementy o niskim wsparciu sortuje się elementy wg malejącej częstości id T1 T2 T3 T4 T5 T6 T7 T8 T9 elementy I2, I1, I5 I2, I4 I2, I3 I2, I1, I4 I1, I3 I2, I3 I1, I3 I2, I1, I3, I5 I2, I1, I3

Transformacja do FP-drzewa utwórz korzeń drzewa i przypisz mu etykietę null odczytaj bazę danych (po kompresji) i dla transakcji TR 1 utwórz ścieżkę w FP-drzewie, której początkiem jest korzeń drzewa, kolejność występowania elementów w posortowanej transakcji odpowiada kolejnosci wierzchołków w ścieżce reprezentyjacej transakcje, dla każdego wierzchołka należącego do ścieżki wartość licznika transakcji jest, początkowo, równa 1

Transformacja do FP-drzewa,cd dla kolejnej transakcji TR 2 utwórz ścieżkę rozpoczynającą się od korzenia, jeżeli wspólny prefiks transakcji TR 1, TR 2 składa się z elementów l 1,, l k, to ścieżka dla TR 2 nie tworzy nowych wierzchołków drzewa, lecz współdzieli istniejącą w FP-drzewie ścieżkę utworzoną przy transformacji TR 1 ; pozostałe elementy TR 2 tworza nowe wierzchołki - poczatkiem tej ścieżki jest wierzchołek l k, jednocześnie w etykiecie aktualizuje sie (przez dodanie 1) wartość licznika

Przyklad cd FP-drzewo po dołączeniu dwóch pierwszych transakcji: null I2:2 I1:1 I4:1 I5:1

FP-drzewo pełne null I2:7 I1:2 I1:4 I4:1 I3:2 I3:2 I5:1 I3:2 I4:1 I5:1

Transformacja do FP-drzewa pojedyncza ścieżka w FP-drzewie, rozpoczynajaca się w korzeniu drzewa, reprezentuje zbiór transakcji zawierajacych identyczne elementy, licznik transakcji ostatniego wierzchołka danej ścieżki zawiera informacje o liczbie transakcji wspierajacych zbiór elementów reprezentowanych przez wierzchołki grafu należące do ścieżki

Transformacja do FP-drzewa Aby ułatwić przeszukiwanie FP-drzewa algorytm utrzymuje rodzaj katalogu - tablicę nagłówkową, która dla każdego elementu wskazuje na jego lokalizację w FP-drzewie, jeżeli dany element wskazuje wielokrotnie w FP-drzewie, wskaźniki do wierzchołków reprezentujących dany element tworzą listę wskaźników.

Eksploracja FP-drzewa w drugim kroku algorytmu eksploruje się FP-drzewo w celu znalezienia zbiorów częstych, korzysta się z nast. obserwacji: dla każdego 1-elementowego zbioru częstego X, wszystkie częste nadzbiory zbioru X są reprezentowane w FP-drzewie przez ścieżki zawierające wierzchołki X.

Eksploracja FP-drzewa,cd dla każdego 1-elementowego zbioru częstego X znajduje się wszystkie ścieżki z końcowym wierzchołkiem X, pojedyńczą ścieżkę z końcowym wierzchołkiem X nazywamy ścieżką prefiksową wzorca X, ze ścieżką prefiksową wzorca wiąże się licznik częstości ścieżki równy wartości licznika wierzchołka końcowego ścieżki

Eksploracja FP-drzewa,cd zbiór wszystkich ścieżek prefiksowych wzorca tworzy warunkową bazę wzorca, warunkowa baza wzorca służy do konstrukcji warunkowego FP-drzewa wzorca X oznaczanego Tree X, warunkowe drzewo wzorca jest używane w rekurencyjnej procedurze do znalezienia wszystkich zbiorów częstych.

Eksploracja FP-drzewa,cd proces przeszukiwania sprawdza pojedyncze elementy w tablicy nagłówkowej, dla każdego elementu X : skonstruować bazę warunkowych wzorców (ścieżka prefiksowa - to ścieżka prowadząca od korzenia do wierzchołka X ), skonstruować warunkowe FP-drzewo traktuje się bazę warunkowych wzorców dla X jako małą bazę transakcji D(X ) konstruuje sie FP drzewo dla D(X ), jeżeli drzewo posiada tylko jedną ścieżkę, to zatrzymuje się algorytm i wypisuje częste zbiory, w przeciwnym przypadku proces sie powtarza należy wykonać FP-growth(FP-drzewo,null)

Algorytm FP-growth(Tree,α) 1:if Tree zawiera pojedynczą ścieżkę P then 2:for each kombinacja wierzcholków γ w P do 3: generuj wzorzec γ α ze wsparciem wsparcie=minimalne wsparcie wierzcholkow z γ 4:end for 5:else 6:for each a i w tablicy nagłówkowej drzewa Tree do 7: generuj wzorzec β = a i α ze wsparciem wsparcie= wsparcie a i 8:wykonaj wzorzec warunkowy dla β oraz warunkowe FP-drzewo Tree β 9:if Tree β then 10: wywołaj FP-growth(Tree β,β) 11:end if 12:end for 13:end if

Przykład - wsparcie minimalne 2 el warunkowy wzorzec war.fp-drzewo zbiory czeste I5 (I2 I1:1), (I2 I1 I3:1) I2:2, I1:2 I2 I5:2, I1 I5:2, I2 I1 I5:2 I4 (I2 I1:1), (I2:1) I2:2 I2 I4:2 I3 (I2 I1:2), (I2:2), (I1:2) I2:4, I1:2; I1:2 I2 I3:4, I1 I3:4, I2 I1 I3:2 I1 (I2:4) I2:4 I2 I1:4 w pierwszym wierszu w warunkowym drzewie FP nie ma I3, bo wsparcie 2; w drugim wierszu w warunkowym drzewie FP nie ma I1, bo wsparcie 2;

Przykład zastosowania FP-growth poszukujemy zbiorów częstych o wsparciu minimalnym 30% tid t1 t2 t3 t4 t5 produkty coca, orz, wino piwo, orz, piel coca, woda-min coca, orz,piwo piwo, orz, piel produkt częstość orz 4 piwo 3 coca 3 piel 2

FP-drzewo pełne null coca-cola:1 orzeszki:4 piwo:3 coca-cola:1 pieluszki:2 coca-cola:1

zbiory częste el warunkowy wzorzec war.fp-drzewo zbiory częste piel (orz, piwo:2) orz:2, piwo:2 orz, piel:2, piel,piwo:2, orz,piwo,piel:2 coca (orz:1); (orz, piwo:1) orz:2,piwo:1 orz, coca:2 piwo (orz:3) orz:3 orz,piwo:3

Zbiory częste wraz ze wsparciem zbiór częsty wsparcie orzeszki 80% piwo 60% coca-coal 60% pieluszki 40% orzeszki, piwo, pieluszki 40% orzeszki, pieluszki 40% orzeszki, piwo 60% piwo, pieluszki 40% orzeszki, coca-cola 40%

Reguły asocjacyjne - czu uczenie nadzorowane Większość metod zgłębiania danych reprezentuje uczenie nadzorowane, bo jest wyszczególniona zmienna celu, jest dostarczany bogaty zbiór danych, dla którego mogą być odkryte związki między zmienna celu i zmiennymi opisującymi.

Reguły asocjacyjne - czu uczenie nadzorowane Większość metod zgłębiania danych reprezentuje uczenie nadzorowane, bo jest wyszczególniona zmienna celu, jest dostarczany bogaty zbiór danych, dla którego mogą być odkryte związki między zmienna celu i zmiennymi opisującymi. Odkrywanie reguł asocjacyjnych - jakie uczenie? w analizie koszyka, przy odkrywaniu jakie towary są kupowane razem zmienna celu nie jest zidentyfikowana, czyli uczenie nienadzorowane, generowanie reguł może być użyte w klasyfikacji - uczeniu nadzorowanym, np. ankieterzy zbierają dane demograficzne wśród opuszczających punkt wyborczy i reguły asocjacyjne mogą być użyte do generowania do klasyfikacji preferncji wyborczych (poprzednik - dane demograficzne, następnik - preferencje wyborcze)

Zadanie - sporzadzić FP-drzewo dla danych pochodzących ze zbioru weather.arff;wsparcie 6 outlook temperature humidity windy play sunny hot high FALSE no sunny hot high TRUE no overcast hot high FALSE yes rainy mild high FALSE yes rainy cool normal FALSE yes rainy cool normal TRUE no overcast cool normal TRUE yes sunny mild high FALSE no sunny cool normal FALSE yes rainy mild normal FALSE yes sunny mild normal TRUE yes overcast mild high TRUE yes overcast hot normal FALSE yes rainy mild high TRUE no

Zadanie - wskazówka Policzyć częstość występowania pojedynczych elementów typu: play=yes play=no windy=false itd