Wprowadzenie do programu RapidMiner, częśd 1 Michał Bereta www.michalbereta.pl. Program RapidMiner (RM) ma trzy główne widoki (perspektywy):



Podobne dokumenty
Data Mining z wykorzystaniem programu Rapid Miner

Testowanie modeli predykcyjnych

Wprowadzenie do programu RapidMiner Studio 7.6, część 4 Michał Bereta

Porównanie systemów automatycznej generacji reguł działających w oparciu o algorytm sekwencyjnego pokrywania oraz drzewa decyzji

Konfiguracja programu

Wybór / ocena atrybutów na podstawie oceny jakości działania wybranego klasyfikatora.

Wprowadzenie do programu RapidMiner, część 4 Michał Bereta

Wprowadzenie do programu RapidMiner, część 2 Michał Bereta 1. Wykorzystanie wykresu ROC do porównania modeli klasyfikatorów

INSTRUKCJA OTWIERANIA PLIKU DPT (data point table)

1. Cele eksploracyjnej analizy danych Rapid Miner zasady pracy i wizualizacja danych Oracle Data Miner -zasady pracy.

Zadanie 1. Tworzenie nowej "strony sieci WEB". Będziemy korzystad ze stron w technologii ASP.NET.

Program Qmak Podręcznik użytkownika

Elementy modelowania matematycznego

Moduł Handlowo-Magazynowy Przeprowadzanie inwentaryzacji z użyciem kolektorów danych

System imed24 Instrukcja Moduł Analizy i raporty

Eksploracja danych w środowisku R

Instrukcja do zdjęć. Instrukcja krok po kroku umieszczania zdjęd na aukcji bez ograniczeo. MD-future.

PODRĘCZNIK UŻYTKOWNIKA PEŁNA KSIĘGOWOŚĆ. Płatności

Klasyfikacja i regresja Wstęp do środowiska Weka

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

Zawartość. Wstęp. Moduł Rozbiórki. Wstęp Instalacja Konfiguracja Uruchomienie i praca z raportem... 6

Laboratorium 4. Naiwny klasyfikator Bayesa.

Dopasowywanie czasu dla poszczególnych zasobów

1. Wprowadzenie do oprogramowania gretl. Wprowadzanie danych.

POZIOM DOŚWIADCZONY CZĘŚĆ III

Tytuł: Jak stworzyd krzywe do symulacji NIBP ( O Curve ) dla Rigel BP-SIM i UNI-SIM.

Tworzenie i modyfikowanie wykresów

Text mining w programie RapidMiner Michał Bereta

Przed rozpoczęciem pracy otwórz nowy plik (Ctrl +N) wykorzystując szablon acadiso.dwt

Opis konfiguracji ST do współpracy z kolektorem DENSO BHT 8000

WEKA klasyfikacja z użyciem sztucznych sieci neuronowych

Bazy danych raporty. 1. Przekopiuj na dysk F:\ bazę M5BIB.mdb z dysku wskazanego przez prowadzącego.

EXCEL. Diagramy i wykresy w arkuszu lekcja numer 6. Instrukcja. dla Gimnazjum 36 - Ryszard Rogacz Strona 20

Aby zastosowad tabelę przestawną należy wybrad dowolną komórkę w arkuszu i z menu Wstawianie wybierz opcję Tabela Przestawna.

WIZUALIZER 3D APLIKACJA DOBORU KOSTKI BRUKOWEJ. Instrukcja obsługi aplikacji

INSTRUKCJA IMPORTU PRODUKTÓW DO SKLEPU

Zajęcia nr VII poznajemy Rattle i pakiet R.

Zadanie Wstaw wykres i dokonaj jego edycji dla poniższych danych. 8a 3,54 8b 5,25 8c 4,21 8d 4,85

Rys.1. Technika zestawiania części za pomocą polecenia WSTAWIAJĄCE (insert)

Laboratorium 6. Indukcja drzew decyzyjnych.

Nagrywamy podcasty program Audacity

Uruchom polecenie z menu Wstaw Wykres lub ikonę Kreator wykresów na Standardowym pasku narzędzi.

Nowa płatność Dodaj nową płatność. Wybierz: Płatności > Transakcje > Nowa płatność

Kadry Optivum, Płace Optivum

Import danych z plików CSV

