hurtownie danych

Transkrypt

hurtownie danych
Politechnika Gdańska
Wydział Elektroniki, Telekomunikacji i
Informatyki
Magisterskie Studia Uzupełniające
HURTOWNIE DANYCH Ćwiczenie 2: Algorytmy eksploracji danych – reguły asocjacyjne Instrukcja laboratoryjna Opracowanie: Dr inż. Jacek Rumiński Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Gdańsk, 2011 Opis ćwiczenia laboratoryjnego – Algorytmy eksploracji danych – reguły asocjacyjne 1. WPROWADZENIE. CEL LABORATORIUM. Wymagania dotyczące uczestników ćwiczenia: - znajomość metod i algorytmów stosowanych w eksploracji danych (materiał z wykładów); - umiejętność twórczego myślenia. Stosowane technologie i narzędzia w ćwiczeniu: - kody w Javie – implementacje algorytmów generacji zbiorów częstych, - oprogramowanie Weka, ARTool - Java, - inne: przeglądarka WWW, dostęp do serwera http://uno.biomed.gda.pl. Materiały wprowadzające i pomocnicze: - Kompletna dokumentacja oprogramowania, - Kody źródłowe oprogramowania, - Materiały i wiedza z wykładów. Cel laboratorium: Celem ćwiczenia jest demonstracja studentom metod algorytmów eksploracji danych na przykładzie reguł asocjacyjnych, poznanych na wykładach, poprzez ich praktyczne zastosowanie w kodach źródłowych programów oraz w standardowych pakietach oprogramowania. 2. PRZEBIEG LABORATORIUM Ramowy program ćwiczenia (łączny czas pracy 2h40min): 1. Wprowadzenie kierownika ćwiczenia. Zapoznanie się uczestników ze stosowanymi systemami, przegląd dokumentacji (5 min.); 2. Generacja reguł asocjacyjnych z wykorzystaniem różnych algorytmów w środowisku Weka (40 min.); 3. Analiza kodów źródłowych oraz wykonywanie różnych algorytmów generacji zbiorów częstych (55 min.) 4. Wykonywanie różnych algorytmów generacji zbiorów częstych z zastosowaniem programu ARTool (50 min.) 5. Prezentacja wyników, dyskusja, ocena (10 min.). Opis ćwiczenia laboratoryjnego – Algorytmy eksploracji danych – reguły asocjacyjne Ad.1 Wprowadzenie kierownika ćwiczenia. Zapoznanie się uczestników ze stosowanymi systemami, przegląd dokumentacji (5 min.); Prowadzący zapozna studentów ze stanowiskiem pracy, zadaniami oraz sposobem sprawozdania wyników. Ad.2 Generacja reguł asocjacyjnych z wykorzystaniem różnych algorytmów w środowisku Weka (40 min.); Uczestnicy ćwiczenia zapoznali się z oprogramowaniem Weka w czasie ostatnich zajęć. W tym ćwiczeniu generowane będą reguły asocjacyjne z wykorzystaniem różnych algorytmów. Dla potrzeb ćwiczenia wykorzystywany będzie zbiór danych opisujących wyniki badań ankietowych dotyczących zachorowania na chorobę wieńcową. Poniżej przedstawiono fragment definiujący atrybuty oraz podzbiór danych. Zbiór „choroba_wiencowa.arff”: @attribute plec {M,K} @attribute wiek {40_50,50_55,55_60,60_65,65_} @attribute BMI {poprawne, nadwaga, otyly} @attribute choroba {T,N} @data M,40_50,poprawne,N K,40_50,poprawne,N M,50_55,nadwaga,T M,40_50,poprawne,N M,40_50,poprawne,N M,40_50,poprawne,N Itd. Wykorzystując dostępny zbiór danych należy wygenerować reguły asocjacyjne wykorzystując trzy algorytmy: Apriori, Predictive Apriori, Tertius dla domyślnych ustawień parametrów poszczególnych algorytmów. W tym celu wykorzystać moduł Knowledge Flow programu Weka budując następujący schemat: Opis ćwiczenia laboratoryjnego – Algorytmy eksploracji danych – reguły asocjacyjne W sprawozdaniu umieścić wyniki każdej z metod (pierwsze 10 znalezionych reguł asocjacyjnych). Następnie proszę dokonać porównania reguł oraz opisać (językiem naturalnym) 5 wybranych reguł uznanych za najbardziej istotne. Ad. 3. Analiza kodów źródłowych oraz wykonywanie różnych algorytmów generacji zbiorów częstych (55 min.) W celu poznania budowy algorytmu Apriori otworzyć i przetestować kod źródłowy programu zawierający implementację algorytmu. Należy uruchomić oprogramowanie JCreator, zamknąć domyślną przestrzeń roboczą (workspace), a następnie otworzyć plik z projektem „cw2/mining/mining.jcw”. W przypadku trudności należy utworzyć nowy projekt o nazwie „datamining” i dodać do niego pliki zawarte w pakiecie (katalogu) „miming”. Opis ćwiczenia laboratoryjnego – Algorytmy eksploracji danych – reguły asocjacyjne Należy wskazać plik „Apriori”. Pojawi się wówczas w prawym panelu okna kod źródłowy programu. Na końcu pliku znajduje się metoda uruchomieniowa programu „main”, której edycja umożliwi zmianę pliku danych oraz parametru wsparcia (support). Wsparcie reprezentowane jest jako liczba wystąpień (bez normalizacji). public static void main(String args[]) { //String testfile = "T10I4D100K.dat"; //<-­‐ przykładowy plik danych String testfile = "test.dat"; //<-­‐ przykładowy plik danych String outfile = "test.out"; //<-­‐ przykładowy plik z wynikami int support = 2; //<-­‐ parametr wsparcia (liczba wystąpień). (...) Przykładowy plik test.dat zawiera następujący zestaw danych (indeksy towarów/obserwacji): 2 4 7 2 3 7 2 4 7 Po skompilowaniu i uruchomieniu pliku Apriori (Build-­‐>Compile File/Execute File) pojawi się na ekranie raport, a w pliku wyjściowym zbiory częste. 2 (3) Opis ćwiczenia laboratoryjnego – Algorytmy eksploracji danych – reguły asocjacyjne 2 4 (2) 2 4 7 (2) 2 7 (3) 4 (2) 4 7 (2) 7 (3) W nawiasach podano liczbę wystąpień (wybrana graniczna liczba wystąpień w przykładzie wynosiła 2). Należy zapoznać się z kodem źródłowym – realizacją algorytmu – a następnie przeprowadzić testy dla własnego zestawu danych, który trzeba utworzyć (należy pamiętać, że indeksy muszę występować rosnąco w wierszu). Wykonując testy należy wykonać trzy różne doświadczenia wybierając trzy różne wartości progowe liczby wystąpień. Utworzony zbiór danych oraz wyniki skopiować do sprawozdania (dokumentu Worda) wpisując: - zawartość pliku testowego, - wybraną wartość wsparcia, - czas obliczeń, - ilość zbiorów częstych. - Dla najbardziej częstego zbioru zbudować (samodzielnie) reguły asocjacyjne obliczając jednocześnie wartość poziomu ufności dla każdej reguły. Ad. 4. Wykonywanie różnych algorytmów generacji zbiorów częstych z zastosowaniem programu ARTool (50 min.) Uruchomić oprogramowanie ARTool. W tym celu wejść do katalogu „cw2/software/artool” i wskazać (podwójne wciśnięcie lewego przycisku myszki) plik ARtool.jar. W pierwszej kolejności należy wygenerować przykładową, testową bazę danych przyjmując następujące parametry: Opis ćwiczenia laboratoryjnego – Algorytmy eksploracji danych – reguły asocjacyjne Następnie wykorzystać utworzoną bazę danych w celu przeprowadzenia zestawu testów wydajnościowych: 1. Otworzyć bazę danych 2. Dokonać generacji zbiorów częstych (Frequent Items) dla dwóch algorytmów (Apriori i FP), stosując dla każdego algorytmu ten sam zbiór danych oraz te same cztery kolejne, różne wartości wsparcia (np. 0,1; 0,3; 0,5; 0,7). W każdym przypadku powtórzyć trzykrotnie obliczenia i przyjąć uśredniony czas jako wynik eksperymentu dla pojedynczej wartości wsparcia. 3. Utworzyć tabele/tabelę i jeden wykres demonstrujący czas obliczeń dla poszczególnych algorytmów. 4. Tabele/tabelę i jeden wykres zamieścić i opisać w sprawozdaniu. 5. Opisać uzyskane wyniki 6. Stosując jeden wybrany próg wsparcia w generacji zbiorów częstych (algorytmem Arpiori i FP) wygenerować również reguły asocjacyjne dla określonego (wybranego) poziomu ufności. W sprawozdaniu załączyć 10 reguł o największym poziomie ufności. Opisać uzyskane wyniki. Ad. 5. Prezentacja wyników, dyskusja, ocena (10 min.). Utworzony dokument PDF należy nazwać podając swoje nazwisko i imię a następnie przesłać na wskazany przez prowadzącego adres serwera. 3. ZASADY OCENIANIA Rezultatem wykonania ćwiczenia jest nabyta umiejętność praktycznego definiowania zadań eksploracji danych, analizy kodów źródłowych oprogramowania oraz posługiwanie się profesjonalnymi pakietami oprogramowania. Podstawą oceny jest opracowany w czasie ćwiczenia raport zawierający wyniki doświadczeń dla przykładowych zestawów danych. 4. UWAGI DODATKOWE Opis ćwiczenia laboratoryjnego – Algorytmy eksploracji danych – reguły asocjacyjne Częścią instrukcji jest dokumentacja oprogramowania dostępna w katalogu ćwiczenia.