12
RapidMiner podstawy Zagadnienia analizy i eksploracji danych wiążą się z doborem odpowiedniego oprogramowania. Wśród światowych liderów w tym obszarze są SAS, IBM SPSS, Knime, Weka, R oraz RapidMiner. Ostatnie cztery z wymienionych to rozwiązania dostępne na licencji open source, a ostatni z programów RapidMiner jest na pierwszym miejscu wśród wszystkich narzędzi wg. rankingu KDNuggets. Do realizacji zajęć zostanie wykorzystana ostatnia z aplikacji rozszerzona o zestaw odpowiednich dodatków możliwych do pobrania z RapidMiner Marketplace. UWAGA: Poniższe materiały pochodzą z opracowania: M. Blachnik, Materiały dydaktyczne do przedmiotu Sztuczna inteligencja i eksploracja danych biznesowych, WSB Dąbrowa Górnicza 2011. W niektórych miejscach poddano je niewielkiej modyfikacji. Podstawy Po uruchomieniu aplikacji RapidMiner na środku ekranu dostępne jest menu umożliwiające wybór projektu nad którym chcemy pracować, bądź też stworzenie nowego projektu. Dodatkowo mamy zestaw informacji i wiadomości ze świata związanych z zagadnieniami drążenia danych (ang. data mining) Rys. 1 Okno startowe programu RapidMiner Po wybraniu opcji stworzenia nowego projektu program przełącza się do widoku edycji procesu. Dostępny jest jeszcze widok wyników i danych [6].

RapidMiner podstawymblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/ai/lab/rm/rm_intor_rm.pdf · RapidMiner podstawy Zagadnienia analizy i eksploracji danych wiążą się z doborem

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

RapidMiner podstawy Zagadnienia analizy i eksploracji danych wiążą się z doborem odpowiedniego oprogramowania.

Wśród światowych liderów w tym obszarze są SAS, IBM SPSS, Knime, Weka, R oraz RapidMiner.

Ostatnie cztery z wymienionych to rozwiązania dostępne na licencji open source, a ostatni z

programów RapidMiner jest na pierwszym miejscu wśród wszystkich narzędzi wg. rankingu

KDNuggets. Do realizacji zajęć zostanie wykorzystana ostatnia z aplikacji rozszerzona o zestaw

odpowiednich dodatków możliwych do pobrania z RapidMiner Marketplace.

UWAGA: Poniższe materiały pochodzą z opracowania: M. Blachnik, Materiały dydaktyczne do

przedmiotu Sztuczna inteligencja i eksploracja danych biznesowych, WSB Dąbrowa Górnicza 2011. W

niektórych miejscach poddano je niewielkiej modyfikacji.

Podstawy Po uruchomieniu aplikacji RapidMiner na środku ekranu dostępne jest menu umożliwiające wybór

projektu nad którym chcemy pracować, bądź też stworzenie nowego projektu. Dodatkowo mamy

zestaw informacji i wiadomości ze świata związanych z zagadnieniami drążenia danych (ang. data

mining)

Rys. 1 Okno startowe programu RapidMiner

Po wybraniu opcji stworzenia nowego projektu program przełącza się do widoku edycji procesu.

Dostępny jest jeszcze widok wyników i danych [6].

Rys. 2 Widok edycji procesu

Rys. 3 Widok wyników

Pomiędzy dwoma trybami przełączamy się z poziomu paska ikon:

Rys. 4 Pasek ikon programu RapidMiner

Podstawowym widokiem, z którego najczęsciej będziemy korzystać jest widok edycji procesu.

Umożliwia on zbudowanie w sposób graficznych grafu przepływu danych i to przy wykorzystaniu

koncepcji przeciągnij i upuść(ang. drag and drop). Panel widoku projektu składa się z serii zakładek, z

których najważniejszymi są:

Zakładka Process – w zakładce tej zostanie zbudowany i zaprojektowany proces przepływu i

analizy danych

Zakładka Tree – Zakładka zawierająca widok zbudowanego procesu w postaci drzewa

operatorów. Ułatwia on analizę przepływu danych udostępniając informacje o

wielopoziomowych zagnieżdżeniach poszczególnych podprocesów

