Podstawy grupowania danych w programie RapidMiner Michał Bereta

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

Data Mining z wykorzystaniem programu Rapid Miner

Reguły asocjacyjne w programie RapidMiner Michał Bereta

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

Algorytm grupowania danych typu kwantyzacji wektorów

4.3 Grupowanie według podobieństwa

Eksploracja danych w środowisku R

Bioinformatyka Laboratorium, 30h. Michał Bereta

CLUSTERING. Metody grupowania danych

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

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

Algorytmy immunologiczne. Dr inż. Michał Bereta p. 144 / 10, Instytut Informatyki

Text mining w programie RapidMiner Michał Bereta

Techniki grupowania danych w środowisku Matlab

Wyszukiwanie informacji w internecie. Nguyen Hung Son

Supervised Hierarchical Clustering with Exponential Linkage. Nishant Yadav

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

Sieci Kohonena Grupowanie

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

Spacery losowe generowanie realizacji procesu losowego

Układy VLSI Bramki 1.0

1. Grupowanie Algorytmy grupowania:

TEORETYCZNE PODSTAWY INFORMATYKI

Język C zajęcia nr 5

Grupowanie Witold Andrzejewski, Politechnika Poznańska, Wydział Informatyki 201/633

Elementy statystyki wielowymiarowej

Wykrywanie nietypowości w danych rzeczywistych

Java Podstawy. Michał Bereta

Metody analizy skupień Wprowadzenie Charakterystyka obiektów Metody grupowania Ocena poprawności grupowania

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych)

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

Analiza skupień (Cluster analysis)

Politechnika Wrocławska, Katedra Inżynierii Biomedycznej Systemy Pomiarowo-Diagnostyczne, laboratorium

Czym jest analiza skupień?

Uczenie się pojedynczego neuronu. Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z<0 y=1 gdy z>=0. Wówczas: W 1 x 1 + w 2 x 2 + = 0

ArcGIS. Jakub Nowosad

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

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

Wprowadzenie do maszyny Turinga

Naszym zadaniem jest rozpatrzenie związków między wierszami macierzy reprezentującej poziomy ekspresji poszczególnych genów.

Rozpoznawanie wzorców. Dr inż. Michał Bereta p. 144 / 10, Instytut Informatyki

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

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

Rozpoznawanie twarzy metodą PCA Michał Bereta 1. Testowanie statystycznej istotności różnic między jakością klasyfikatorów

INDUKOWANE REGUŁY DECYZYJNE ALORYTM APRIORI JAROSŁAW FIBICH

CLUSTERING METODY GRUPOWANIA DANYCH

STATYSTYKA I DOŚWIADCZALNICTWO

Pomoc do serwisu biomart projektu GERMINATE-BD

A Zadanie

Analiza skupień. Idea

Instrukcje cykliczne (pętle) WHILE...END WHILE

Korespondencja seryjna

Budowa argumentacji bezpieczeństwa z użyciem NOR-STA Instrukcja krok po kroku

Tworzenie i modyfikacja modelu geologicznego

TABLICA (ang. array) pojedyncza zmienna z wieloma komórkami, w których można zapamiętać wiele wartości tego samego typu danych.

SPOTKANIE 6: Klasteryzacja: K-Means, Expectation Maximization

Backend Administratora

Automatyczna klasyfikacja zespołów QRS

[ HTML ] Tabele. 1. Tabela, wiersze i kolumny

Hierarchiczna analiza skupień

Zajęcia nr VII poznajemy Rattle i pakiet R.

Pętle instrukcje powtórzeo

3.7. Wykresy czyli popatrzmy na statystyki

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Microsoft Access materiały pomocnicze do ćwiczeń cz. 1

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

Zadanie 0 gdy nie mamy logiki rozmytej. Zadanie 1- gdy już mamy logikę rozmytą

Raporty zostały pogrupowane według pięciu kategorii (dla Personelu, dla Zasobów, dla Instruktorów, dla Serwisantów oraz Dowolny).

Grupowanie stron WWW. Funkcje oceniające.

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

Interaktywne wyszukiwanie informacji w repozytoriach danych tekstowych

Cena do wartości księgowej (C/WK, P/BV)

Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej

Przestrzenne bazy danych Podstawy języka SQL

Wstęp do grupowania danych

Data Mining Wykład 5. Indukcja drzew decyzyjnych - Indeks Gini & Zysk informacyjny. Indeks Gini. Indeks Gini - Przykład

KLASYFIKACJA. Słownik języka polskiego

Instrukcja obsługi aplikacji PQ-CONTROL

Prawdopodobieństwo czerwonych = = 0.33

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Instrukcja zmian w wersji Vincent Office

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6

Materiały do laboratorium MS ACCESS BASIC

Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04

Wyszukiwanie binarne

Co to jest grupowanie

PROLOG INNE PRZYKŁADY MACIEJ KELM

Archiwizacja baz MSSQL /BKP_SQL/ opis oprogramowania

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

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

Przykładowe zadania z teorii liczb

Sprzedawaj jeszcze więcej dzięki usłudze Ads!

