INDUKOWANE REGUŁY DECYZYJNE ALORYTM APRIORI JAROSŁAW FIBICH
1. Czym jest eksploracja danych Eksploracja danych definiowana jest jako zbiór technik odkrywania nietrywialnych zależności i schematów w dużych zbiorach danych 1 Eksploracja danych wykorzystywana jest przy pracy z dużymi zbiorami danych, w których chcemy znaleźć wzorce, trendy lub uzyskać inne informacje. Istnieje kilka metod eksploracji danych. Są to między innymi: klasyfikacja, grupowanie, odkrywanie sekwencji, odkrywanie charakterystyk, odkrywanie asocjacji. 2. Reguły asocjacyjne Odkrywanie asocjacji to jedna z metod eksploracji danych. Polega ona na przeanalizowaniu atrybutów z bazy danych w poszukiwaniu powtarzających się między nimi zależności. W wyniku zastosowania tej metody, powstają reguły asocjacyjne. Reguły te stosuje się w celu odnalezienia związków przyczynowo skutkowych pomiędzy zdarzeniami zapisanymi w analizowanej bazie danych. Reguły takie stosuje się np.: w analizie koszyka zakupów, przy przygotowywaniu ofert dla określonych grup klientów, przy analizie zachowań konsumentów jakiegoś produktu lub usługi. Reguły asocjacyjne dzielimy ze względu na: typ przetwarzanych danych (reguły binarne oraz ilościowe), wymiarowość przetwarzanych danych (reguły jedno- oraz wielowymiarowe), stopień abstrakcji przetwarzanych danych (reguły jedno- oraz wielopoziomowe). 1 Szymański S., Budziński R., Metody eksploracji reguł asocjacyjnych i ich zastosowanie, w: Acta Universitatis Lodziensis. Folia Oeconomica. - [Z.] 183 (2004)
3. Parametry reguł asocjacyjnych 3. 1. Wsparcie Wsparcie reguły (Support) określa jaki procent wszystkich reguł asocjacyjnych stanowi dana reguła. Jest to stosunek ilości przypadków w zbiorze danych, które zawierają w całości zbiory X i Y do liczby wszystkich przypadków. SP(X=>Y) = 3. 2. Pewność Pewność reguły (Confidence) to parametr określający jaki procent reguł asocjacyjnych, które zaczynają się od określonego poprzednika, stanowi dana reguła. Jest to stosunek ilości wystąpień w zbiorze danych przypadków zawierających w całości zbiory X i Y do liczby przypadków, które zawierają jedynie elementy zbioru X. cp(x=>y) = 3. 3. Przykład Numer Elementy 1 A, B, C 2 A, C, B, D 3 A, C, E 4 B, E, D 5 D, A, C, E Wsparcie dla przykładowej reguły {A, C} => D wynosi: S({A,C}=>D) = = 40% Natomiast pewność dla tej reguły wynosi: c({a,c}=>d) = = 50%
4. Generowanie reguł W pierwszym etapie znajdowane są wszystkie kombinacje atrybutów mające współczynnik wsparcia większy od minimalnego wsparcia zdefiniowanego wcześniej. Otrzymane kombinacje nazywane są dużymi zbiorami elementów, l-zbiorami albo zbiorami częstymi. Pozostałe kombinacje nie będące l-zbiorami (mające współczynnik wsparcia poniżej minimum) nazywane są małymi zbiorami elementów albo s-zbiorami. Drugi etap polega na utworzeniu reguły asocjacyjnej dla każdej pary zbiorów, z których jeden jest podzbiorem drugiego. Dla wygenerowanej reguły obliczane są współczynniki pewności oraz wsparcia i jeśli są one wyższe od minimum zdefiniowanego przez użytkownika to reguła jest akceptowana. 5. Algorytm Apriori Algorytm ten został opisany po raz pierwszy w 1994r. przez R. Agrawala i R. Srikanta w publikacji Fast Algorithms for Mining Association Rules. Matematycznie opiera się on na funkcji wsparcia (antymonotoniczności) dzięki której wiadomo, że rozszerzenie nieczęstego zbioru o dodatkowe elementy nigdy nie prowadzi do powstania zbioru częstego. 5. 1. Działanie algorytmu Algorytm Apriori przeszukuje zbiór danych i w każdej kolejnej iteracji generuje rodziny coraz większych zbiorów częstych. 1. W pierwszej iteracji znajdowane są wszystkie jednoelementowe zbiory częste. 2. Zbiór ten jest wykorzystywany do znalezienia dwuelementowych zbiorów kandydujących (procedura AprioriGen).
3. Następnie obliczane jest wsparcie zbiorów kandydujących i po usunięciu tych, których wsparcie jest niższe od zadanego minimum otrzymywane są wszystkie dwuelementowe zbiory częste. Procedura z punktów 2 i 3 jest powtarzana do momentu, kiedy dla kolejnego k nie będzie już żadnego k-elementowego zbioru częstego. 5. 2. Procedura AprioriGen i jej etapy 1. Łączenie (k-1)-elementowych zbiorów częstych łączony jest z samym sobą poprzez łączenie ze sobą wszystkich par (k-1)-elementowych zbiorów częstych. Para zbiorów częstych jest łączona tylko wtedy, kiedy oba zbiory mają k-2 takich samych elementów na początku. np. zbiory {a,b,c} i {a,b,d} zostaną połączone dając {a,b,c,d} ale {a,b,c} i {a,c,d} już nie. 2. Przycinanie Celem operacji przycinania jest wyeliminowanie ze zbioru zbiorów kandydujących tych elementów, które na podstawie wcześniej wspomnianej własności funkcji wsparcia nie mogą być zbiorami częstymi. Usuwane są wszystkie zbiory zawierające (k-1)-elementowe podzbiory niewystępujące w zbiorze (k-1)-elementowych zbiorów częstych.
Rys. 1. Algorytm Apriori Rys. 2. Zapis algorytmu apriori w postaci kodu
5. 3. Modyfikacje algorytmu apriori 1. Apriori TiD W stosunku do algorytmu Apriori wprowadzona zostaje dodatkowa struktura (nazywana CountingBase) w której przechowywane są te transakcje z bazy, które popierają co najmniej jeden zbiór kandydujący. Struktura ta jest następnie używana do obliczania wsparcia zbiorów kandydujących. Podstawą działania Apriori TiD jest obserwacja, że transakcja, która nie zawiera żadnego k-zbioru częstego, nie może zawierać żadnego (k+1)-zbioru częstego. Zatem można je wyeliminować z obliczeń w następnych przebiegach algorytmu co powoduje, że Apriori TiD jest szybszy w późniejszych przebiegach niż zwykły Apriori. 2. Apriori Hybrid Algorytm wykorzystuje zalety algorytmów Apriori i Apriori TiD. Algorytm Apriori jest szybszy w początkowych przejściach, Algorytm AprioriTiD jest szybszy w dalszych przejściach. Zasadą działania Apriori Hybrid jest zmiana algorytmu Apriori na Apriori TiD w momencie, w którym ten drugi zapewnia lepszą wydajność. 6. Przykład A Dane są informacje na temat 396 klientów sklepu oraz produktów, jakie poszczególni klienci zakupili. (w sumie 134 produkty). Naszym zadaniem jest znalezienie zestawów produktów, które są najczęściej kupowane w celu lepszego doboru ofert dla poszczególnych klientów.
Tabela 1. Tabela z regułami posortowanymi wg poziomu wsparcia malejąco Widzimy, że najwyższym parametrem wsparcia charakteryzują się reguły: Jeżeli klient kupił produkt C/B/D, to kupił również produkt A. Tabela 2. Tabela z regułami posortowanymi wg poziomu zaufania malejąco Jeżeli chodzi o zaufanie, to najwyższą wartością parametru charakteryzuje się m.in. reguła Jeżeli klient kupił produkt F, to kupił też produkt A.
Tabela 3. Liczba uzyskanych reguł a minimalny poziom wsparcia Tabela 4. Liczba uzyskanych reguł a minimalny poziom pewności Tabela 5. Liczba uzyskanych reguł a minimalny poziom pewności i wsparcia 7. Przykład B Obecnie wszystkie sieci sprzedaży detalicznej wykorzystują narzędzia analizy koszykowej w celu ustalenia które produkty są ze sobą połączone. O istotności wiedzy na temat relacji pomiędzy produktami świadczy fakt, że Amazon.com gromadzi ponad 20% zamówień dzięki stosowaniu systemów rekomendacji. 2 Rysunek 2 prezentuje uproszczoną bazę danych transakcji sklepu internetowego zawiera listę produktów oraz informację, w której transakcji zostały zakupione (zielona ikona). Dane z tabeli posłużą jako przykład algorytmu apriori. Aby wesprzeć użytkownika i zarekomendować odpowiednie produkty, należy odpowiedzieć na pytanie, które produkty i jak często, zostały zakupione wraz z innymi produktami. 2 http://www.ecommerceblog.pl/2013/04/piwo-i-pieluszki-w-jednym-koszyku-czyli-o-rekomendacjachproduktowych-w-systemach-e-commerce/
Rys. 3. Uproszczona baza transakcji sklepu internetowego W pierwszym kroku z Rysunku 2 pobieramy listę wszystkich produktów (tworzymy zbiory 1-elementowe) i liczymy ilość występowania każdego. W wyniku otrzymujemy {piwo} 4, {pieluszki} 3, {jabłko} 2, {banan} 1. Zakładamy, że interesują nas tylko takie zbiory, które wystąpiły min. 2 razy. Jak widać, zbiór {banan} nie spełnia tego warunku, więc zostaje odrzucony. Pozostałe zbiory, są podstawą do budowy listy zbiorów 2-elementowych. Drugi krok algorytmu, operuje na danych {piwo, pieluszki} 3, {piwo, jabłko} 1, {pieluszki, jabłko} 0. Analogicznie jak poprzednio odrzucamy zbiory nieczęste. Algorytm zostaje zakończony, ponieważ nie da się wygenerować kolejnych (3- elementowych) zbiorów. Udało się odkryć, że klienci, którzy kupowali piwo, często kupowali pieluszki. Co w tym przypadku oznacza często? Apriori wprowadza dwie podstawowe metody oceny wygenerowanych reguł miarę wsparcia (ang. support) i ufności (ang. confidence). Wsparcie określa globalny udział reguły we wszystkich transakcjach, w tym przypadku wynosi ⅗ (60%). Miara ufności konkretyzuje występowanie danej reguły do wszystkich tych, gdzie występował zbiór początkowy ¾ (75%). Operując na zaproponowanych miarach, można z łatwością oceniać reguły w zależności od potrzeb biznesowych.