Zakładka Operators – zawierająca pogrupowane w postaci drzewa różne typy operatorów

które można wykorzystać w procesie budowy projektu

Zakładka Parameters – zestaw parametrów konfiguracyjnych dla wybranego operatora

Zakładka Repositories – repozytorium projektów pogrupowane w strukturę katalogów.

Aplikacja pozwala na definiowanie nowych własnych repozytoriów np. repozytorium

sieciowego, dzięki czemu możliwy jest zdalny dostęp oraz wieloosobowa praca nad

wspólnym projektem

Zakładka Help – zawiera pomoc dla aktualnie wybranego operatora, wraz z definicją jego

parametrów i portów

Widok edycji procesu Widok wyników Zestaw ikon związany z

uruchomieniem/zatrzymanie

m procesu eksploracji danych

Zestaw ikon

podstawowych

Rys. 5 Widok zakładek programu RapidMiner. a) Zakładka Operators b) Zakładka Tree c) Zakładka

Repositories, d) Zakładka Help e) Zakładka Parameters, f) Zakładka Process

Podstawową koncepcją budowy aplikacji analizy danych w RapidMiner jest Operator, czyli bloczek

odpowiedzialny za odpowiednie przekształcanie danych. Każdy z operatorów używanych w

programie RapidMiner (RM) charakteryzuje się zestawem portów wejściowych, wyjściowych oraz

parametrów. Porty wejściowe znajdują się zawsze po lewej stronie wybranego operatora w widoku

Process. Po jego prawej stronie znajdują się porty wyjściowe, natomiast zestaw parametrów

operatora wyświetlany jest w zakładce Parameters. Przykładowy operator przedstawia Rys. 6

Rys. 6 Pzykładowy operator wraz z zestawem parametrów

Dodatkowo każdy operator zawiera ikonę statusu informująca kolorem wykryte błędy lub

nieprawidłowości związane z konfiguracją operatora.

Pierwszy program

Pierwszym etapem procesu analizy danych jest wczytanie danych, w tym celu w zakładce Operators

wybieramy kolejno: Import -> Data -> Read CSV i metodą przeciągnij i upuść wprowadzamy wybrany

operator do widoku procesu. Następnie z zakładki Parameters wybieramy Import wizard i

postępujemy zgodnie z podanymi instrukcjami, czyli

1) Wskazujemy dokument zawierający dane i wybieramy polecenie Next

2) Wybieramy i zaznaczamy dane, które chcemy wczytać do programu RM

3) Dokonujemy adnotacji danych np. wskazując, które wiersze arkusza zawierają nazwy kolumn,

które stanowią komentarz, a które zawierają dane

Port wejściowy

Porty wyjściowy

Zestaw parametrów operatora

Ikona statusu operatora

4) Najważniejszy jest ostatni krok, gdyż w nim dokonujemy definiowania szczegółów

poszczególnych atrybutów np. wybierając typ atrybutu. Przykładowo czy ma to być atrybut

nominalny – symboliczny, czy też atrybut rzeczywisty, bądź też zawiera on inny typ danych

jak tekst lub datę. Ponadto konieczne jest zdefiniowanie przeznaczenia atrybutu tzn. czy jest

on etykietą, wagą itp., czy też jest to typowy atrybut (atrybut regularny). Zakończenie tego

etapu spowoduje skonfigurowanie bloczka, jednak dane nie zostaną jeszcze wczytane.

Name oznacza że dany

wiersz należy traktować

jako Nazwę kolum

- oznacza że dany wiersz

należy traktować jako

zwykły zestaw danych

Nazwa atrybutu

Typ danych

Przeznaczenie danych, tzw.

rola

Dane

Po zakończeniu procesu konfiguracji należy podłączyć wyjście operatora z wyjściem całości systemu.

Realizuje się to poprzez koncepcję przeciągnij i upuść, wybierając dany port wyjściowy i podłączając

go do portu wejściowego kolejnego operatora lub na wyjście całości procesu.

Rys. 7 Widok operatora i jego podłączenie do sieci

W następnym kroku należy wydać polecenie Run process lub wcisnąć klawisz F11. W wyniku tego