etrader Pekao Podręcznik użytkownika Ustawienia

Dobór parametrów algorytmu ewolucyjnego

PRZEWODNIK PO ETRADER PEKAO ROZDZIAŁ XIX. USTAWIENIA SPIS TREŚCI

Analiza skupień. Idea

Transkrypt:

Podstawy grupowania danych w programie RapidMiner Michał Bereta www.michalbereta.pl 1. Grupowanie hierarchiczne Grupowanie (analiza skupieo, ang. clustering) ma na celu automatyczne wykrycie grup istniejących w zbiorze danych. Każda grupa powinna charakteryzowad się tym, iż przykłady do niej przyporządkowane są bardziej podobne do siebie niż do przykładów z innych grup. Poszczególne grupy powinny byd od siebie jak najlepiej odseparowane. Konkretne znaczenie podobieostwa i separacji zależy od przyjętej miary podobieostwa między obiektami. Podobieostwo nie zawsze musi byd oparte na metryce w sensie matematycznej, jednak dla danych numerycznych częstym wyborem jest wykorzystanie odległości Euklidesa. Dane podlegające analizie nie mają przyporządkowanej etykiety klasy. Zadaniem algorytmu grupowania jest właśnie odszukad takie grupy. Nie jest to zadanie łatwe. Podział danych często nie jest jednoznaczny. Przykładowe problemy: Czy w danych w ogóle istnieją grupy, których poszukujemy? Jak to zweryfikowad dla danych wysokowymiarowych? Ilu grup szukamy? Co z przykładami, które leżą pomiędzy grupami? Jak reprezentowad grupy? Czy szukane skupiska powinny mied minimalną licznośd przykładów do nich należących? Grupowanie hierarchiczne jest bardzo naturalnym podejściem do grupowania. Grupy tworzone są stopniowo. Zaczynamy od grup składających się z pojedynczych przykładów. W każdym kroku łączymy najbliższe sobie grupy (na początku będą to przykłady najbliższe sobie zgodnie z przyjętą miarą podobieostwa). W kolejnych krokach otrzymujemy coraz liczniejsze grupy, aż w koocu tworzona jest jedna grupa zawierająca wszystkie przykłady. W tych metodach nie jest tworzony jeden wyraźny podział lecz cała ich hierarchia. Można jednak w dowolnym kroku zadecydowad o zatrzymaniu procesu łączenia. Często jednak decyzję taką podejmuje się po wizualnej inspekcji dendrogramu, czy wizualnej reprezentacji powstałego hierarchicznego grupowania. Mniej popularne podejście rozpoczyna od umieszczenia wszystkich przykładów w jednej grupie a następnie dzieleniu jej jak i powstałych w ten sposób grup, tak by ostatecznie zakooczyd z grupami zwierającymi dokładnie jeden przykład. Istnieje koniecznośd zdecydowania jak, mając przyjętą miarę podobieostwa między obiektami, definiowad podobieostwo między grupami obiektów. Istnieją trzy najbardziej popularne rozwiązania. Single linkage 1

Complete linkage Average linkage Z dokumentacji RM: SingleLink: In single-link hierarchical clustering, we merge in each step the two clusters whose two closest members have the smallest distance (or: the two clusters with the smallest minimum pairwise distance). CompleteLink: In complete-link hierarchical clustering, we merge in each step the two clusters whose merger has the smallest diameter (or: the two clusters with the smallest maximum pairwise distance). AverageLink: Average-link clustering is a compromise between the sensitivity of complete-link clustering to outliers and the tendency of single-link clustering to form long chains that do not correspond to the intuitive notion of clusters as compact, spherical objects. Przykład: Dane dwuwymiarowe zawierające trzy wyraźne grupy Za pomocą operatorów GenerateData generujemy dane złożone z trzech wyraźnych grup. 2

Otrzymujemy dane dwuwymiarowe, zatem łatwo je przedstawid na wykresie. Następnym krokiem jest wykonanie grupowania hierarchicznego za pomocą operatora Clustering(Agglomerative Clustering). 3

Wyniki: Widok FolderView pokazuje hierarchiczną strukturę grupowania: 4

Wizualizacja struktury za pomocą drzewa: W tym widoku można sprawdzid, jakie przykłady należą do kolejno łączonych grup: 5

Dendrogram to sposób wizualizacji struktury hierarchicznej. Na poniższym widad trzy wyraźne grupy. Wysokośd poszczególnych krawędzi jest proporcjonalna do odległości między łączonymi grupami. Widad zatem, że trzy grupy są wyraźnie oddzielone od siebie. Informacja taka może posłużyd do ustalenia, jaki przyjąd ostateczny podział danych (w tym przypadku na trzy grupy). Poniżej zaprezentowane są wyniki dla complete link oraz dla average link. One również wskazują na istnienie trzech grup. Te trzy podejścia nie zawsze dają tak zbliżone do siebie wyniki. Przykładowo, complete link ma tendencje do tworzenia rozciągniętych grup, często niepotrzebnie (zbyt wcześnie) łącząc mniejsze grupy. 6

