Metody eksploracji danych Reguły asocjacyjne
Analiza podobieństw i koszyka sklepowego Analiza podobieństw jest badaniem atrybutów lub cech, które są powiązane ze sobą. Metody analizy podobieństw, znane również jako analiza koszyka sklepowego, szukają nieodkrytych powiązań pomiędzy tymi atrybutami, to znaczy szukają nieodkrytych reguł do ilościowego określania relacji pomiędzy dwoma lub więcej atrybutami Reguły asocjacyjne przyjmują postać: Jeżeli poprzednik, to następnik razem z miarą wsparcia i dokładności (ufności) reguły
Analiza podobieństw i koszyka sklepowego - przykład W supermarkecie sporządzono raport sprzedaży, z którego m.in. wynika, że w ostatni czwartek w nocy z 1000 klientów robiących zakupy 200 kupiło chleb, a z tych 200, którzy kupili chleb, 50 kupiło masło Reguła asocjacyjna: Jeżeli kupuje chleb, to kupuje masło miarą wsparcia 5% miara dokładności 25% 50 1000 50 200
Wsparcie i ufność reguły Niech D oznacza zbiór transakcji, gdzie każda transakcja T z D reprezentuje zbiór artykułów z I. Wsparcie (ang. support) s dla danej reguły asocjacyjnej A => B jest procentem transakcji w D, które zawierają A i B, tzn. s P A B liczba transakcji zawierajacych A i B calkowita liczba transakcji 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, tzn. P A B c P B A P A liczba transakcji zawierajacych A i B liczba transakcji zawierajacych A Mocna reguła reguła, dla której s i c są >= od pewnych, określonych wartości minimalnych.
Zbiory zdarzeń i zbiory częste Zbiór zdarzeń jest zbiorem zawartym w I (np. {fasola, kabaczki} to 2- elementowy zbiór zdarzeń, {brokuły, kukurydza, pomidory} to 3-elementowy zbiór zdarzeń). Częstość zbioru zdarzeń jest liczbą transakcji zawierającym 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ą Φ. Zbiór częstych zbiorów zdarzeń o k elementach będziemy oznaczać przez F k
Mówimy, że transakcja t wspiera (ang. supports) zbiór X wtedy i tylko wtedy gdy dla wszystkich elementów I k X, I k t (t zawiera co najmniej wszystkie elementy zbioru X). Wsparciem zbioru X nazywamy iloraz liczby transakcji w T, które wspierają X do liczby wszystkich transakcji w T.
Reguła asocjacyjna Regułą asocjacyjną nazywamy implikację postaci X Y, gdzie X i Y są dowolnymi zbiorami elementów z I i zachodzi X I, Y I i X Y=. Zbiór X nazywamy poprzednikiem reguły (ang. body, antecedent), a zbiór Y następnikiem reguły (ang. head, consequent).
Z każdą regułą asocjacyjną są związane dwie wartości liczbowe opisujące jej siłę i dokładność. Mówimy, że reguła X Y ma wsparcie s (ang. support), 0 s 1, jeżeli dokładnie s% transakcji w T wspiera X Y. Mówimy, że reguła X Y ma ufność c (ang. confidence), 0 c 1, jeżeli dokładnie c% transakcji w T, które wspierają X, wspiera również Y.
Ogólny algorytm generowania reguł asocjacyjnych Ogólny algorytm generowania reguł asocjacyjnych, dla zadanej bazy danych transakcji T, ma następującą postać: Krok 1: Ogólny algorytm generowania reguł Asocjacyjnych Krok 2: Generowanie reguł ze zbiorów częstych
Krok 1: Ogólny algorytm generowania reguł asocjacyjnych 1. Utworzyć zbiory elementów Li={Ii1, Ii2,..., Iim}, takie, że Li I, posiadające wsparcie support(li) minsup. Zbiory Li są nazywane zbiorami częstymi (ang. large, frequent itemsets). 2. Na podstawie zbiorów częstych znalezionych w kroku (1) wygenerować wszystkie reguły asocjacyjne dla elementów zbiorów częstych - zastosuj algorytm (krok 2->)
Krok 2: Generowanie reguł ze zbiorów częstych. 1. Dla każdego zbioru częstego Li znajdź wszystkie niepuste podzbiory subli. 2. Dla każdego podzbioru subli wygeneruj regułę postaci: subli (Li-subLi) support(li)/support(subli) minconf. jeżeli
Ogólny algorytm generowania reguł asocjacyjnych Algorytm (krok 1) składa się z dwóch kroków. W pierwszym kroku znajdowane są zbiory częste, które reprezentują zbiory elementów występujących wspólnie w transakcjach. Zakłada się przy tym, że interesujące są tylko te zbiory częste, których wsparcie w bazie danych jest większe, niż zadany próg wsparcia minsup. W kroku drugim, na podstawie znalezionych zbiorów częstych są generowane wszystkie reguły asocjacyjne, których ufność jest większa niż zadany próg ufności minconf.
przykład Załóżmy, że: minimalne wsparcie wynosi 30% (0.3), natomiast minimalna ufność 70% (0.7).
W pierwszym kroku są znajdowane zbiory częste 1-elementowe:
Funkcja apriori-gen generuje zbiory kandydujące 2-elementowe: Zbiór częsty 2-elementowy składa się z tych zbiorów częstych 2- elementowych, których wsparcie jest większe niż 0.30
Funkcja apriori-gen generuje zbiory kandydujące 3-elementowe
Na podstawie otrzymanych zbiorów częstych wygenerowano następujące reguły asocjacyjne Zauważmy, że tylko cześć otrzymanych reguł spełnia warunki na minimalne wsparcie i minimalną ufność.
Stąd, końcowy wynik działania algorytmu Apriori jest następujący:
Stąd, końcowy wynik działania algorytmu Apriori jest następujący:
Rzut ekranu z WEKA
Rzut ekranu z Rattle
Rzut ekranu z Rattle