Eksploracja danych w środowisku R

Podobne dokumenty
ALGORYTM RANDOM FOREST

Zajęcia nr VII poznajemy Rattle i pakiet R.

Data Mining z wykorzystaniem programu Rapid Miner

ALGORYTMY SZTUCZNEJ INTELIGENCJI

Podstawy grupowania danych w programie RapidMiner Michał Bereta

Wprowadzenie do analizy dyskryminacyjnej

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

Prawdopodobieństwo czerwonych = = 0.33

Przykład Rezygnacja z usług operatora

Przestrzeń algorytmów klastrowania

CLUSTERING. Metody grupowania danych

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

Materiał dotyczy generowania różnego typu wykresów w środowisku R.

SYSTEMY UCZĄCE SIĘ WYKŁAD 3. DRZEWA DECYZYJNE. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Text mining w programie RapidMiner Michał Bereta

Informatyka, studia dzienne, inż I st. Inteligentna analiza danych 2010/2011 Prowadzący: dr inż. Arkadiusz Tomczyk środa, 8:30

Osadzanie playera Video CMS na Facebooku

1. Wprowadzenie do oprogramowania gretl. Wprowadzanie danych.

Metody wypełniania braków w danych ang. Missing values in data

Analiza skupień. Konspekt do zajęć: Statystyczne metody analizy danych. Agnieszka Nowak-Brzezińska 28 maja 2012

INSTRUKCJA UŻYTKOWNIKA. Wielkopolski system doradztwa. edukacyjno-zawodowego

Systemy uczące się wykład 2

Techniki grupowania danych w środowisku Matlab

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

Indukowane Reguły Decyzyjne I. Wykład 8

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

Konkurs z przedmiotu eksploracja i analiza danych: problem regresji i klasyfikacji

Uwaga: szarych kropek po pokolorowaniu nie uwzględniaj w klasyfikowaniu kolejnych szarych.

Wprowadzenie do technologii informacyjnej.

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

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA

Ćwiczenie 6 - Hurtownie danych i metody eksploracje danych. Regresja logistyczna i jej zastosowanie

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

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

Systemy uczące się Lab 4

Matematyka grupa Uruchom arkusz kalkulacyjny. 2. Wprowadź do arkusza kalkulacyjnego wartości znajdujące się w kolumnach A i B.

LEGISLATOR. Dokument zawiera opis sposobu tworzenia tabel w załącznikach. Data dokumentu:30 maja 2012 Wersja: 1.2 Autor: Paweł Jankowski

STATYSTYKA I DOŚWIADCZALNICTWO

Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej

Metody zbiorów przybliżonych w uczeniu się podobieństwa z wielowymiarowych zbiorów danych

Przykład eksploracji danych o naturze statystycznej Próba 1 wartości zmiennej losowej odległość

Zagadnienie klasyfikacji (dyskryminacji)

Wspólne Zaawansowana tabela

1 Moduł Bramki xcomfort

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

METODY INŻYNIERII WIEDZY

Rozglądanie się w przestrzeni Iris czyli kręcenie (głową/płaszczyzną) w czterech wymiarach

1 Moduł Bramki xcomfort 3

METODY INŻYNIERII WIEDZY

Bioinformatyka Laboratorium, 30h. Michał Bereta

Korespondencja seryjna

Agnieszka Nowak Brzezińska Wykład III

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Otwórz R. Zmień katalog roboczy za pomocą File/Change Dir. Wczytaj plik przypisując go obiektowi o nazwie students:

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska

Wirtualna Uczelnia - konto dydaktyka

Drzewa decyzyjne i lasy losowe

KNIME podstawy obsługi programu. Pracownia Chemometrii Środowiska Katedra Chemii i Radiochemii Środowiska Wydział Chemii UG

Metody klasyfikacji danych - część 1 p.1/24

8. Drzewa decyzyjne, bagging, boosting i lasy losowe

Data Mining Wykład 4. Plan wykładu

Algorytmy rozpoznawania obrazów. 11. Analiza skupień. dr inż. Urszula Libal. Politechnika Wrocławska

Spis treści. Laboratorium II: Analiza opisowa. Inżynieria biomedyczna, I rok, semestr letni 2014/2015 Analiza danych pomiarowych

Eksploracja danych. Grupowanie. Wprowadzanie Definicja problemu Klasyfikacja metod grupowania Grupowanie hierarchiczne. Grupowanie wykład 1

Zastosowania sieci neuronowych

ERGODESIGN - Podręcznik użytkownika. Wersja 1.0 Warszawa 2010

Inteligentna analiza danych

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

nowe idee nowe inspiracje City Network wersja demonstracyjna

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji.

