EDzGBD/L/z3

From WikiZMSI

< EDzGBD | L
  • Przetworzyć (przypisany do siebie) zbiór danych na dane zbinaryzowane, nadające się do dalszej pracy z algorytmem A priori.
  • Napisać skrypt wykrywający tzw. "zbiory częste" (1-sza część algorytmu Apriori). Argumenty do skryptu: dane oraz zadane minimalne wsparcie. Na wyjściu skrypt ma zwracać zbiory częste 1-elementowe, 2-elementowe, itd. aż do momentu stopu indukcji. Sugestie: (1) używać map haszujących (szybkość w sprawdzeniu, czy pewien zbiór jest na ewidencji zbiorów częstych), całą kolekcję zbiorów częstych można zwrócić jako wektor komórkowy, którego elementami będa mapy haszujące (np. F{2} zwróci hashmapę zbiorów jednoelementowych, itp.)
  • Napisać skrypt generujący reguły asocjacyjne (2-ga część algorytmu Apriori). Argumenty do skryptu: zbiory częste (wynik skryptu poprzedniego) oraz zadane minimalne zaufanie. Znalezione reguły wypisać na początek na ekran w formie czytelnej dla człowieka (numery odwzorowane w nazwy); później reguły zwrócić w formie dowolnej wygodnej struktury (np. wektor z poprzednikami reguł, wektor z następnikami reguł, wektor z zaufaniami, itp.)
  • Dla (przypisanych do siebie danych) wykonać serię eksperymentów nastawiająć różne minimalne wsparcia (np. 0.5, 0.3, 0.2) i zaufania (np. 1.0, 0.9, 0.8). Spróbować znaleźć (wzrokowo) ciekawe reguły wśród wypisanych przez program. Zwrócić szczególną uwagę na reguły dotyczące zmiennej decyzyjnej (dla danego zbioru).
  • Napisać skrypt wyświetlający wykres regułowy (dla reguły A -> B na osi argumentów położyć wsparcie A, na osi wartości zaufanie A -> B). Patrz też polecenie scatter w MATLABie. Skrypt powinien być funkcją otrzymującą na wejściu reguły z danego eskperymentu.
  • Zaprogramować skrypt przyjmujący na wejście listę reguł i wyszukujący wsród nich równoważności, np. a -> b i b -> a, to a <-> b. Przy każdej wyświetlanej równoważności wypisać zaufania, z jakimi pracuje strzałka wynikania postawiona w każdą ze stron.