INDUKOWANE REGUŁY DECYZYJNE ALORYTM APRIORI
Transkrypt
INDUKOWANE REGUŁY DECYZYJNE ALORYTM APRIORI
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:
1
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).
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
1
2
3
4
5
Elementy
A, B, C
A, C, B, D
A, C, E
B, E, D
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
kandydujących (procedura AprioriGen).
zbiorów
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.
http://www.ecommerceblog.pl/2013/04/piwo-i-pieluszki-w-jednym-koszyku-czyli-o-rekomendacjachproduktowych-w-systemach-e-commerce/
2
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 (3elementowych) 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.