WIZUALIZER 3D APLIKACJA DOBORU KOSTKI BRUKOWEJ. Instrukcja obsługi aplikacji

Baza danych. Program: Access 2007

Tworzenie tabeli przestawnej krok po kroku

Usługi Informatyczne "SZANSA" - Gabriela Ciszyńska-Matuszek ul. Świerkowa 25, Bielsko-Biała

Podstawy grupowania danych w programie RapidMiner Michał Bereta

Podręcznik Użytkownika 360 Księgowość Projekty i centra kosztów

Bioinformatyka. Program UGENE

Ćwiczenia nr 4. Arkusz kalkulacyjny i programy do obliczeń statystycznych

Temat zajęć: ANALIZA DANYCH ZBIORU EKSPORT. Część I: analiza regresji

Twoja ulotka instrukcja obsługi programu


1 Wstęp. 2 Uruchomienie programu

Sky-Shop.pl. Poradnik. Pierwsze kroki: Importowanie własnego pliku XML Integracje z hurtowniami

Tworzenie menu i authoring w programie DVDStyler

Moduł Handlowo-Magazynowy Zaawansowane analizy sprzedaży i zakupu

Instrukcja użytkowania

Księgowość Optivum. Jak wykonać eksport danych z programu Księgowość Optivum do SIO?

Finanse. Jak wykonać import listy płac z programu Płace Optivum do aplikacji Finanse?

Ćwiczenie 12. Metody eksploracji danych

Spis treści Szybki start... 4 Podstawowe informacje opis okien... 6 Tworzenie, zapisywanie oraz otwieranie pliku... 23

Przewodnik... Tworzenie ankiet

Jak pobrad mapę z PK? Na stronie Pucharu Warszawy i Mazowsza w RJnO 2019 należy odszukad interesujący nas etap:

MobiReg nowoczesny dziennik internetowy. Ocena opisowa

Jeśli wcześniej było wybierane połączenie z bazą danych w oknie Połączenia pokaże się jego nazwa, jeśli nie należy dodad Nowe połączenie.

Lekcja 1: Origin GUI GUI to Graficzny interfejs użytkownika (ang. GraphicalUserInterface) często nazywany też środowiskiem graficznym

Po naciśnięciu przycisku Dalej pojawi się okienko jak poniżej,

Podstawowe informacje potrzebne do szybkiego uruchomienia e-sklepu

Podręcznik użytkownika. Instrukcje

Rys. 1 Okno startowe programu RapidMiner

Instrukcja użytkownika. Aplikacja dla Comarch ERP XL

Palety by CTI. Instrukcja

Numeracja dla rejestrów zewnętrznych

Instalacja programu:

INSTRUKCJA INSTALACJI APLIKACJI PROF- EAN 2

Dane w poniższej tabeli przedstawiają sprzedaż w dolarach i sztukach oraz marżę wyrażoną w dolarach dla:

Prawdopodobieństwo czerwonych = = 0.33

Instrukcja instalacji systemu

To narzędzie służy do umieszczania w postach filmów z takich portali jak: YouTube, Vimeo, Google Video, Metacafe, DailyMotion i wiele innych.

Podstawowa konfiguracja modułu Szkolenia

Jak utworzyć plik SIO dla aktualnego spisu?

Edytor materiału nauczania

System obsługi wag suwnicowych

Instrukcja konfigurowania sieci WiFi w Akademii Leona Koźmioskiego dla telefonów komórkowych z systemem Bada

Qtiplot. dr Magdalena Posiadała-Zezula

WEKA klasyfikacja z użyciem sztucznych sieci neuronowych

Edytor tekstu OpenOffice Writer Podstawy

MobiReg nowoczesny dziennik internetowy.

Instrukcja obsługi programu Do-Exp

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Tworzenie pliku źródłowego w aplikacji POLTAX2B.

PROTEKTOR Instrukcja Obsługi

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18

SIMULINK 2. Lekcja tworzenia czytelnych modeli

Integracja programów LeftHand z systemem Skanuj.to

Transkrypt:

Wprowadzenie do programu RapidMiner, częśd 1 Michał Bereta www.michalbereta.pl Program Rapid Miner jest dostępny na stronie: http://rapid-i.com/ Korzystamy z bezpłatnej wersji RapidMiner Community Edition. Zalecane jest obejrzenie video tutorialów: http://rapid-i.com/content/view/189/212 1. Wstęp wczytywanie i wizualizacja danych Program RapidMiner (RM) ma trzy główne widoki (perspektywy): 1