Stochastyczne Metody Analizy Danych. PROJEKT: Analiza kluczowych parametrów turbin wiatrowych

Tadeusz Pankowski

Kwerenda. parametryczna, z polem wyliczeniowym, krzyżowa

Algorytmy klasteryzacji jako metoda dyskretyzacji w algorytmach eksploracji danych. Łukasz Przybyłek, Jakub Niwa Studenckie Koło Naukowe BRAINS

Klasyfikacja obiektów Drzewa decyzyjne (drzewa klasyfikacyjne)

Struktury Danych i Złożoność Obliczeniowa

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

QualitySpy moduł reports

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

3. Wprowadź opis: kolumna A J. angielski, kolumna B J. polski. Obejrzyj animację pt. Wprowadzanie danych, aby dowiedzieć się, jak to zrobić.

KONFIGURACJA PROGRAMÓW MAGAZYNOWYCH DO OBSŁUGI TERMINALI Z PROGRAMEM ELZAB KOLEKTOR CE

1 Wstęp. 2 Uruchomienie programu

Analiza skupień. Analiza Skupień W sztucznej inteligencji istotną rolę ogrywają algorytmy grupowania

Drzewo binarne BST. LABORKA Piotr Ciskowski

INSTRUKCJA OTWIERANIA PLIKU DPT (data point table)

ENOVA2PSMOBILE. Copyright Polsoft Engineering Sp. z o. o.

Agnieszka Nowak Brzezińska Wykład III

Import danych w formacie txt

Idea. Algorytm zachłanny Algorytmy hierarchiczne Metoda K-średnich Metoda hierarchiczna, a niehierarchiczna. Analiza skupień

Mail: Pokój 214, II piętro

Komunikaty statystyczne medyczne

Wykład 4: Statystyki opisowe (część 1)

Metody eksploracji danych w odkrywaniu wiedzy (MED) projekt, dokumentacja końcowa

Wykrywanie twarzy na zdjęciach przy pomocy kaskad

Laboratorium z przedmiotu MED. Lab1 - wprowadzenie

Analiza skupień. Idea

Drzewa decyzyjne. Inteligentne Obliczenia. Wydział Mechatroniki Politechniki Warszawskiej. Anna Sztyber

Opracował: mgr inż. Marcin Olech

Transkrypt:

Eksploracja danych w środowisku R Moi drodzy, niniejszy konspekt nie omawia eksploracji danych samej w sobie. Nie dowiecie się tutaj o co chodzi w generowaniu drzew decyzyjnych czy grupowaniu danych. Te informacje znajdziecie w osobnych materiałach do których źródła wam podaję w odpowiednich częściach tego konspektu. Jest on natomiast instrukcją do wykonania algorytmów drzew decyzyjnych oraz analizy skupieo (metody grupowania) dla wybranego przeze mnie zbioru danych irysów z repozytorium danych UCI Machine Learning Repository. Algorytmy wywołacie w środowisku R gdyż ma on zaimplementowane odpowiednie do tego pakiety. Część I: Drzewa decyzyjne Jeśli chcecie zdobyd szerszą wiedzę z zakresu drzew decyzyjnych, nie obejdzie się bez lektury wykładu: http://zsi.tech.us.edu.pl/~nowak/abdiped/w4.pdf. Lektura tego wykładu bądź innych materiałów dotyczących drzew decyzyjnych jest niezbędna byście dobrze zrozumieli ideę tej grupy metod eksploracji wiedzy. Drzewa decyzyjne budują z danych drzewo, którego odczyt w kierunku od korzenia do liścia, odpowiada regule, w której po spełnieniu określonych warunków podejmowana jest pewna decyzja. Atrybut decyzyjny (ang. class) występuje w drzewie jako liśd, zaś wierzchołki drzewa nie będące liśdmi są atrybutami warunkowymi. Istnieje wiele algorytmów budowy drzew decyzyjnych: ID3, CART, C4.5 itp. Ale ich poznanie nie jest tutaj niezbędne. Istotą tego dwiczenia jest próba zbudowania dla własnego zbioru danych drzewa decyzyjnego w środowisku R. Najpierw przybliżmy sobie zbiór irysów. Link: http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data. Opis danych znajdziecie pod linkiem: http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.names Po krótkim spojrzeniu na zbiór można bez problemów dostrzec, że dane dotyczą 150 kwiatów irysów, które opisano 4 cechami (atrybuty warunkowe): długośd i szerokośd płatka, oraz długośd i szerokośd łodygi. Dodatkowo mamy atrybut decyzyjny (class) który przyjmuje 3 możliwe wartości: Iris-setosa, Iris-Versicolor oraz Iris-virginica, które równo dzielą zbiór po 50 obserwacji dla każdej z tych klas (33.3%).

