Data Mining Wykład 2 Odkrywanie asocjacji Plan wykładu Wprowadzenie Sformułowanie problemu Typy reguł asocjacyjnych Proces odkrywania reguł asocjacyjnych Geneza problemu Geneza problemu odkrywania reguł asocjacyjnych: Dane: Cel: problem analizy koszyka zakupów (MBA Market Basket Analysis) baza danych zawierająca informacje o zakupach realizowanych przez klientów supermarketu znalezienie grup produktów, które klienci supermarketu najczęściej kupują razem 1
Analiza koszyka zakupów Cel analizy MBA: znalezienie naturalnych wzorców zachowań konsumenckich klientów Wykorzystanie wzorców zachowań: organizacji półek w supermarkecie opracowania akcji promocyjnych opracowania katalogu oferowanych produktów Znaleziony wzorzec: Zastosowanie MBA ktoś kto kupuje pieluszki, najczęściej kupuje również piwo Akcja promocyjna: (typowy trick) Ogłoś obniżkę cen pieluszek, jednocześnie podnieś 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 Model koszyka zakupów Model koszyka zakupów jest pewną abstrakcją umożliwiającą modelowanie relacji wiele-do-wiele pomiędzy encjami produkty i koszyki Produkty * * Koszyki Formalnie, model koszyka zakupów można opisać za pomocą tzw. tablicy obserwacji 2
Tablica obserwacji (1) Dany jest zbiór atrybutów A= {A 1, A 2,..., A n } oraz zbiór obserwacji T = {T 1, T 2,..., T m } TR ID A 1 A 2 A 3 A 4 A 5 T 1 1 0 0 0 1 T 2 1 1 1 1 1 T 3 0 0 1 1 0 T 4 0 1 0 0 0 T 5 1 0 0 1 0 T 6 0 0 1 0 0 T 7 1 1 1 0 0 T 8 1 1 0 0 1 Tablica obserwacji (2) Elementy tablicy obserwacji: Atrybuty tablicy reprezentują wystąpienia encji produkty Wiersze tablicy reprezentują wystąpienia encji koszyki Dodatkowy atrybut TR ID wartościami atrybutu są identyfikatory poszczególnych obserwacji Pozycja T i [A j ] = 1 tablicy wskazuje, że i-ta obserwacja zawiera wystąpienie j-tego atrybutu Tablica obserwacji - przykłady koszyki = studenci, produkty = oferowane wykłady 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 lub podobnymi, zbiorami słów kluczowych (prawdopodobnie, znalezione strony dotyczą podobnej problematyki) 3
Reguły asocjacyjne (1) Wynikiem analizy koszyka jest zbiór reguł asocjacyjnych postaci następującej relacji: {(A i1 = 1)... (A ik = 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 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 ) 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(θ ϕ) Reguły asocjacyjne (3) Statystyczna ważność i siła reguły: Wsparciem (sup) reguły asocjacyjnej θ ϕ nazywać będziemy stosunek liczby obserwacji, które spełniają warunek θ ϕ, do liczby wszystkich obserwacji (wsparcie reguły = prawdopodobieństwu zajścia zdarzenia θ ϕ ) Ufnością (conf) reguły asocjacyjnej θ ϕ nazywać będziemy stosunek liczby obserwacji, które spełniają warunek θ ϕ, do liczby obserwacji, które spełniają warunek θ (ufność reguły = warunkowemu prawdopodobieństwu p(ϕ θ) 4
Klasyfikacja reguł asocjacyjnych Klasyfikacja reguł asocjacyjnych ze względu na: Typ przetwarzanych danych Wymiarowość przetwarzanych danych Stopień abstrakcji przetwarzanych danych Inne typy reguł asocjacyjnych Asocjacje vs. analiza korelacji Wyróżniamy: Typ przetwarzanych danych (1) binarne reguły asocjacyjne - regułę asocjacyjną nazywamy binarną, jeżeli dane występujące w regule są danymi (zmiennymi) binarnymi ilościowe reguły asocjacyjne - regułę asocjacyjną nazywamy ilościową, jeżeli dane występujące w regule są danymi ciągłymi i/lub kategorycznymi Typ przetwarzanych danych (2) Binarna reguła asocjacyjna: pieluszki = 1 piwo =1 reprezentuje współwystępowanie danych Ilościowa reguła asocjacyjna: wiek = 30...40 wykształcenie = wyższe opcja_polityczna = demokrata - reprezentuje współwystępowanie wartości danych 5
Wymiarowość przetwarzanych danych (1) Wyróżniamy: jednowymiarowe reguły asocjacyjne - regułę asocjacyjną nazywamy jednowymiarową, jeżeli dane występujące w regule reprezentują tę samą dziedzinę wartości. wielowymiarowe reguły asocjacyjne - regułę asocjacyjną nazywamy wielowymiarową, jeżeli dane występujące w regule reprezentują różne dziedziny wartości. Typ przetwarzanych danych (2) Jednowymiarowa reguła asocjacyjna: pieluszki = 1 piwo =1 Wielowymiarowa reguła asocjacyjna: wiek = 30...40 wykształcenie = wyższe opcja_polityczna = demokrata Stopień abstrakcji przetwarzanych danych (1) Wyróżniamy: jednopoziomowe reguły asocjacyjne - regułę asocjacyjną nazywamy jednopoziomową, jeżeli dane występujące w regule reprezentują ten sam poziom abstrakcji. Wielopoziomowe reguły asocjacyjne - regułę asocjacyjną nazywamy wielopoziomową, jeżeli dane występujące w regule reprezentują różne poziomy abstrakcji. 6
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 napoje reprezentuje pewna abstrakcję, będącą generalizacją określonych produktów) Odkrywanie binarnych reguł asocjacyjnych Dane: I={i 1, i 2,..., i n }: zbiór literałów, nazywanych dalej elementami Transakcja T: zbiór elementów, takich że T I i 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 Reguły asocjacyjne miary (1) Binarna reguła asocjacyjna: Binarną regułą asocjacyjną (krótko, regułą asocjacyjną) nazywamy relację postaci X Y, gdzie X I, Y I, i X Y = Wsparcie (support): Reguła X Y posiada wsparcie sup w bazie danych D, 0 sup 1, jeżeli sup% transakcji w D wspiera zbiór X Y Ufność (confidence): Reguła X Y posiada ufność conf w bazie danych D, 0 conf 1, jeżeli conf% transakcji w D, które wspierają zbiór X, wspierają również Y 7
Reguły asocjacyjne miary (2) wsparcie(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 ufność(x Y): oznacza stosunek liczby transakcji zawierających X Y do liczby transakcji zawierających Y miara ta jest asymetryczna względem zbiorów stanowiących poprzednik i następnik reguły Reguły asocjacyjne miary (3) Ograniczenia miar (definiowane przez użytkownika): Minimalne wsparcie minsup Minimalna ufność minconf Mówimy, że reguła asocjacyjna X Y jest silna jeżeli: sup(x Y) minsup i conf(x Y) minconf Dana jest baza danych transakcji Należy znaleźć wszystkie silne binarne reguły asocjacyjne Przykład TR ID Produkty 1 A,B,C 2 A,C 3 A,D 4 B,E,F Zakładając: minsup = 50% oraz minconf = 50% w przedstawionej bazie danych można znaleźć następujące reguły asocjacyjne: A C sup = 50%, conf = 66,6 % C A sup = 50%, conf = 100% 8
Algorytm naiwny 1. Dany jest zbiór elementów I i baza danych D 2. Wygeneruj wszystkie możliwe podzbiory zbioru I i następnie, dla każdego podzbioru oblicz wsparcie tego zbioru w bazie danych D 3. 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) Ogólny algorytm odkrywania reguł asocjacyjnych (1) Algorytm 1.1: Ogólny algorytm odkrywania reguł asocjacyjnych 1. Znajdź wszystkie zbiory elementów Li={ii1, ii2,..., iim}, Li I, których wsparcie(li) minsup. Zbiory Li nazywać będziemy zbiorami częstymi 2. Korzystając z Algorytmu 1.2 i znalezionej kolekcji zbiorów częstych wygeneruj wszystkie reguły asocjacyjne Ogólny algorytm odkrywania reguł asocjacyjnych (2) Algorytm 1.1: Ogólny algorytm odkrywania reguł asocjacyjnych for each zbioru częstego Li do for each podzbioru subli zbioru Li do if wsparcie(li)/wsparcie(subli) minconf then output reguła subli (Li-subLi) conf(subli (Li-subLi)) = support(li)/support(subli), sup(subli (Li-subLi)) = support(li) 9
Podsumowanie Typy reguł asocjacyjnych Typ przetwarzanych danych Wymiarowość przetwarzanych danych Stopień abstrakcji przetwarzanych danych Proces odkrywania reguł asocjacyjnych Wsparcie - sup(θ ϕ) Ufność - conf(θ ϕ) 10