Śledź nas na:



Generowanie reguł asocjacyjnych

Typowe podejście do problemu generowania reguł asocjacyjnych sprowadza się do rozbicie go na dwie czynności:


  • wyszukanie wśród zbioru przykładów często występujących zbiorów elementów,

  • utworzenie dla każdej pary zbiorów wartości, z których jeden jest podzbiorem drugiego, odpowiedniej reguły asocjacyjnej.

Pierwsza czynność polega na odnalezieniu wszystkich zbiorów wartości, których wsparcie przekracza zadane minimum (w przypadku mojej aplikacji, ze względu na mały zbiór trenujący, ustawione na wartość 0,01). Efektywne odnajdowanie zbiorów częstych stanowi główną trudność w generowaniu reguł asocjacyjnych, ze względu na stosunkowo duże koszty tej operacji.

Drugi problem, czyli znajdowanie na podstawie zbiorów częstych odpowiadających im reguł asocjacyjnych jest w istocie bardzo prosty. W mojej aplikacji sprowadza się do tylu reguł, ile wartości posiada badany atrybut i każda wartość staje się zbiorem warunkowym kolejnej reguły, natomiast pozostałe wartości stają się częścią wartościującą te reguły. Wsparciem każdej z tych reguł jest wsparcie zbioru wartości, na podstawie którego reguła została wygenerowana, skoro więc wsparcie badanego zbioru wartości przekracza zadaną wcześniej wartość minimalną, przekracza ją także wsparcie dla wygenerowanej na jego podstawie reguły. Jeżeli dodatkowo jej zaufanie jest na dostatecznie dużym poziomie, możemy taką regułę zaakceptować. W mojej aplikacji pominąłem sprawdzanie minimalnej wartości zaufania, ze względu na mały zbiór wartości trenujących i tym samym małą ilość reguł.



Zobacz także