W widoku projektu zakładamy nowe repozytorium. Będą tam zapisywane nasze dane, projekty oraz wyniki. 2

Następnie tworzymy nowy proces (crtl +N, File->New Process lub z widoku powitalnego) Importujemy dane. Przeciągnij jeden z dostępnych operatorów dla formatu ARFF: Wybierz plik dla bazy danych irysów iris.arff. Jeśli plik nie może byd odnaleziony w miejscu instalacji RM, pobierz dane ze strony przedmiotu. 3

Żółta ikona sygnalizuje, że proces nie został jeszcze wykonany. Uruchom proces: Zachowaj projekt w repozytorium. Mimo informacji, że żadne wyniki nie zostały wygenerowane, przejdź do widoku wyników. 4

Zakładka Meta Data View przedstawia streszczenie wszystkich danych i podstawowe statystyki. Można tu odczytad, że każdy obiekt opisany jest pięcioma atrybutami. Są to: sepallength, sepalwidth, petallength, petalwidth oraz class. Atrybut class wskazuje, do której klasy należy dany przykład. Widad, że są trzy klasy: Iris-setosa, Iris-versicolor, Iris-virginica. Z każdej klasy mamy po 50 przykładów. Upewnij się, że rozumiesz co przedstawia każda kolumna. Role = regular oznacza, że atrybut nie został wyszczególniony jako np. etykieta klasy lub id obiektu. Czasami informacja o tym, który atrybut pełni rolę etykiety klasy jest zapisana pliku z danymi (w przypadku niektórych formatów zapisu danych). W innych przypadkach należy samodzielnie wskazad, który atrybut wskazuje na etykietę klasy. W zakładce Data View można dokładnie obejrzed wartości atrybutów opisujących każdy z przykładów. Numer wiersza (Row No.) nie jest atrybutem. 5

Dzięki zakładce Plot View możemy poddad dane wnikliwej wizualnej analizie za pomocą różnego typu wykresów. Każda oś może wskazad na wybrany atrybut. Kolor dobrze jest ustawid na atrybut opisujący etykietę klasy. Wtedy każda klasa ma swój kolor, jak na rysunku powyżej. Widad, że jedynie dwa wybrane atrybuty, przy całkowitym pominięciu pozostałych, nie pozwalają na łatwe oddzielenie wszystkich trzech klas od siebie. Stosunkowo łatwo jest oddzielid klasę Iris-setosa (kolor niebieski), lecz nie pozostałe dwie od siebie. Jak sprawdzid czy inne dwa wybrane atrybuty pozwalają lepiej lub gorzej oddzielid od siebie klasy? Można po kolei sprawdzad wszystkie pary atrybutów, lecz lepiej skorzystad z wykresu Scatter Matrix, przedstawiającego wszystkie pary jednocześnie. 6

Jak widad, żadne dwie pary atrybutów nie gwarantują rozdzielenia wszystkich klas. Dostępne są również analogiczne wykresy w 3D: 7

Przykładowym innym rodzajem wykresu jest Bubble. Wartośd trzeciego wybranego atrybutu jest przedstawiona jako wielkośd koła reprezentującego dany przykład. Z wykresu poniżej widad, że przykłady z klasy Iris-setosa mają stosunkowo małe wartości atrybutu petallength, gdyż niebieskie koła są niewielkich rozmiarów. Inny przykład to typowy Pie. Poniżej przykład prezentujący średnie wartości atrybutu petallength w każdej klasie. 8

Bardzo przydatny w analizie jest histogram, prezentujący częstości występowanie wartości z danego zakresu. Lub też z wykorzystaniem podziału na klasy Histogram color : 9

Ciągłym odpowiednikiem histogramu jest wykres rozkładu gęstości prawdopodobieostwa. Może on również sugerowad, które atrybuty lepiej nadają się do rozróżniania klas (porównaj dwa poniższe wykresy). Inny przykład to wykres Quartile color tzw. wykres pudełkowy (box plot). 10