7

Przykład: Grupowanie hierarchiczne dla bazy irysów. W bazie tej są trzy klasy, jednak etykieta klasy nie jest brana pod uwagę w czasie grupowania. Sprawdzimy, czy te istniejące trzy klasy zostaną wykryte przez algorytm grupowania. 8

Na powyższym dendrogramie widad, że jedna grupa jest wyraźnie oddzielona od dwóch pozostałych. Dla przypomnienia, rozkład danych irysów z wykorzystaniem dwóch atrybutów: Wizualizacja: Bez kolorów w oparciu o etykietę klasy 9

Z kolorami wyznaczonymi przez etykietę klasy Z powyższego widad, że algorytm grupowania odkrył wyraźnie odrębną klasę Iris-setosa. Widad to również w widoku GraphView: 10

Wszystkie przykłady ze wskazanej grupy to przykłady z klasy Iris-setosa. Pozostałe dwie grupy nie są tak wyraźnie oddzielone, można jednak wskazad pewne grupy, które składają się jedynie z przykładów z danej klasy, np.: Zadanie: Wykonaj powyższy przykład dla complete link oraz average link. 11

2. Grupowanie za pomocą algorytmu k-średnich (k-means) Inne algorytmy grupowania tworzą od razu konkretny podział na zadaną liczbę grup. W algorytmie k-średnich każdy przykład należy do dokładnie jednej grupy reprezentowanej przez centroid, który jest wyliczany jako średnia ze wszystkich przykładów należących do danej grupy. Przykład: Dane z trzema wyraźnymi grupami Wyniki: 12

Możemy użyd indeksu grupy jako etykiety klasy. Widad sensownośd działania algorytmu. 13

Przykład: Algortym k-średnich dla danych irysów Wyniki: 14

Wykres wykorzystujący oryginalną etykietę klasy do ustalenia kolorów: Wykres wykorzystujący indeks grupy do ustalenia kolorów: Powyższe wykresy są podobne, jednak widad różnice. Warte podkreślenia jest, że algorytm grupowania wykorzystywał wszystkie cztery atrybuty. 15

Jak ilościowo wygląda przydział do powstałych grup w porównaniu z prawdziwymi etykietami klas? W celu wizualizacji można wykorzystad wykres typu Bars Stacked. Widad na nim, że klasa Iris-setosa została wyraźnie oddzielona od dwóch pozostałych. 16

3. Ocena jakości grupowania W poprzednim przykładzie założyliśmy, że liczba poszukiwanych grup wynosi trzy. W ogólnym przypadku nie jest jednak wiadomo ilu grup poszukujemy. W celu ustalenia liczby istniejących w danych grup można próbowad wykorzystad różne indeksy określające jakośd otrzymanego podziału. Indeksy te są tym lepsze, im dane w każdej grupie są bliżej siebie, a grupy dalej od siebie. Wykonamy przykładową analizę dla wyników algorytmu k-średnich za pomocą dwóch indeksów: średniej odległośd przykładów w każdej grupie (pożądana jest minimalna wartośd tego indeksu) oraz indeksu Daviesa Bouldina (http://en.wikipedia.org/wiki/davies%e2%80%93bouldin_index) (szukane jest również minimum). Algorytm k-średnich zostanie uruchomiony dla kolejnych wartości parametru k, określającego szukaną liczbę grup. W tym celu wykorzystamy operator LoopParameters. Jest on operatorem złożonym. Wewnątrz definiujemy go następująco, wykorzystując operator Performance (Cluster Distance Performance): 17

Dodajemy logowanie wyników z każdej iteracji. 18

W ustawieniach operatora Log ustawiamy, co jest zapamiętywane z każdej iteracji. W ustawieniach operatora Loop Parameter ustawiamy opcje pętli. 19

Na koniec przekierowujemy zebrane w logu informacje do operatora Log to Data. Wyniki: 20

Oba indeksy wyraźnie wskazują na istnienie trzech grup. Przykład: Analiza liczby grup dla danych irysów Wyniki: 21

Jak widad, indeks Daviesa Bouldina wskazuje na dwie grupy, co jest w miarę zgodne z rzeczywistymi danymi, jako że tylko jedna klasa jest wyraźnie oddzielona od dwóch pozostałych. Drugi indeks trudniej zinterpretowad, jako iż sugerowad on może istnienie wielu grup. Można jednak wziąd pod uwagę, że spadek indeksu jest mniej dynamiczny od pewnego momentu i na tę wartośd k się zdecydowad. Zadanie: Powtórz powyższą analizę (grupowanie hierarchiczne oraz k-średnich) dla innych wielowymiarowych wygenerowanych danych oraz innych baz (sonar, glass, pima) ze znaną liczba klas (uwaga: jeśli klasy nie są dobrze oddzielone, liczba klas nie musi przekładad się na liczbę dobrze oddzielonych przestrzennie grup, ale może wskazad, że pewne klasy są łatwiejsze do oddzielenia w n-wymiarach niż pozostałe klasy). 22