proces obliczeniowy zostanie uruchomiony, a wynik zostanie dostarczony na domyślne wyjście

systemu. Teraz w zależności od konfiguracji systemu, albo zostaniemy automatycznie przekierowani

do widoku wyników, albo też trzeba to zrobić ręcznie wybierając odpowiednią ikonę (patrz Rys. 4).

Na chwilę obecną wynikiem działania systemu będzie wczytanie zbioru danych i możliwość ich

podglądu. Jednocześnie pojawiają się dwie dodatkowe zakładki – Results Overview, zawierająca

krótkie podsumowanie informacji o wynikach oraz zakładki ExampleSet zawierającej informacje o

wczytanych danych (Rys. 8).

Rys. 8. Wynik wczytania zbioru danych German-Credit

Podstawowy podgląd zbioru danych (w środowisku RapidMiner zbiór danych nosi nazwę ExampleSet)

przedstawia informacje zbiorcze o atrybutach w tym:

Listing atrybutów i przypisanych im roli

Nazwę atrybutu

Role atrybutów Nazwy atrybutów Typy atrybutów Statystyka atrybutów

Zakres atrybutów

Liczba wartości

brakujących

Przełączanie pomiędzy

sposobami podglądu

danych

Typ atrybutu, zawierający informacje o typie danych związanych z danym atrybutem

(ilościowe – Numeric, Polynominal – zmienna symboliczna o wielu symbolach, Integer –

zmienna liczbowa typu integer)

Podstawowe statystyki związane z atrybutem typu średnia, odchylenie standardowe (dla

atrybutów ciągłych), moda, najmniej prawdopodobna pozycja (dla atrybutów

symbolicznych).

Zakres atrybutu, dla zmiennych ciągłych jest to przedział zmienności funkcji, a dla zmiennych

symbolicznych – częstości występowania poszczególnych wartości

Możliwe jest również przełączenie się do innego typu podglądu danych. Do wyboru są: Meta Data

View – Podgląd meta danych (domyślny, omówiony powyżej), Data View – bezpośredni podgląd

danych, Plot View – podgląd danych w postaci wykresów oraz Annotations – podgląd notatek

podpiętych do zbioru danych.

Przełączając się do widoku danych (Data View) uzyskujemy wgląd bezpośrednio do zbioru danych.

Przedstawia to rysunek

Rys. 9

Rys. 9 Bezpośredni podgląd danych

Jedyną dodatkową informacją zawartą w tym widoku jest informacja o numerze wiersza. Jest to

identyczny widok w stosunku do widoku w programie MS Excel, gdzie poszczególne wiersze

przedstawiają opis pojedynczych przypadków – tutaj kredytobiorców, natomiast kolumny

reprezentują poszczególne atrybuty.

Kolejna z form widoku danych jest widok w postaci wykresów (Plot View). RM oferuje ich ponad 30

w tym zarówno wykresy 2D jak i 3D oferując przy tym różne formy wizualizacji jak wykresy

równoległe, rozkład funkcji gęstości prawdopodobieństwa itp. Dodatkowo RM dostarcza narzędzi do

redukcji wymiarowości i wizualizacji danych wielowymiarowych. W tym celu wykorzystuje się

algorytmu map samoorganizujących SOM. Przykładowy wykres przedstawia Rys. 10.

Rys. 10 Wizualizacja danych z wykorzystaniem wykresu punktowego 2D, gdzie dodatkowo trzeci wymiar

naniesiony jest w postaci barwy punktu.

Każda z osi ma możliwość niezależnej konfiguracji w postaci wyboru nazwy atrybutu

reprezentowanego dla danego wymiaru oraz koloru.

Zadania 1. Poproś prowadzącego o podanie zbiorów danych które należy pobrać

2. Wczytaj do programu RM dane z pliku simple_sin.csv (Uwaga podczas wczytywania nie

oznaczać żadnego wiersza jako nazwa kolumny. Nazwy kolumn zostaną określone

automatycznie)

3. Narysuj wykres pokazuj zależność atrybutów att2 od att1

4. Wczytaj drugi zbiór danych simple_cos.csv i podłącz obydwa pliki do wyjścia programu

