hurtownie danych

Transkrypt

hurtownie danych
Politechnika Gdańska
Wydział Elektroniki, Telekomunikacji i
Informatyki
Magisterskie Studia Uzupełniające
HURTOWNIE DANYCH Ćwiczenie 1: Eksploracja danych Instrukcja laboratoryjna Opracowanie: Dr inż. Jacek Rumiński Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Gdańsk, 2009 Opis ćwiczenia laboratoryjnego – Eksploracja danych 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: - pakiet WEKA, - Java, - inne: przeglądarka WWW, klient FTP. Materiały wprowadzające i pomocnicze: - Kompletna dokumentacja oprogramowania WEKA - Materiały i wiedza z wykładów; Cel laboratorium: Celem ćwiczenia jest demonstracja studentom metod eksploracji danych, poznanych na wykładach, poprzez ich praktyczne zastosowanie w standardowych pakietach oprogramowania. 2. PRZEBIEG LABORATORIUM Ramowy program ćwiczenia (łączny czas pracy 3h): 1. Wprowadzenie kierownika ćwiczenia. Zapoznanie się uczestników ze stosowanymi systemami, przegląd dokumentacji (5 min.); 2. Zapoznanie się z oprogramowaniem WEKA (40 min.); 3. Generacja drzew decyzyjnych i ocena jakości klasyfikacji danych (80 min.) 4. Odkrywanie wiedzy z wykorzystaniem modułu WEKA Explorer (45 min.) 5. Prezentacja wyników, dyskusja, ocena (10 min.). Opis ćwiczenia laboratoryjnego – Eksploracja danych Ad.1 Wprowadzenie kierownika ćwiczenia. Zapoznanie się uczestników ze stosowanymi systemami, przegląd dokumentacji (15 min.); Ad.2 Zapoznanie się z oprogramowaniem WEKA (40 min.); Dokumentacja programu WEKA dostępna jest on-­‐line na stronie: http://weka.sourceforge.net/wekadoc/index.php/en:Weka_3.5.3 Ponadto wybrane jej fragmenty dostępne są jako pliki PDF w katalogu dokumentacja. W ramach ćwiczenia wykorzystane zostaną przykładowe dane zebrane w ramach ankiety internetowej opracowanej przez studentów studiów dziennych (Kozielecki P., Kunka B., Kupryjanow A.) w ramach realizacji projektu z eksploracji danych. Ankieta złożona była z 20 pytań. W ten sposób powstała baza danych, która będzie wykorzystywana w tym ćwiczeniu. W celu uproszczenia pracy z danymi sformatowano je do pliku ARFF (patrz dokumentacja formatu). W rezultacie dostępnych jest 20 następujących atrybutów: @attribute plec {M,K} @attribute wiek {18,19,20,21,22,23,24,25,26,27,28,29,30} @attribute miejsce_zamieszkania {Trojmiasto,spoza_woj_Pomorskiego,woj_Pomorskie_ale_spoza_Trojmiasta} @attribute lokal {rodzina,stancja,inne,akademik,wlasne_mieszkanie} @attribute rok_studiow {1,2,3,4,5,6} @attribute uczelnia {Politechnika_Gdanska,inna,Akademia_Morska,Uniwersytet_Gdanski,AWF,Akademia_Medyczna,Akademia_Muzyczna} @attribute typ_studiow {dzienne,zaoczne,wieczorowe} @attribute jak_czesto_pijesz {okazjonalnie,kilka_razy_w_tygodniu,codziennie,abstynent,raz_w_tygodniu} @attribute ulubiony_trunek {piwo,wino,wodka,whiskey,koniak,szampan,inny,nie_mam} @attribute miesieczne_wydatki {<50PLN,<10PLN,<100PLN,>100PLN,0} @attribute jak_pijesz {sam_lub_w_towarzystwie,tylko_w_towarzystwie,sam,abstynent} @attribute pierwszy_raz {liceum,szkola_podstawowa,gimnazjum,na_studiach,nigdy} @attribute urwal_sie_film {T,N} @attribute klinowanie {T,N} @attribute zabawa_bez_alkoholu {T,N} @attribute pozyczanie_kasy {T,N} @attribute picie_ucieczka {T,N} @attribute wstydliwa_rzecz {T,N} @attribute jazda_pod_wplywem {T,N} @attribute konflikt_z_prawem {T,N} Po uruchomieniu programu WEKA dostępny jest interfejs: Opis ćwiczenia laboratoryjnego – Eksploracja danych W ramach tego ćwiczenia wykorzystywane będą dwa moduły: Explorer oraz KnowledgeFlow. Moduł Explorer umożliwia wybór i zdefiniowanie parametrów algorytmów eksploracji wiedzy stosując prosty interfejs graficzny w formie zakładek: Spośród dostępnych zakładek należy wskazać opcję „Preprocess” w celu wybrania zestawu danych (pliku ARFF – dostępny w katalogu „dane”) oraz jego przeglądania i przetwarzania Opis ćwiczenia laboratoryjnego – Eksploracja danych wstępnego. Następnie dokonać można przetwarzania danych z zastosowaniem wybranej metody i algorytmu. Przykładowo wybierając generację reguł asocjacyjnych należy wskazać zakładkę „Associate”. Pojawi się część interfejsu poświecona generacji reguł. Wciskając przycisk „Choose” można wybrać algorytm generacji reguł. Wskazując po0le tekstowe obok przycisku można zdefiniować parametry algorytmu. Po wciśnięciu przycisku „Start” pojawi się wynik w głównej części okna. Przykładowo: Przykładowy wynik wskazuje częste reguły (wysoka wartość wskaźnika ufności), np. Osoby, które nie jeżdzą pod wpływem alkoholu również nie bawią się pijąc alkohol (ufność 96%). Kolejnym modułem jest KnowledgeFlow Environment. Moduł ten umożliwia budowę schematu przetwarzania danych wykorzystując komponenty graficzne. Każdy etap i typ eksploracji danych (np. klasyfikacja danych) posiada zestaw metod prezentowanych w formie symboli graficznych. Komponując proces eksploracji danych należy wybrać i połączyć ze sobą odpowiednie komponenty oraz ustawić ich parametry. Na poniższym rysunku pokazano przykładową sieć połączeń Opis ćwiczenia laboratoryjnego – Eksploracja danych Z zakładki DataSources wybrano opcję ArffLoader i poprzez przesunięcie komponentu umieszczono go w polu roboczym (KnowledgeFlow Layout). Wskazanie tego komponentu wciskając prawy klawisz myszki umożliwia wybranie jednej z możliwych opcji. Przykładowo wybierając opcję „Configure” można wybrać źródłowy plik danych (w przykładzie: „dane_gotowe.arff”). Następnie w podobny sposób dołącza się pozostałe komponenty (Class Assigner – wybranie atrybutu, który przechowuje znaną klasę, np. plec; CrossValidation FoldMaker – generacja i wybór zbiorów testowych i treningowych, J48 – klasyfikacja – generacja drzew, GraphViewer – prezentacja wygenerowanych drzew; Classifier PerformanceEvaluator – obliczenie parametrów opisujących jakość klasyfikacji; TextViewer – prezentacja wyników w formie tekstu; Remove – prezentacja możliwości wyboru atrybutów – przetwarzanie wstępne). W ramach zapoznania się w oprogramowaniem należy odtworzyć prezentowane wyżej przykłady. Ad. 3. Generacja drzew decyzyjnych i ocena jakości klasyfikacji danych (70 min.) Uruchomić program Weka, a w nim moduł KnowledgeFlow. W środowisku tym należy (poprzez przeciąganie komponentów, łączenie komponentów i ustawianie własności komponentów – prawy klawisz myszki) zbudować następujący przepływ działań: Opis ćwiczenia laboratoryjnego – Eksploracja danych Pierwszy moduł ArffLoader umożliwia wczytanie danych z pliku tekstowego o formacie ARFF. W tym celu należy (prawy przycisk myszki na komponencie i wybrać Configure) wskazać plik danych clinicalStudyHeart.arff. Plik ten zawiera przykładowe dane z bazy danych o następujących atrybutach: @attribute studyID NUMERIC -­‐ identyfikator badania (kolejny numer) @attribute birthyear NUMERIC -­‐ rok urodzenia @attribute sex {0,1} -­‐ oznaczenie płci (0-­‐kobieta, 1-­‐mężczyzna) @attribute smoking {0,1} -­‐ czy osoba pali papierosy (0-­‐nie, 1 tak) @attribute height NUMERIC -­‐ wzrost osoby w cm @attribute weight NUMERIC -­‐ waga osoby w kg @attribute heartProblem {0,1} -­‐ czy u osoby wykryto poważną chorobę serca (0-­‐nie, 1-­‐
tak) Cel: Zbudować algorytm decyzyjny, który na podstawie posiadanych obserwacji (wartości atrybutów) i wskaźnika wystąpienia choroby (heartProblem) określi od czego zależy ryzyko zachorowania na poważną chorobę serca. Zbudowany algorytm ocenić za pomocą poznanych miar: czułość, specyficzność, pole pod krzywą ROC. Realizację celu osiągniemy poprzez zbudowanie drzewa decyzyjnego na podstawie podzbioru danych (zbiór treningowy, uczący), a następnie drzewo decyzyjne zostanie ocenione na podstawie drugiego podzbioru danych (zbiór testowy). Najpierw jednak należy przetworzyć dane do postaci, która zapewnia uogólnienie danych oraz wygeneruje zbiór atrybutów istotny dla dalszego procesu wnioskowania. W przypadku posiadanych danych: A. Usuniemy (Remove) atrybut pierwszy (studyID), gdyż nie podlega uogólnieniom B. Obliczymy wartość BMI, która jest lepszym wskaźnikiem postury osoby nić oddzielne wartości wagi i wzrostu (Add expression: waga/(wzrost w m)^2 Opis ćwiczenia laboratoryjnego – Eksploracja danych C. Obliczymy wiek (liczbę lat) odejmując od obecnego rok urodzenia (Math expression, np. 2012-­‐A, dla atrybutu nr 1) D. Usuniemy atrybuty opisujące wzrost i wagę (Remove), ponieważ zastosujemy dalej obliczone wartości BMI. Ad.A Moduł Remove, ustawienia: Ad.B Moduł Add expression, ustawienia (funkcja rint() zaokrągla wynik do liczby całkowitej): Ad.C Moduł Math expression, ustawienia: Opis ćwiczenia laboratoryjnego – Eksploracja danych Ad.D Moduł Remove, ustawienia: Po każdym etapie przetwarzania możemy obejrzeć wyniki w trybie tekstowym wykorzystując moduł TextViewer (prawy przycisk myszki i wybranie Show results). Uwaga, żeby cokolwiek zobaczyć trzeba zbudować diagram i uruchomić przetwarzanie. Uruchomienie przetworzenia danych odbywa się poprzez wybranie dla Moduły ArffLoader (prawy przycisk myszki) opcji Start loading. Przykładowo wybrane dane wejściowe mają postać: @data 1,1960,0,0,176,78,1 2,1962,1,1,183,118,1 3,1966,0,0,167,70,0 4,1970,1,1,191,108,1 5,1972,0,0,154,75,0 6,1954,0,0,171,74,0 7,1948,1,1,185,110,1 8,1956,0,1,170,73,0 9,1953,1,0,181,151,1 Opis ćwiczenia laboratoryjnego – Eksploracja danych Natomiast po bloku Add expression (usunięcie numeru i obliczenie BMI, przy zaokrągleniu do liczby całkowitej, funkcja rint()): @data 1960,0,0,176,78,1,25 1962,1,1,183,118,1,35 1966,0,0,167,70,0,25 1970,1,1,191,108,1,30 1972,0,0,154,75,0,32 1954,0,0,171,74,0,25 1948,1,1,185,110,1,32 1956,0,1,170,73,0,25 1953,1,0,181,151,1,46 Po przygotowaniu danych można przystąpić do dalszych kroków budowania algorytmu. Najpierw musimy wskazać jaki atrybut przechowuje wskazanie klasy (decyzji), która będzie reprezentowana przez liście w drzewie decyzyjnym. W tym celu wybieramy moduł ClassAssigner i w nim wskazujemy atrybut heartProblem lub jego numer. W kolejnym kroku musimy podzielić dane na zbiór uczący i testowy. W tym celu wybieramy moduł TrainTest Split Maker pozostawiając domyśle ustawienia (66% na dane uczące, reszta na dane testowe). Tak przygotowane dane możemy wykorzystać do automatycznego zbudowania drzewa decyzyjnego. W tym celu wykorzystamy algorytm J48 budowania drzewa, reprezentowany przez moduł J48 (w zakładce Classifiers). Do tego modułu doprowadzamy 2 połączenia z modułu wcześniejszego Training Set i Test Set. W celu oceny wyników dodajemy moduł Classifier Performance Evaluator. Umożliwi on obliczenie parametrów oceny (m.in. czułość, specyficzność, itp.). Każdy blok możemy połączyć z modułem wizualizacji wyniku, tak, jak to pokazano na wcześniejszy rysunku. Po prawidłowym zbudowaniu całego diagramy można uruchomić proces budowania i oceny drzewa decyzyjnego poprzez wskazanie opcji Start loading w menu kontekstowym (prawy przycisk myszki) modułu Arff Loader. Należy zapoznać się z poszczególnymi wynikami. Do sprawozdania należy wkleić uzyskane drzewo decyzyjne oraz wyniki z modułu Classifier Performance Evaluator. Należy również ocenić i opisać uzyskane wartości miar. Czy uzyskane wartości czułości i specyficzności są wystarczające, dobre czy niewystarczające do akceptacji drzewa decyzyjnego. Jakie znaczenie mają pozostałe miary oceny? Opis ćwiczenia laboratoryjnego – Eksploracja danych Jak (technicznie) można wykorzystać uzyskane drzewo decyzyjne (zakładając, że oceny byłyby poprawne) w ocenie ryzyka zachorowania na poważną chorobę serca (program komputerowy – jakie instrukcje?, strona WWW?, itp.). Ad. 4. Odkrywanie wiedzy z wykorzystaniem modułu WEKA Explorer (45 min.) Na podstawie zdobytej na wykładach wiedzy oraz po zapoznaniu się z oprogramowaniem należy dla dostarczonego zestawu danych (dane_gotowe.arff) wygenerować wiedzę w postaci reguł asocjacyjnych. Z uzyskanych wyników wybrać te, które według oceny analityka (wykonującego ćwiczenie) są istotne. Końcowe wyniki wpisać do stworzonego w czasie ćwiczeń dokumentu, który będzie podstawa zaliczenia. Ad. 5. Prezentacja wyników, dyskusja, ocena (15 min.). Utworzony dokument należy podpisać, nazwać go podając swoje nazwisko i imię a następnie przesłać na wskazany przez prowadzącego adres serwera FTP lub na adres sewera wspomagającego uczenie na odległość. 3. ZASADY OCENIANIA Rezultatem wykonania ćwiczenia jest nabyta umiejętność praktycznego definiowania zadań eksploracji danych oraz posługiwanie się profesjonalnymi pakietami oprogramowania. Podstawą oceny jest opracowany w czasie ćwiczenia raport zawierający wyniki eksploracji danych dla przykładowego zestawu danych. Na ocenę wpływać będzie: poprawność dobory parametrów metod, rodzaj uzyskanej wiedzy, czytelność i zrozumiałość formy prezentacji wyników. 4. UWAGI DODATKOWE Częścią instrukcji jest dokumentacja – podręcznik do nauki formułowania zadań eksploracji danych w ramach oprogramowania WEKA (http://www.cs.waikato.ac.nz/ml/weka/). Załączniki W części tej zawarto kody programów oraz pliki przykładowe i instrukcje konfiguracji oprogramowania. Przykładowy zestaw danych clinicalStudyHeart.arff Opis ćwiczenia laboratoryjnego – Eksploracja danych @relation clinicalStudyHeart @attribute studyID NUMERIC @attribute birthyear NUMERIC @attribute sex {0,1} @attribute smoking {0,1} @attribute height NUMERIC @attribute weight NUMERIC @attribute heartProblem {0,1} @data 1,1960,0,0,176,78,1 2,1962,1,1,183,118,1 3,1966,0,0,167,70,0 4,1970,1,1,191,108,1 5,1972,0,0,154,75,0 6,1954,0,0,171,74,0 7,1948,1,1,185,110,1 8,1956,0,1,170,73,0 9,1953,1,0,181,151,1 10,1965,0,0,174,76,0 11,1961,0,0,176,78,0 12,1963,1,1,183,118,0 13,1965,0,0,167,83,0 14,1971,1,1,191,108,0 15,1973,0,0,154,75,1 16,1953,0,0,171,74,0 17,1949,1,1,185,110,1 18,1989,0,1,170,77,0 19,1971,1,0,179,145,1 20,1999,0,0,154,82,0 21,1965,0,0,176,78,0 22,1966,1,1,183,118,1 23,1967,0,0,167,83,0 24,1973,1,1,191,108,0 25,1978,0,0,154,75,1 26,1963,0,0,171,74,0 27,1959,1,1,185,110,1 28,1979,0,1,170,90,0 29,1978,1,0,179,135,1 30,1989,0,0,174,66,0 31,1965,0,0,176,78,1 32,1966,1,1,183,118,0 33,1967,0,0,167,73,0 34,1973,1,1,191,108,1 35,1968,0,0,174,75,1 Opis ćwiczenia laboratoryjnego – Eksploracja danych 36,1963,0,0,171,94,0 37,1959,1,1,185,110,0 38,1979,0,1,170,70,0 39,1978,1,0,179,135,0 40,1989,0,0,174,66,0 

Podobne dokumenty