Bardzo dobrym rodzajem wykresu jest Parallel, który jest w stanie zaprezentowad wysoko wymiarowe dane każdy atrybut ma przydzieloną jedną pionową oś. Z poniższego widad, że atrybutem, który jest najbardziej obiecujący jeśli chodzi o odzielenie klas jest petallength w zupełności wystarczy on do oddzielenia klasy Iris-setosa. Najmniej przydatny wydaje się byd atrybut sepalwidth. Nie znaczy to jednak, że nie jest on przydatny, gdyż w tej chwili mówimy jedynie o każdym atrybucie z osobna. W czterech wymiarach może to jednak wyglądad inaczej (ciężko to sobie jednak wyobrazid). 11

Bardziej przejrzysty może byd czasami wykres Deviation. Poniżej widad średnie wartości każdego z atrybutów wraz z odchyleniem standardowym przedstawionym jako zacieniony obszar. Może on sugerowad, że dwa najlepsze atrybuty do przedstawienia danych to petalwidth i petallength, co widad na poniższym scatter plot. 12

Powyższy wykres jest dużo lepszy (w sensie oddzielenia klas) niż to co widad poniżej: 13

Zadanie: Wczytaj plik z danymi sonar.aml. Zawiera ona dane z pomiarów mających za zadanie wykryd, czy dany obiekt należy do klasy rock czy też mine. Przeanalizuj meta-dane ile jest atrybutów, klas, itd. Poniższy wykres pokazuje, że żadne dwa atrybuty nie oddzielają dobrze klas. Ciężko nawet wskazad, które nadają się chod trochę lepiej niż inne. Inny rodzaj wykresu może byd bardziej pomocny. Widad jednak, że problem jest trudniejszy niż w przypadku zbioru iris. 14

Na tym przykładzie widad, że wykres Deviation jest zdecydowanie bardziej przejrzysty niż Parallel. Widad na nim (poniżej), że niektóre atrybuty przynajmniej sugerują większą użytecznośd w oddzielaniu klas. Z poniższego wykresu wynika, że atrybut 26-ty zdaje się nie wnosid praktycznie nic do procesu dyskryminacji. 15

16

2. Tworzenie prostego klasyfikatora Stwórz nowy proces i wczytaj dane iris. Wyszukaj operator Decision Tree (pomocny jest przy tym filtr, jak widad poniżej). Przeciągnij i upuśd go na istniejącym linku. 17

Jak widad powyżej drzewo decyzyjne będzie utworzone na podstawie przekazanych mu na wejście danych, a utworzony model (wyjście mod) zostanie przekazane jako rezultat (res na prawej brzegu). Jeśli chcesz obejrzed wczytane dane zanim zacznie się indukcja drzewa, ustaw breakpoint z menu kontekstowego na ikonie wczytywania danych. 18

Uruchom proces: Jako pierwszy wynik zobaczyd można wczytane dane. Jeśli był ustawiony break point, należy kontynuowad proces (niebieski trójkąt jeszcze raz jak powyżej). Jako wynik dostaniemy model drzewa decyzyjnego. Powyższe drzewo zależy od ustawieo pewnych parametrów. Wród do widoku projektu, zaznacz ikonę drzewa i po prawej przeanalizuj dostępne parametry: 19

Niektóre operatory mają również tzw. expert mode, gdzie dostępnych jest więcej parametrów: Aby przetestowad nasze drzewo decyzyjne (sprawdzid jak klasyfikuje dane) potrzebny jest operator Apply Model : 20

Umieśd go w projekcie jak poniżej: Czerwona dioda sygnalizuje problem. Tutaj: brak danych, które mają byd klasyfikowane przez model. Jeśli połączymy jak poniżej, nasze drzewo spróbuje klasyfikowad te same dane, na podstawie których było utworzone. Jednocześnie chcemy przekazad lab z Apply Model (od label, czyli wyniki klasyfikacji) do res. Uruchom ponownie proces. W wynikach można odnaleźd kolumnę prediction. Porównaj z kolumną labe l, czyli poprawnymi odpowiedziami. Widad, że w niektórych przypadkach odpowiedź nie jest poprawna (dlaczego?) 21

Aby uzyskad podsumowanie jakości tej klasyfikacji możemy użyd operatora Performance i podłączyd go jak poniżej. Uruchom ponownie proces. W widoku wyniki otrzymaliśmy zakładkę Performance vector. Ogólna jakośd klasyfikacji wyrażona jest przez accuracy. Co oznaczają class recall oraz class precision? W wynikach powyższego procesu nie ma już szczegółów odnośnie nadanych etykiet jak poprzednio. Jest tak dlatego, że lab ( labelled data ) z Apply Model jest teraz połączony z lab operatora 22