5. Narysuj wykres jak w pkt 3 również dla drugiego zbioru danych

6. Wczytaj z repozytorium zbiór Iris (Samples->data->Iris)

7. Przyjrzyj się danym z obydwu zbiorów korzystając z zakładki Data View i Meta Data Viev

Określ:

liczbę wektorów w każdym ze zbiorów

liczbę atrybutów

typ danych każdego z atrybutów w każdym zbiorze

zakres zmienności poszczególnych zmiennych (w jakim przedziale one

występują)

w przypadku zbioru Iris zwróć uwagę, że na role poszczególnych atrybutów

8. Dodaj operator umożliwiający selekcję atrybutów, służy do tego

Następnie podłącz go do zbioru Iris i spróbuj odfiltrować atrybuty a3 i a4 (zwróć uwagę na

typ filtrowania ). Wyjście podłącz do wyjścia procesu. Przeanalizuj uzyskane wyniki. Zwróć

uwagę na liczbę atrybutów w zbiorze wyjściowym. Co odróżnia atrybuty id i label od

pozostałych, że nie zostały odfiltorwane (UWAGA można wymusić ich usunięcie poprzez

zaznaczenie opcji Include special attributes, jednak proszę obecnie jej nie włączać)

UWAGA: tak utworzony zbiór danych pod odfiltrowaniu będzie nazywany poniżej jako zbiór1

9. Dołącz drugi filtr atrybutów (równolegle do pierwszego) i dokonaj jego konfiguracji tak aby

odfiltorwały się jedynie atrybuty a1 oraz id (UWAGA należy włączyć opcję Include special

attributes). Sprwdź poprawność uzyskanych wyników.

UWAGA: Dodanie drugiego operatora selekcji atrybutów równolegle do pierwszego będzie

wymagało podłączenia tego samego zbioru do kilku operatorów, RapidMiner domyślnie nie

pozwala na takie rozwiązanie, gdyż z jednego portu wyjściowego może wychodzić tylko jedno

połączenie. Aby uzyskac wymagany efekt wymagane jest zastosowanie operatora Multiply.

Doda się on automatycznie jeśli podczas podłączania nowego operatora wciśniemy ikonkę

która pojawi się przy porcie wejściowym

UWAGA: tak utworzony zbiór danych pod odfiltrowaniu będzie nazywany poniżej jako zbiór2

10. Ze zbiór2 wybierz tylko te wektory, które dla atrybutu a1 są w przedziale 4.5 < a1 < 6. Do tego

celu wykorzystaj operator Filter Examples

UWAGA: w celu wykonania tego zadania ustaw conditiion class na attribute value filter.

Warunki filtru przyjumją postać nazwa_atrybutu operator wartość, gdzie operator to np.

symbole >,<,=,>=,<= itp. Warunki można łączyć za pomocą symboli && oraz || czyli

odpowiednio logiczne i oraz logiczne lub.

Określ liczbę wektorów po odfiltrowaniu

11. Ze zbiór1 wylosuj 120 wektorów. Do tego zadania wykorzystaj operator Sample

Sprawdź w wynikach poprawność wykonanej operacji

12. Połącz obydwa zbiory danych: zbiór1 oraz zbiór2 korzystając z operatora Join

Jak wpływa parametr join type na uzyskane wyniki?

13. Ustaw parametr join type na right i podłącz zbiór wyjściowy na wyjście procesu. Sprawdź jak

RM potraktował brakujące wartości – jak je oznaczył

14. Odfiltruj brakujące wartości stosując operator Filter Examples ustawijąc jego opcje na

no_missing_attributes

15. Zmień nazwę atrybutu Label na etykieta. W tym celu wykorzystaj operator

16. Zmień nazwy zmiennych a1,a3,a4 na zmienna1, zmienna3, zmienna4 w tym celu wykorzystaj

operator Rename by Replacing

17. Często spotykanym problemem jest, aby określona zmienna przyjmowała wartości z

określonego przedziału, zwykle [0-1] tzw normalizacja. Powyższe można zrealizować

korzystając z operatora Normalize

