Plan wykładu Reguły asocjacyjne Marcin S. Szczuka Wykład 6 Terminologia dla reguł asocjacyjnych. Ogólny algorytm znajdowania reguł. Wyszukiwanie czstych zbiorów. Konstruowanie reguł - APRIORI. Reguły asocjacyjne Reguł asocjacyjn nazwiemy formuł postaci: Jeli warunki to efekty zwykle zapisywane jako: warunki efekty Przykłady asocjacji (Status=Open) (Gender=Male) (Age=Young) (Activity=Active) (ClientType=N) Jeli dochody przekraczaj 50 ty i miasto ma wicej ni 200 ty. posiada samochód i wyjedał za granic w ostatnim roku. Jeli w pitkowy wieczór mczyzna kupuje w supermarkecie piwo kupuje te pieluchy. 1
Motywacja Chcemy wydobywa z danych zwizki (wzorce), które Maj intuicyjn interpretacj. Sprawdzaj si w licznych przypadkach. Mog pokaza istotne, wczeniej nieuwiadomione zwizki. Pozwalaj uzupełni brakujc informacj. Maj przełoenie na zysk Oryginalnie problem formułowany jako badanie zawartoci koszyka w sklepie. Cel Chcemy konstruowa reguły które s: Zgodne z danymi na jak najwikszym podzbiorze. Mocne i szczegółowe. Moliwe do wyliczenia (przy stosowaniu rozsdnych algorytmów) dla duych zbiorów danych. Zrozumiałe Oznaczenia Dla atrybutu (cechy) av a wprowadzamy pojcie selektora (jak w zwykłych regułach). Selektor s identyfikujemy z podzbiorem V s zbioru wartoci atrybutu. Cz warunkow i wynikow reguły przedstawiamy zwykle jako zestaw selektorów: {s 1, s 2,, s m } Oznaczenia c.d. Tradycyjnie (z analizy koszyka) rozwaa si przede wszystkim selektory pojedyncze, które nazywa si przedmiotami (od ang. item). O zestawach selektorów mówi si jako o zbiorach przedmiotów (od ang. itemset). Interesuj nas tzw. zbiory czste (przedmiotów) (od ang. frequent itemsets) 2
Jeszcze troche oznacze Wane miary dla reguł T zbiór przykładów (transakcji) (s=v) pojedynczy przedmiot, selektor prosty S zbiór wszystkich selektorów prostych wystpujcych w danych. T p zbiór przykładów (transakcji) w których wystpuje zbiór przedmiotów p p q wszystkie przedmioty z p wystpuj w q p - rozmiar zbioru przedmiotów - liczba wystpujcych w nim pojedynczych selektorów. Mamy reguł asocjacyjn p q dla zbiorów przedmiotów (warunków) p i q Wsparcie (pokrycie) dla warunku p: s p (T)= T p / T Wsparcie (pokrycie) dla reguły p q : s p q (T)= T p T q / T Poziom zaufania (dokładno) dla reguły p q : c p q (T)= T p T q / T p Generowanie reguł Nie mona po prostu wygenerowa wszystkich reguł asocjacyjnych, a potem wybra najlepszych. W złoliwym przypadku reguł moe by nawet O(n 2 n-1 ) gdzie n liczba przedmiotów (atrybutów). Ponadto, poniewa chcemy działa na duych zbiorach danych, powinnimy unika wielokrotnego ich przegldania. Szukanie reguł 1. Ustalamy podany poziom wsparcia (pokrycia) θ i zaufania (dokładnoci) λ. 2. Tworzymy rodzin zbiorów przedmiotów, które maj pokrycie powyej ustalonego progu θ. 3. Z uzyskanych w 2 zbiorów tworzymy reguły o zaufaniu powyej ustalonego progu λ. 3
Kluczowa obserwacja!! Znajdowanie czstych zbiorów Kady podzbiór czstego zbioru przedmiotów jest zbiorem czstym. Tylko zbiory zbudowane z czstych podzbiorów maj szans by czste. (s p p p' (T)> θ ) (s p (T)> θ ) Algorytm APRIORI przy ustalonym progu na wsparcie (pokrycie): Wyszukaj wszystkie czste 1-zbiory. Korzystajc z kluczowej obserwacji spróbuj skonstruowa z czstych 1-zbiorów, czste 2-zbiory odrzu te 2-zbiory, które s poniej progu. Korzystajc z kluczowej obserwacji spróbuj skonstruowa z czstych k-zbiorów, czste (k+1)-zbiory odrzu te (k+1)-zbiory, które s poniej progu. Zwiksz k o jeden. Zatrzymaj si gdy nie ma ju wikszych czstych zbiorów lub gdy wszystkie przedmioty zostan wykorzystane. APRIORI(T,θ) S 1 :={ ps s p (T)> θ }; for k=1 to n do S' k := join(s k-1 ); S'' k :=prune(s' k,s k-1 ); S k :={ ps'' k s p (T)> θ }; end; return S = n i=1 S i ; APRIORI -join Z rodziny (k-1)-zbiorów S k-1 wybieramy pary takich zbiorów, które maj dokładnie k-2 wspólne elementy. Jeli wemiemy sum takiej pary to dostaniemy k-zbiór. Dodatkowo stawiamy warunek, aby te zbiory róniły si na przedmiotach zwizanych z rónymi atrybutami. W ten sposób otrzymujemy kandydatów na czste k-zbiory. Formalnie: Niech p= { s 1,, s k-2, s k-1 }, q= { t 1,, t k-2, t k-1 } i s i =t i dla i=1,,k-2. Ponadto selektory s k-1 i t k-1 s zdefiniowane dla rónych atrybutów. Wtedy rezultat oznaczony przez p q jest równy: { s 1,, s k-2, s k-1,t k-1 }. 4
APRIORI -prune Zachowujemy w S'' k tylko te k-zbiory, których kady podzbiór rozmiaru k-1 jest czsty, czyli wystpuje w S k-1. Jest to dosłowne stosowanie kluczowej obserwacji. (ps k ) ( q p ( q =k-1) (qs k-1 )) Kolejna kluczowa obserwacja Jeli mamy dwie reguły asocjacyjne pqi p' q'takie, e q=q' r oraz p'=p r dla pojedynczego selektora (1-zbioru) r=(s=v), to: (c p q (T)> λ) (c p q (T)> λ) Oznacza to, e z punktu widzenia zaufania nie warto rozpatrywa reguły pqjeli reguła powstała z tego samego zbioru (pq) i majca krótsz cz decyzyjn (nastpnik) nie przekracza progu ustalonego dla dokładnoci. Tworzenie reguł ze zbiorów Majc k-zbiory czste zamieniamy je na reguły. Chcielibymy dosta reguły które: Maj mały poprzednik i duy nastpnik Maj poziom zaufania powyej progu λ. Tworzenie reguł Zaczynamy majc zbiory czste z S = i=1n S i oraz ograniczenie λ. Tworzymy wszystkie reguły o jednym elemencie w nastpniku dla kadego ze zbiorów w S. Usuwamy reguły o dokładnoci mniejszej od λ z dalszych rozwaa. W kadym nastpnym kroku staramy si dla kadej z jeszcze nie odrzuconych reguł przerzuci jeden warunek (przedmiot) ze strony poprzednika na stron nastpnika. Odrzucamy te sporód tak otrzymanych reguł, które maj niedostateczn dokładno (poniej λ). 5
Podsumowanie Przedstawiony algorytm został opracowany dla atrybutów binarnych, ale rozszerza si na ogólniejszy przypadek. Właciwy wybór ogranicze (θ, λ) ma krytyczne znaczenie. Dlatego warto zaczyna od bezpiecznych wartoci. W praktyce trzeba korzysta ze specjalnych struktur danych do przechowywania przykładów, zbiorów czstych i reguł. Stosowalno tego podejcia zaley od implementacji i doboru parametrów. 6