Performance. Nie możemy bezpośrednio połączyd lab z Apply Model do obu jednocześnie. Jeśli chcemy uzyskad szczegółowe informacje o klasyfikacji, możemy użyd operatora Multiply, który duplikuje przekazane mu na wejściu dane. W powyższym doświadczeniu testowaliśmy nasze drzewo decyzyjne na tych samych danych, na podstawie których było ono utworzone. To nie daje dobrego wyobrażenia o powstałym modelu, taka ocena zawsze będzie optymistyczna. Należy użyd danych testowych oddzielnych od zbioru treningowego. 23

3. Tworzenie i testowanie klasyfikatora na podstawie odrębnych zbiorów danych. W najprostszy sposób można wykorzystad operator Split Data Należy ustalid jaki podział danych ma byd wygenerowany. Dwukrotnie kliknij Add Entry i wpisz poniższe wartości. Oznaczają one, że planujemy przeznaczyd losowe 60% przykładów na trening a pozostałe 40% na testowanie (wartości muszą sumowad się do 1). 24

Na poniższym schemacie widad, że do trenowania używamy pierwszej części danych wygenerowanej przez operator Split Data a do operatora Apply Model (czyli do testowania) przekazujemy drugą częśd. Uruchom powyższy proces i przeanalizuj wyniki. Poniżej widad, że do testowania nie została użyta cała baza iris. Zadanie: Jak przedstawid wyniki predykcji zarówno dla danych testowych jak i trenujących? Czy poniższy schemat jest poprawny? Zwród uwagę na koniecznośd duplikowania zbioru trenującego oraz drzewa. 25

Jak widad sprawa się trochę komplikuje. Aby wstępnie przetestowad dany model na zbiorze danych, można użyd operatora Split Validation, który samodzielnie podzieli dane na zbiór trenujący i testowy. 26

Operator ten jest tzw. Building block. Nazwijmy go podprocesem. Kliknij dwukrotnie: W ustawieniach podprocesu należy ustalid szczegóły dwóch jego faz: treningu i testowania. W fazie trenowania chcemy użyd drzewa decyzyjnego: 27

W fazie testowania musimy użyd operatora Apply Model oraz sprawdzid jakośd klasyfikacji operatorem Performance. Należy jeszcze ustalid szczegóły losowego podziału na zbiór trenujacy i testowy: Co oznacza split ratio możemy sprawdzid w pomocy poniżej: Aby powrócid do projektu głównego procesu, naciśnij : 28

Aby po uruchomieniu procesu zobaczyd streszczenie jakości klasyfikacji dla danych testowych należy jeszcze połączyd ave z res. Jeśli chcesz zobaczyd również powstałe drzewo, musisz połaczyd również mod do res : Uruchom proces i przeanalizuj wyniki. 29

30

4. Ocena jakości klasyfikatora za pomocą kroswalidacji Aby ocenid jakośd działania klasyfikatora, często lepszym rozwiązaniem jest stosowanie kroswalidacji zamiast jednego podziału na zbiór trenujący i testowy. Domyślnie używana jest jest 10-ciokrotna kroswalidacja, tzn. dane są dzielone na 10 części i proces uczenia powtarzany jest 10-cio krotnie dla każdej części wykorzystanej jako dane testowe (nie biorące udział w procesie tworzenia modelu). Wyniki z dziesięciu prób są uśredniane i wykorzystane jako ocena jakości modelu. Otrzymamy: Widoczny powyżej operator walidacji jest podprocesem. Na poniższym rysunku widad, że domyślnie użyte jest drzewo decyzyjne. Można go jednak usunąd i zastąpid innym klasyfikatorem. 31

Domyślnie (poniżej) kros walidacja jest 10-krotna. Skrajnym przypadkiem jest leave one out gdzie każdy przykład jest kolejno użyty jako jednoelementowy zbiór testowy a pozostałe jako zbiór trenujący. Wymaga to dużego nakładu obliczeo (proces tworzenia klasyfikatora należy powtórzyd tyle razy ile mamy przykładów). Po uruchomieniu: 32

