Odkrywanie reguł asocjacyjnych

W tym ćwiczeniu zapoznajemy się z metodami odkrywania reguł asocjacyjnych. Analizujemy własności algorytów Apriori i FP-Growth i sprawdzamy, jak parametry minimalnego wsparcia (minsup) i minimalnej ufności (minconf) wpływają na uzyskiwane wyniki.

literatura
  • Fast Algorithms for Mining Association Rules, R.Agrawal, R.Srikant, In Proc. 20th Int. Conf. Very Large Data Bases, VLDB (December–JanuaryMay~ 1994), pp. 487-499
  • Mining Frequent Patterns Without Candidate Generation, J.Han, J.Pei, Y.Yin, SIGMOD '00 Proceedings of the 2000 ACM SIGMOD International Conference on Management of Data ACM New York, NY, USA ISBN:1-58113-217-4 DOI:10.1145/342009.335372
  • Dynamic itemset counting and implication rules for market basket data, S.Brin, R.Motwani, J.Ullman, SIGMOD '97 Proceedings of the 1997 ACM SIGMOD International Conference on Management of Data ACM New York, NY, USA ISBN:0-89791-911-4
  • Comparing Rule Measures for Predictive Association Rules, Azevedo, Paulo J., and Alípio M. Jorge. Machine Learning: ECML 2007. Springer Berlin Heidelberg, 2007. 510-517.
Rapid Miner
  • Uruchom narzędzie Rapid Miner
  • Utwórz nowy przepływ. Użyj operatora Read CSV aby załadować plik marketbasket.csv. Jako separator między kolumnami wskaż przecinek. Zaznacz także, że pierwszy wiersz w pliku zawiera nazwy atrybutów. Po załadowaniu pliku uruchom przepływ i obejrzyj metadane.
  • Dodaj do przepływu operator Numerical to Nominal aby zamienić każdy atrybut na atrybut binarny. Następnie umieść na przepływie operator FP-Growth i ustal liczbę poszukiwanych zbiorów częstych na 100 (parametr find min number of itemsets). Uruchom przepływ i obejrzyj wyniki. Porównaj wyniki z sytuacją w której wyłączysz parametr find min number of itemsets i ustalisz próg minimalnego wsparcia na min support=0.01.
  • Dodaj do przepływu operator Create Association Rules, wskazując jako kryterium selekcji reguł miarę ufności (ang.confidence) z wartością progową 0.8. Uruchom przepływ. Obejrzyj znalezione reguły asocjacyjne, uruchom wizualizację reguł (zakładka Graph View), porównaj kilka sposobów wyświetlania reguł. Znajdź reguły tłumaczące, dlaczego ludzie kupują jajka i biały chleb.
  • Użyj operatora Item Sets do Data w celu przetransformowania znalezionego zbioru zbiorów częstych do postaci danych
  • Zapoznaj się z miarami oceny reguł.
  • Utwórz nowy przepływ i użyj operatora Generate Sales Data do wygenerowania 10 000 syntetycznych transakcji. Obejrzyj uzyskane zbiory dane.
  • Przy pomocy operatora Date to Numerical zamień sposób przedstawiania czasu na numer dnia w ramach epoki.
  • Dokonaj binaryzacji atrybutu product_category i obejrzyj wynik
  • Wybierz atrybuty customer_id,date oraz nowo utworzone flagi binarne dla poszczególnych kategorii, i tylko te atrybuty wyślij do kolejnego operatora
  • Korzystając z operatora Generalized Sequential Patterns znajdź wzorce pokazujące długoterminowe wzorce zakupowe. Przyjmij, że interesują Cię transakcje zawarte w przeciągu pół roku, wszystkie zakupy dokonane w ramach tygodnia potraktuj jako pojedynczą transakcję, przyjmij też że między poszczególnymi transakcjami danego klienta musiały upłynąć co najmniej dwa tygodnie
zadanie samodzielne (5 pkt)

Pobierz dane o filmach i ich ocenach. Zbiór zawiera 100000 ocen około 9000 filmów. Dane pochodzą z projektu MovieLens

Przyjmij, że ocena 4 lub więcej jest pozytywna, a ocena 2 lub mniej jest negatywna. Zbuduj dwa modele rekomendacyjne do generowania pozytywnych i negatywnych rekomendacji. Postaraj się odpowiedzieć na następujące pytania:

  • Objerzałem już „Pulp Fiction” i “Reservoir Dogs”, oba filmy bardzo mi się podobały. Jaki film należy mi zarekomendować?
  • Bardzo nie podobał mi się film ”Maska”. Jakich filmów powinienem unikać?

hint: po wczytaniu danych potrzebny będzie operator Join do ich połączenia, a także operator Pivot do zmiany struktury bazy danych z pionowej na poziomą. Pamiętaj także, że operator FP-Growth potrzebuje danych typu logicznego

Wyślij na adres Mikolaj.Morzy@put.poznan.pl zrzut ekranu calego przepływu oraz listy filmów rekomendowanych i odradzanych. Termin nadsyłania rozwiązań mija w niedzielę, 28 kwietnia 2019.

 
sum-association.rules.txt · Last modified: 2019/03/22 22:35 by Mikołaj Morzy
 
Except where otherwise noted, content on this wiki is licensed under the following license:Public Domain
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Debian Driven by DokuWiki