reguły asocjacyjne

Reguły asocjacyjne kojarzą konkretny wniosek (np. decyzję o zakupie konkretnego produktu) ze zbiorem warunków (np. zakupem kilku innych produktów). Na przykład reguła

beer <= cannedveg & frozenmeal (173, 17.0%, 0.84)

mówi, że beer często występuje wtedy, gdy jednocześnie występują cannedveg i frozenmeal. Ta reguła jest w 84% niezawodna i ma zastosowanie do 17% danych, czyli 173 rekordów. Algorytmy reguł asocjacyjnych automatycznie znajdują związki, które można byłoby znaleźć ręcznie przy użyciu technik wizualizacji (por. węzeł sieciowy).

Rysunek 1. Węzeł sieciowy przedstawiający związki między elementami w koszyku zakupów
Węzeł sieciowy przedstawiający związki między elementami w koszyku zakupów.

Przewagą algorytmów reguł asocjacyjnych wobec bardziej standardowych algorytmów drzew decyzyjnych (C5.0 i C&RTs) jest fakt, że dozwolone są w nich związki między dowolnymi atrybutami. Algorytm drzewa decyzyjnego pozwala utworzyć reguły z tylko jednym wnioskiem, podczas gdy algorytmy powiązań próbują znaleźć wiele reguł, z których każda może mieć inny wniosek.

Wadą algorytmów asocjacyjnych jest fakt, że próbują one znaleźć wzorce w potencjalnie bardzo dużej przestrzeni wyszukiwania i w związku z tym ich wykonanie może trwać znacznie dłużej niż wykonanie algorytmu drzewa decyzyjnego. Algorytmy te do znajdowania reguł stosują metodę generowania i testowania — początkowo generują proste reguły i walidują je względem zbioru danych. Dobre reguły są zachowywane, a wszystkie reguły, z zachowaniem różnych ograniczeń, podlegają specjalizacji. Specjalizacja polega na dodawaniu warunków do reguły. Uzyskane nowe reguły są walidowane względem danych i proces znów zapisuje najlepsze i najbardziej interesujące reguły. Użytkownik zwykle nakłada jakieś ograniczenie na liczbę poprzedników dozwolonych w regule. Ponadto w celu ograniczenia potencjalnie dużej przestrzeni wyszukiwania stosowane są różne techniki oparte na teorii informacji i systemach efektywnego indeksowania.

Po zakończeniu przetwarzania prezentowana jest tabela najlepszych reguł. W odróżnienia od drzewa decyzyjnego ten zestaw reguł asocjacyjnych nie może być używany bezpośrednio do generowania predykcji, tak jak model standardowy (np. drzewo decyzyjne lub sieć neuronowa). Wynika to z faktu, że reguły mogą prowadzić do wielu różnych wniosków. Konieczny jest kolejny poziom transformacji, który przekształci reguły asocjacyjne w zestaw reguł klasyfikacji. Dlatego reguły asocjacyjne wygenerowane przez algorytmy asocjacyjne nazywamy modelami surowymi. Mimo że użytkownik może przeglądać takie modele surowe, nie można ich używać wprost jako modeli klasyfikacyjnych, jeśli użytkownik nie nakaże systemowi wygenerowania modelu klasyfikacyjnego z modelu surowego. Można to zrobić za pośrednictwem opcji menu Utwórz w przeglądarce.

Obsługiwane są dwa algorytmy reguł asocjacyjnych:

Węzeł Apriori pozwala wyodrębnić zestaw reguł na podstawie danych, pobierając reguły o najwyższej możliwej zawartości informacji. Apriori oferuje pięć różnych metod wybierania reguł i korzysta ze złożonego schematu indeksowania do efektywnego przetwarzania dużych zbiorów danych. W przypadku dużych problemów czas uczenia Apriori jest zwykle krótszy. Brak jest arbitralnego limitu co do liczby reguł do utrzymania, możliwa jest obsługa reguł z maksymalnie 32 predykcjami. Apriori wymaga, aby wszystkie zmienne wejściowe i wyjściowe były zmiennymi jakościowymi, lecz oferuje wyższą wydajność z uwagi na optymalizację pod kątem tego typu danych.
Węzeł Sekwencje wykrywa reguły asocjacyjne w danych sekwencyjnych lub zorientowanych czasowo. Sekwencja to lista zbiorów elementów z tendencją do występowania w przewidywalnej kolejności. Na przykład klient dokonujący zakupu brzytwy i balsamu po goleniu przy następnej wizycie w sklepie może dokonać zakupu kremu po goleniu. Węzeł Sekwencje bazuje na algorytmie reguł asocjacyjnych CARMA, który korzysta z efektywnej metody dwu przejść do znajdowania sekwencji.