Zadanie: Jak porównad za pomocą kroswalidacji, który model lepiej nadaje się jako klasyfikator w konkretnym przypadku? Przykładowo, porównaj drzewo decyzyjne z naiwnym klasyfikatorem Bayesa. Zaprojektuj poniższy proces (zwród uwagę, że z poziomu menu kontekstowego można zmienid nazwy instancji operatorów na np. Validation drzewo oraz Validation Bayes ). 33

Po uruchomieniu, dla drzewa otrzymujamy: a dla naiwnego Bayesa: Wynika z tego, że lepszy tutaj mógłby byd klasyfikator naiwnego Bayesa. Zagadnienie, czy różnica między nimi jest istotna, zostawimy na inną okazję. Zadanie: Wykonaj powyższe porównanie dla zbioru sonar (Uwaga: jako że dane sonar są dużo większe niż iris, obliczenia będą trwad dłużej). Przykładowe wyniki: Dla Decision Tree : Dla Naive Bayes : 34

Zwród uwagę, że mimo iż accuracy jest w obu przypadkach zbliżone, to jednak class recall oraz class precision bardzo się różnią. Może to mied znaczenie jeśli zależy nam np. na minimalizacji błędów danego typu. Np. w wykrywaniu klasy Rock większą precyzję (tzn. jest mało fałszywych wykryd Mine jako Rock ) ma drzewo (68.67% w porównaniu do 61.54% dla naiwnego Bayesa), ale jeśli chodzi o to ile obiektów Rock ze wszystkich takich obiektów jest wykrytych to lepszy jest naiwny Bayes (82.47% w porównaniu do 58.76% dla drzewa). Zadanie: Wybrany zbiór danych podziel na dwie części w zadanej proporcji za pomocą operatora Split Data. Następnie zapisz każdą cześd do osobnego pliku.csv za pomocą operatora Write CSV. Używaj przecinka jako separatora w plikach csv. Zadanie: Poprzednie zadanie wykonaj z dodatkowym krokiem: z drugiego zbioru usuo kolumnę (atrybut) zawierający informację o klasie obiektu. Podpowiedź 1: Użyj operatora Select Attributes. Podpowiedź 2: Aby usunąd kolumnę z oznaczoną rolą jako label najpierw trzeba zmienid jej rolę. Użyj do tego operatora Set Role. 35

Podpowiedź: 36

Zadanie: Importowanie danych z plików csv. Mając dane w niektórych formatach, np. plikach csv, nie od razu wiadomo, jakie role mają poszczególne kolumny. Przeanalizujmy teraz następujący scenariusz. Dostajemy dwa pliki: train.csv oraz test.csv Jak widad są to pliki wygenerowane przez nas w poprzednim zadaniu, ale udawajmy, że ktoś dał nam zbiór danych trenujących ze znanymi etykietami klas dla przykładów oraz drugi plik bez informacji, do jakiej klasy należą przykłady w każdym wierszu. Naszym zadaniem jest dostarczyd takie odpowiedzi za pomocą drzewa decyzyjnego lub naiwnego Bayesa w zależności od tego, który z nich uznamy za lepszy. Jako odpowiedź mamy przekazad jedynie plik z odpowiedziami. 37

Zwród uwagę, że atrybut z kolumny id nie powinien byd wykorzystany do klasyfikacji ani podczas treningu ani podczas generowania odpowiedzi dla danych testowych. W tym zadaniu nie dowiemy się jak dobrze wypadły odpowiedzi dla danych testowych, gdyż ich nie mamy. Możemy jednak ocenid za pomocą kroswalidacji, który klasyfikator działa lepiej na danych trenujących. Kroswalidacja jest konieczna, gdyż nie możemy oceniad jakości klasyfikatora przez podstawienie tych samych danych (byłoby to zbyt optymistyczne). Krok 1 dodanie danych do repozytorium Przeciągnij i upuśd plik train.cvs na obszar localnego repozytorium w RM. Pojawi się okno dialogowe importu danych. Zmieo Column separation na przecinek (lub inny odpowiedni). Next 38

Możesz zmienid rolę atrybutu label z attribute na label by rzeczywiści pełniło rolę etykiety klasy. Podobnie można zmienid rolę kolumny id na id. (Proszę nie mylid nazwy kolumny z nazwą roli jaką ma odgrywad ta kolumna). Załóżmy jednak, że w tym przypadku tego nie zrobimy, by zilustrowad pewne zachowania RM w kolejnych krokach. 39