Najpierw musimy wczytad poprawnie zbiór danych. Jako że w pliku Iris.data nie ma nagłówków a dane są rozdzielone przecinkiem,, należy użyd odpowiedniej formuły w R, która wczyta dane do tablicy, i rozdzieli do osobnych kolumn dane rozdzielone separatorem,. Drzewa decyzyjne to taka specyficzna metoda budowy klasyfikatorów w której model klasyfikacji (tutaj drzewo) jest budowane nie z całego zbioru danych, ale z ich części. My więc wczytamy cały zbiór 1:150 obserwacji ale do wygenerowania drzewa użyjemy jedynie 75 obserwacje. Teraz załadujemy bibliotekę rpart, która dostarcza algorytmów generowania drzew decyzyjnych. Pozostaje nam wywoład algorytm do generowania drzewa decyzyjnego i jego wyświetlenie: Taki zapis na 1 rzut oka może się wydad nieczytelny. Przybliżę Wam go zaraz. Uwaga 1: Irysy$V5 to atrybut decyzyjny użyty do budowy drzewa decyzyjnego. Wiec jeśli w waszych zbiorach macie atrybut decyzyjny jako V11 to pamiętajcie by użyd odpowiedniej formuły. Uwaga 2: jeśli u was atrybut decyzyjny jest liczbą to trzeba go najpierw zamienid na cechę jakościową. Czyli np. dane 1,2,3 na : klasa1,klasa2 i klasa3. Jako pierwszy (tutaj czerwone kółeczko) widzimy numer wierzchołka w drzewie. Zielony prostokąt to warunek który musi byd spełniony by podjąd pewne decyzje (tutaj zakreślone na niebiesko). A więc odczyt tego przykładowego drzewa powinien byd następujący: Jeżeli V3 < 2.45 to class=iris-setosa Jeżeli V3>=2.45 to:

Jeżeli V3<4.85 to class=iris-versicolor Jeżeli V3>=4.85 to class=iris-virginica < 2.45 V3 >= 2.45 V3 < 4.85 >=4.85 Irissetosa Irisversicolor Irisvirginica W wyniku wywołania algorytmu widzimy także dodatkowe informacje (liczby): Oznaczają one odpowiednio prawdopodobieostwa przynależności do jednej z 3 znanych nam już teraz klas irysów. Widad, że w wierszu drugim (który jest jednocześnie już liściem w drzewie (o czym świadczy m.in. znak * na koocu)) mamy prawdopodobieostwo przynależności do 1 klasy równe 1.00, do drugiej klasy równe 0 i do 3 klasy także 0. Dlatego 0 gdyż tutaj nie zaklasyfikowano obserwacji innych niż te z klasy 1. W przypadku wierzchołka nr 6 widzimy, że nowy obiekt który spełni warunki: V3 > 2.45 i jednocześnie V3 < 4.85, zostanie zaklasyfikowany przez drzewo do klasy iris=versicolor ale jednocześnie dowiadujemy się, że będzie tak dlatego, że prawdopodobieostwo, że trafi on do klasy 1 wynosi 0, do klasy 3: 0.09 a do klasy 2: 0.90 a więc najwięcej stąd taka klasyfikacja. Graficzna reprezentacja drzewa możliwa będzie dzięki zastosowaniu funkcji: Czego efektem będzie rysunek:

Który odczytujemy od korzenia do liści.i widad, że potwierdza to opis uzyskany przez wywołanie funkcji rpart (wyżej). Całośd drzewa możemy odczytad jako następujący zbiór reguł: Jeśli V3 < 2.45 to Iris-Setosa Jeśli V3 >= 2.45 i V3 <4.85 to Iris-versicolor Jeśli V3 >=2.45 I V3>=4.85 to iris-virginica Część II: Analiza skupień Niezbędna jest lektura wykładu: http://zsi.tech.us.edu.pl/~nowak/abdiped/w5.pdf jeśli chcecie zdobyd wiedzę z zakresu analizy skupieo. Generalnie analiza skupieo pozwala znajdowad w dużych zbiorach danych pewne grupy obiektów, które są do siebie podobne biorąc pod uwagę ich cechy (atrybuty warunkowe). Nie musi byd tu określony atrybut decyzyjny ( w drzewach decyzyjnych musi!). Ważne jednak, że nie da się algorytmami, które tu zostaną wykorzystane pogrupowad danych nienumerycznych. Wyróżnia się 2 typy algorytmów: hierarchiczne i niehierarchiczne. Jak się domyślacie, pierwsze budują drzewa z obiektów (hierarchie), drugie tworzą struktury, które nie mają hierarchii. Wśród tych niehierarchicznych przedstawimy algorytm k-średnich (o którym m.in. wyczytacie w wykładzie, którego link podaję wyżej) oraz hierarchiczny aglomeracyjny (o nim też znajdziecie informacje w ww. wykładzie). W algorytmach niehierarchicznych musimy określid liczbę grup która ma zostad utworzona, co nie zawsze jest możliwe. Dlatego często korzysta się z algorytmów hierarchicznych, które takich wymagao nie mają. Mają jednak inne wady. Najpierw podejrzymy raz jeszcze z jakimi danymi mamy do czynienia. Można użyd funkcji summary, która wyświetli podstawowe statystyki dotyczące każdej z analizowanych cech.

