Ćwiczenie 5. Metody eksploracji danych Reguły asocjacyjne (association rules) Badaniem atrybutów lub cech, które są powiązane ze sobą, zajmuje się analiza podobieństw (ang. affinity analysis). Metody analizy podobieństw, nazywane też jako analiza koszyka sklepowego (ang. market basket analysis), szukają nieodkrytych powiązań pomiędzy tymi atrybutami, tzn. szukają reguł do ilościowego określania relacji między tymi atrybutami. Reguły asocjacyjne przybierają postać: Jeżeli poprzednik, to następnik razem z miarą wsparcia i dokładności lub ufności reguły wraz z miarą wsparcia (ang. minimum support) i dokładności lub inaczej ufności (ang. confidence). Na przykład, jeżeli spośród 1000 klientów supermarketu 200 z nich kupiło w ubiegłej nocy pieluchy, a z tych którzy kupili pieluch 50 kupiło piwo, to reguła asocjacyjna może być następująca: Jeżeli kupuje pieluchy, to kupuje piwo ze wsparciem 200 20% 50 oraz ufnością 25 %. 1000 200 Algorytmy odkrywania reguł posiadają złożoność wykładniczą. Jeżeli jest k atrybutów, przy czym ograniczymy się tylko do atrybutów binarnych (nominalnych) i wyjaśnimy tylko pozytywne przypadki (np. kupuje pieluchy = tak), to liczba możliwych reguł asocjacyjnych k jest rzędu k 2 1. Np., jeżeli w sklepie jest 100 różnych artykułów, to istnieje 99 100 2 możliwych reguł asocjacyjnych, które muszą być przetworzone przez algorytm przeszukujący. Jednym z algorytmów przeszukujących reguły asocjacyjne jest algorytm algorytm Apriori, którego działanie polega na redukcji problemu poszukiwań do mniejszego rozmiaru. Korzysta on także z właściwości Apriori. Podstawowe pojęcia związane z regułami asocjacyjnymi. Wsparcie (ang. support) s dla danej reguły asocjacyjnej D, które zawierają A i B. To znaczy A B jest procentem transakcji liczba transakcji zawierająaych A wsparcie P( A B) cxałxałkow liczba transakcji i B Ufność (ang. confidence) c dla danej reguły asocjacyjnej A B jest miarą dokładności reguły, określoną jako procent transakcji zawierających A, które również zawierają B. Inaczej P( A B) liczba transakcji zawierająaych A i B ufnosć P( B A) P( A) liczba transakcji zawierająaych A W analizie podobieństw są preferowane reguły, które mają duże wsparcie lub dużą ufność. Zwykle są brane pod uwagę reguły mocne, tzn. takie, które dla których ufność i wsparcie są większe lub równe niż pewne określone wartości minimalne. Np. dla artykułów sprzedawanych razem można określić minimalny poziom wsparcia na 20%, a dokładność na 70%. Z drugiej strony, w przypadku wykrywania np. ataku terrorystycznego lub oszustwa, 1
można zmniejszyć poziom wsparcia do 1%, gdyż mało jest transakcji oszukańczych lub zagrożeń terrorystycznych. Przyjmuje, że zbiór zdarzeń Z jest zawarty w zbiorze I. Częstość zbioru zdarzeń jest liczbą transakcji zawierających dany zbiór zdarzeń. Zbiór częsty to zbiór zdarzeń, który występuje przynajmniej pewną minimalną liczbę razy, czyli z częstością 0. Zbiór częstych zbiorów zdarzeń o k elementach oznaczymy jako F. Przyjmuje się, że zbiory zdarzeń, które występują co najmniej cztery razy, są częste. k Odkrywanie reguł asocjacyjnych Odkrywanie reguł asocjacyjnych jest procesem dwukrokowym: 1. Znajdź wszystkie częste zbiory zdarzeń, tzn. znajdź zbiory zdarzeń o częstości 0. 2. Na podstawie częstych zdarzeń utwórz reguły asocjacyjne, które spełniają warunek minimalnego wsparcia i poziomu ufności. Właściwość Apriori Jeżeli zbiór zdarzeń Z nie jest częsty, to dla dowolnego elementu A, częste. Z A nie będzie Algorytm Apriori Działanie algorytmu Apriori polega na utworzeniu częstych zbiorów zdarzeń. Następuje to najpierw dzięki znalezieniu jednoelementowych zbiorów częstych, następnie dwuelementowych zbiorów częstych itd. Następnie przy użyciu właściwości Apriori przycina się te zbiory, tworząc podzbiory częstych zbiorów zdarzeń. Dzięki poniższej procedurze z podzbiorów zdarzeń częstych zbiorów znajduje się reguły asocjacyjne: 1. Najpierw, utwórz wszystkie podzbiory s. 2. Następnie, niech ss będzie niepustym podzbiorem s. Rozważmy regułę asocjacyjną R: ss ( s ss), gdzie (s ss) oznacza zbiór s bez ss. Stwórz i zwróć R, jeżeli R spełnia minimalne wymagania ufności. Zrób tak dla każdego podzbioru ss zbioru s. Zauważmy, że dla prostoty, często pożądany jest następnik jednoelementowy. Literatura: 1. Fast Algorithms for Mining Association Rules, B. Agrawal, R.Srikant, In Proc. 20th Int. Conf. Very Large Data Bases, VLDB (December JanuaryMay~ 1994), pp. 487-499 http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.40.7506&rep=rep1&type=pdf 2. Mining Frequent Patterns Without Candidate Generations, J.Han, J.Pei, Y.Yin, SIGMOD '00 Proceedings of the 2000 ACM SIGMOD International Conference on Management of Data ACM New York, NY, USA ISBN:1-58113-217-4 DOI:10.1145/342009.335372, http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.40.4436&rep=rep1&type=pdf 3. Dynamic itemset counting and implication rules for market basket data, S.Brin, R.Motwani, J.Ullman, SIGMOD '97 Proceedings of the 1997 ACM SIGMOD International Conference on Management of Data ACM New York, NY, USA ISBN:0-89791-911-4 2
4. Comparing Rule Measures for Predictive Association Rules, Azevedo, Paulo J., and Alípio M. Jorge. Machine Learning: ECML 2007. Springer Berlin Heidelberg, 2007. 510-517 http://www3.di.uminho.pt/~pja/ps/conviction.pdf Ćwiczenie 1 1. Otwórz Explorer w systemie Weka. Zastosowanie systemu Weka 2. Włącz opcję Preprocess, a następnie wczytaj plik weather.nominal.arff. Jest to plik, który zgodnie z nazwą zawiera atrybuty wyłącznie w postaci nominalnej (binarnej), a nie numerycznej. 3. Naciśnij u góry interfejsu Weka przycisk Associate, który pozwoli na wybieranie algorytmu Apriori, co ilustruje rysunek poniżej. 3
4. Dwukrotnie naciśnij napis Apriori po prawej stronie Choose. Wówczas rozwinie się formatka, która przedstawia defaultowe ustawienia tego algorytmu dla przyjętego zbioru danych weather.nominal.arff. Parametr delta jest naprawdę wartością minimum support, która wynosi tu 0.05. Liczba reguł jest równa numrules = 10, natomiast wartość minimum confidence wynosi 0.9, co przedstawia to rysunek poniżej. 4
5. Kliknij na button Start, który pozwoli uruchomienie programu Apriori dla odkrywania nieodkrytych powiązań pomiędzy atrybutami. 6. Przestudiuj uzyskane wyniki, które są przedstawione w prawym panelu (patrz rysunek poniżej). 5
7. Czy możesz objaśnić uzyskane wyniki? 8. Zmień wartość parametrów. Na przykład wartość minimum confidence możesz zmienić, tak aby wartość wynosiła 0.25. Wówczas uzyskasz tylko cztery reguły, które spełniają warunki, co przedstawia poniższy rysunek. 6
Zastosowanie systemu RapidMiner Ćwiczenie 2 1. Uruchom program RapidMiner 5.3. Wczytaj do RapidMinera wtyczkę WekaExtension for RapidMiner, którą można pobrać ze strony o adresie: http://sourceforge.net/projects/m-core-wekaext/ 2. Utwórz nowy przepływ. Użyj operatora Read CSV, aby załadować plik marketbasket.csv. Jako separator między kolumnami wskaż znak średnika. Zaznacz także, że pierwszy wiersz w pliku zawiera nazwy atrybutów. Po załadowaniu pliku uruchom przepływ i obejrzyj metadane. 3. Dodaj do przepływu operator Numerical to Nominal, aby zamienić każdy atrybut na atrybut binarny. Następnie umieść na przepływie operator FP-Growth i ustal liczbę poszukiwanych zbiorów częstych na 100 (parametr find min number of itemsets). Uruchom przepływ i obejrzyj wyniki. Porównaj wyniki z sytuacją w której wyłączysz 7
parametr find min number of itemsets i ustalisz próg minimalnego wsparcia na min support=0.01. 4. Dodaj do przepływu operator Create Association Rules, wskazując jako kryterium selekcji reguł miarę ufności (ang.confidence) z wartością progową 0.8. Uruchom przepływ. Obejrzyj znalezione reguły asocjacyjne, uruchom wizualizację reguł (zakładka Graph View), porównaj kilka sposobów wyświetlania reguł. Znajdź reguły tłumaczące, dlaczego ludzie kupują jajka i biały chleb. 5. Zapoznaj się z miarami oceny reguł. 6. Utwórz nowy przepływ i załaduj przykładowy zbiór danych Iris. Zapoznaj się z charakterystyką tego zbioru. Wykorzystaj operator Discretize do dyskretyzacji wszystkich atrybutów numerycznych na trzy przedziały o równej szerokości. Następnie dokonaj konwersji atrybutów nominalnych na atrybuty binarne. 7. Umieść w przepływie operator W-Apriori i skonfiguruj go w następujący sposób: o liczba reguł do znalezienia: 100 o użyta miara oceny reguł: ufność (0) o próg minimalnej ufności: 50% o górny próg minimalnego wsparcia: 100% o dolny próg minimalnego wsparcia: 10% o zmiana progu minimalnego wsparcia: 1% o wyświetlanie zbiorów częstych 8. Włącz opcję umożliwiającą generowanie reguł asocjacyjnych w odniesieniu do zmiennej zależnej. Przed operatorem W-Apriori dodaj operator Set Role, którego zadaniem będzie włączenie atrybutu label do procesu eksploracji (zmień rolę tego atrybutu na zwykły atrybut). Jako indeks zmiennej zależnej wskaż ostatni atrybut (C = -1) i obejrzyj uzyskane wyniki. 9. Twój przepływ powinien wyglądać następująco: Zadanie 1 Korzystając z systemu RapidMiner wczytaj zbiór marketbasket.csv. Przetwórz go zgodnie z opisem podanym powyżej (kroki od 1 do 8). Znajdź 100 reguł asocjacyjnych i podanych wartości miar oceny reguł podanych w kroku 7 w odniesieniu do zmiennej zależnej wskazanej ostatnim atrybutem (C=-1). 8