Dokonaj normalizacji zmiennej zmienna3 ustawiając jego parametry na Method: Range

transform Dokonaj normalizacji atrybutu zmienna1.

18. Dla danych wczytanych w punkcie 2 do 5 zwróć uwagę na to, na kolumnę att1 w obydwu

zbiorach. Co można o niej powiedzieć?

19. Dokonaj połączenia obydwu zbiorów danych w jeden, w którym będą wszystkie ze

wspomnianych kolumn. Podobnie jak wyżej wykorzystaj operator Join. Uwaga do operator

Join wymaga aby każdy ze zbiorów danych posiadał odpowiednie klucze. W naszym

przypadku chcemy aby istniała relacja 1 do 1, w związku z powyższym, stosując nomenklaturę

baz danych konieczne jest połączenie kluczy własnych. Do ich oznaczenia służą role

atrybutów. Atrybut którego rolą jest ID stanowi klucz własny dla danego zbioru danych. Aby

więc móc połączyć obydwa zbiory danych zdefiniuj odpowiednie atrybuty jako klucze własne

nadając im rolę ID z wykorzystaniem operatora Set Role

Atrybuty mogą mieć też inne role (np. Label, Prediction, Outlier, Weight itp), ale poznasz je

na kolejnych zajęciach.

Po zdefiniowaniu odpowiednich ról, konieczna jest zmina nazwy atrybutu att2 w jednym ze

zbiorów, tak aby nie doszło do konfliktu nazw atrybutów (np. na att3), możesz tego dokonać

za pomocą operatora Rename, na koniec dodaj operator Join i połącz obydwa zbiory danych.

Jako wynik pokaż wykres reprezentujący zależność att2 – att3

20. Stwórz nowy proces. Stary zapisz w repozytorium pod nazwą Wstęp

21. Wczytaj zbiór iris z repozytorium. Dokonaj normalizacji zmiennej a3, a następnie dla tej

zmiennej zastąp wszystkie wartości z przedziału 0.3 do 0.7 na 0. W tym celu po normalizacji:

Odfiltruj wszystkie wektory, które spełniają określone kryterium korzystając z Filter

examples

Dodaj operator pętli iterującej po wektorach: Loop Examples

UWAGA: operator Loop Examples posiada specjalną właściwość, którą jest możliwość

tworzenia podprocesu. Tworzenie podprocesu możliwe jest po dwukrotnym

kliknieciu tego operatora, wówczas wchodzimy do nowego okna umożlwiającego

jego stworzenie. Drugą cechą operatora Loop examples jest wykorzystanie koncepcji

makr. Makra są odpowiednikiem zmiennych w programie komputerowym. Operator

Loop examples realizuje swoje zadanie poprzez zmianę wartości makra o nazwie

example. Aby z jego pomocą dokonać modyfikacji wartości należy dodać w

podprocesie operator Set Data umożliwiający edycję danych w zbiorze

Następnie ustawić odpowiednią wartość attribute name, oraz value wg. założeń

zadania. Z makra korzystamy ustawiając w miejscu example index wskaźnika

nakazującego odczytanie indeksu wektora z wyżej wspomnianego makra poprzez

wstawienie %{nazwa_makra}, czyli %{example}

Wyjście operatora Set data podpinamy do wyjścia exa podprocesu

Zaobserwuj, że obecnie na wyjściu z programu w miejscu atrybutu a3 występują tylko

0. Obecnie należy więc podmienić wektory z oryginalnego zbioru danych na wektory

poddane uzyskane w wyniku modyfikacji.

W tym celu zastosuj ponownie filtr wektorów Filter Examples dla oryginalnego zbioru

danych po normalizacji, zaznaczając opcję Invert filter, dzięki czamu uzyskasz zbiór

pozostałych wektorów, czyli takich dla których wartości atrybut a3 są mniejsze

(mniejsze równe) od 0.3 oraz większe (większe równe) od 0.7

Połącz obydwa zbiory danych korzystając z operatora Append

Na koniec laboratorium stwórz sprawozdanie odnosząc się do każdego z punktów pokazując

odpowiednio do problemu konfiguracje operatora, uzyskane wyniki lub odpowiadając na zadane

pytanie.