Zachowaj pod wybraną nazwą w repozytorium: 40

Można od razu obejrzed dane. W podobny sposób zaimportuj dane testowe z pliku test.csv. Krok 2. Wybór modelu - oszacowanie jakości klasyfikatorów na podstawie zbioru trenującego. Tworzymy nowy projekt, w którym porównamy jakośd działania drzewa decyzyjnego oraz naiwnego klasyfikatora Bayesa w tym konkretnym problemie. Z repozytorium przeciągamy train_data na obszar widoku projektu. Dodajemy operator kros walidacji. Jak pamiętamy jest to w RM tzw. building block. Dodaj Edit->NewBuildingBlock: Pozostaw domyślny klasyfikator drzewo decyzyjne. Zmieo nazwę operatora Performance na Performance drzewo. Poniżej widad, że jest pewien problem (czerwona dioda na operatorze Validation ): 41

RM podpowiada: Musimy zatem wskazad, który atrybut ma byd traktowany jako etykieta klasy (jako, że nie zrobiliśmy tego wcześniej). Skorzystaj z Quick bugfixes : Wybierz kolumnę o nazwie label. RM automatycznie doda operator SetRole. Nie chcemy używad atrybutu id jako nie wnoszącego nic do procesu dyskryminacji. Dodaj operator Select Attributes : 42

W ustawieniach tego operatora wybierz: Invert selection pozwala w prosty sposób użyd wszystkich atrybutów z wyjątkiem tego jednego. Dodaj jeszcze jeden operator kroswalidacji, jednak tym razem zmieo domyślne drzewo na operator naiwnego Bayesa. Zmieo nazwę operatora Performance na Performance Bayes. 43

Aby dane mogły byd przekazane do dwóch operatorów kroswalidacji, użyj operatora Multiply : Uruchom proces: Dla drzewa otrzymujemy: A dla naiwnego Bayesa: 44

Jak widad wartośd accuracy sugeruje, że lepiej w tym zadaniu sprawdza się naiwny Bayes. Należy jednak pamiętad, że nie musi tak byd dla innych danych. Inny zbiór trenujący mógłby dad inne wyniki. Jednak musimy podjąd decyzję na podstawie tego czym dysponujemy i dlatego decydujemy się na klasyfikator Bayesa. Warto jeszcze przypomnied, że niekiedy ważniejsze są inne parametry jak class recall czy class precision. Wspomniane to było przy okazji jednego z poprzednich przykładów. Krok 3: Po zdecydowaniu się na klasyfikator naiwnego Bayesa przystępujemy do kolejnego etapu. Tym razem przygotowujemy ostateczny klasyfikator wybranego typu na podstawie całego zbioru trenującego i sprawdzamy jego odpowiedzi dla danych ze zbioru testowego. Wygodnie jest stworzyd nowy projekt. Tym razem nie wykorzystujemy operatora kroswalidacji lecz od razu trenujemy klasyfikator Bayesa wykorzystując do tego cały zbiór trenujący. Poniższy schemat powinien byd już dośd oczywisty: wczytujemy dane trenujące z repozytorium, dokonujemy wyboru atrybutów (odrzucamy id ) i wskazujemy który atrybut powinien byd traktowany jako etykieta klasy (operator SetRole ). Następnie operator ApplyModel pozwala sprawdzid odpowiedź wytrenowanego klasyfikatora dla danych testowych. Zwród uwagę, że RM inteligentnie sam wybierze te atrybuty, które będą mus potrzebne podczas używania przykładów ze zbioru testowego (tzn. nie ma potrzeby stosowad operatora SelectAttribute dla danych testowych). W danych wynikowych widad, że dodane zostały kolumny prediction(label) oraz confidence dla każdej klasy. 45

Aby wyeksportowad dane do pliku csv najpierw wybieramy operatorem SelectAttribute jedynie kolumnę prediction i przekazujemy ją do WriteCSV. Zawartośd wygenerowanego pliku answers.csv: 46

Jak widad, RM traktuje kolumnę prediction jako powiązaną z kolumnami confindence. Niemniej jednak otrzymaliśmy jako ostateczny wynik naszego zadania klasyfikację dla każdego przykładu ze zbioru testowego. Zadanie: Wykonaj podobną analizę wyboru najlepszego modelu dla bazy sonar. 47