Widzimy, że atrybut decyzyjny (w typ wypadku V5) ma 3 klasy, więc najpierw spróbujemy sprawdzid czy nie biorąc pod uwagę tego atrybutu, algorytm analizy skupieo faktycznie przydzieli nam poprawnie 150 obiektów do tych 3 klas: Irissetosa, Iris-versicolor i Iris-virginica. Najpierw musimy zatem poddad obróbce nasz wejściowy zbiór tak by nie był brany pod uwagę atrybut decyzyjny (bo w zbiorze irysów taki atrybut występuje, jest on dodatkowo nienumeryczny, co uniemożliwiłoby wykonanie algorytmu): Spreparowaliśmy sobie jakby nowy zbioru o nazwie irysy_grupowane który jest obcięciem dotychczasowego zbioru 150 irysów o atrybut decyzyjny (a więc tylko pierwsze 4 kolumny). Następnie wywołaliśmy metodę kmeans która jest odpowiednikiem algorytmu k-średnich i spróbujemy podzielid tym algorytmem zbiór irysy_grupowane na 3 grupy. Wyświetlimy wyniki wywołując metodę print Widzimy m.in. rozkład średnich w grupach (sekcja Cluster means ). W sekcji Clustering vector widzimy przynależnośd każdego ze 150 obiektów do 3 klas. Pozostałe informacje nie są istotne na tym etapie. Teraz wywołamy funkcję do wyrysowania struktury skupieo. Wystarczy wywoład metodę plot i podad jej jako argumenty źródłowy zbiór irysów:

Efekt jest mało czytelny. Widzimy rozkład obiektów osobno dla każdej z cech: V1, V2, V3, V4. Jak dołożyd kolory? Co w efekcie da

Grupowanie realizowane jest także poprzez metodę mclust z pakietu o tej samej nazwie. W podstawowej wersji wywołania metody nie podaje się liczby skupieo (grup), a jedynie zbiór danych, które chcemy pogrupowad. Możemy użyd komend: Uwaga: Najpierw trzeba zainstalowad pakiet mclust a potem go załadowad wybierając z menu R opcję load packages i wybrad wspomniany pakiet.

Metody hierarchiczne Efekt: Jeżeli dla tego samego zbioru danych chcemy zastosowad algorytm grupowania hierarchicznego, możemy użyd funkcji hclust a do jej graficznej reprezentacji funkcji plot, tak jak to pokazuje kod:

Efektem będzie wykres zwany dendrogramem, z tym, że będzie on mało czytelny dla dużych zbiorów obserwacji, z tego względu, że wszystkie liście drzewa są wyrysowane na jednym poziomie na wykresie, i zwyczajnie nachodzą na siebie. Klasycznym algorytmem hierarchicznym jest właśnie algorytm aglomeracyjny, którego jednym z wersji jest algorytm o nazwie agnes (ang. AGlomerative NESting). Został on również zaimplementowany w środowisku R i realizowany jest przez wywołanie komendy o tej samej nazwie co nazwa algorytmu a więc agnes: Wymagało to :

Ważnym aspektem algorytmu jest wybór metody tworzenia kolejnych skupieo (na kolejnych poziomach w hierarchii). Są metody m.in. average, single oraz complete. Występują istotne różnice między nimi. Możemy zaprezentowad wyniki grupowania w zależności od wybranej metody. Utworzymy jeden obraz na który naniesiemy 3 różne wykresy: Daje efekt: Koniec! Waszym zadaniem jest teraz dla swojego zbioru danych wczytad go, a następnie spróbowad jeśli nie dla całego zbioru to dla jego części zbudowad i opisad drzewo decyzyjne oraz pogrupowad dane zarówno algorytmami niehierarchicznym jak i hierarchicznym. Powodzenia!