Wizualizacja danych. Grafy, drzewa i sieci. Jerzy Stefanowski Instytut Informatyki Politechnika Poznańska. Wykład TWO - styczeń 2016

Podobne dokumenty
Wizualizacja danych. Prezentowanie wielowymiarowych danych Część 2. Jerzy Stefanowski Instytut Informatyki Politechnika Poznańska

Indukowane Reguły Decyzyjne I. Wykład 3

Teoria grafów dla małolatów. Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska

0.1. Diagram klas i pakietów

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

SAS wybrane elementy. DATA MINING Część III. Seweryn Kowalski 2006

TEORIA GRAFÓW I SIECI

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Prefuse dynamiczna wizualizacja danych

Algorytmy grafowe. Wykład 1 Podstawy teorii grafów Reprezentacje grafów. Tomasz Tyksiński CDV

Matematyczne Podstawy Informatyki

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

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

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

Algorytmy i Struktury Danych.

a) 7 b) 19 c) 21 d) 34

Znajdowanie skojarzeń na maszynie równoległej

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

Programowanie obiektowe

Podstawowe pojęcia dotyczące drzew Podstawowe pojęcia dotyczące grafów Przykłady drzew i grafów

Drzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel

G. Wybrane elementy teorii grafów

Matematyka dyskretna

Grafowy model bazy danych na przykładzie GOOD

Programowanie dynamiczne i algorytmy zachłanne

Teoria grafów podstawy. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Analiza Sieci Społecznych Pajek

Grafy i sieci w informatyce - opis przedmiotu

Algorytmiczna teoria grafów

Matematyczne Podstawy Informatyki

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.

Programowanie obiektowe

Grafy (3): drzewa. Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków. UTP Bydgoszcz

Metody Programowania

Teoria grafów dla małolatów

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

UML w Visual Studio. Michał Ciećwierz

Graf. Definicja marca / 1

WYKŁAD 11 Uczenie maszynowe drzewa decyzyjne


Ogólne wiadomości o grafach

Wprowadzenie Podstawy Fundamentalne twierdzenie Kolorowanie. Grafy planarne. Przemysław Gordinowicz. Instytut Matematyki, Politechnika Łódzka

4.1. Wprowadzenie Podstawowe definicje Algorytm określania wartości parametrów w regresji logistycznej...74

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

Wykład 8. Drzewo rozpinające (minimum spanning tree)

< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 >

Marek Miszczyński KBO UŁ. Wybrane elementy teorii grafów 1

Archipelag Sztucznej Inteligencji

Sprawozdanie z laboratorium 2: Modeling knowledge with Resource Description Framework (RDF)

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

Drzewa decyzyjne i lasy losowe

Algorytmy i Struktury Danych.

Algorytmiczna teoria grafów

Eksploracja danych - wykład VIII

Metody Programowania

Specjalizacja magisterska Bazy danych

CLUSTERING II. Efektywne metody grupowania danych

Grafy i sieci wybrane zagadnienia wykład 3: modele służące porównywaniu sieci

Wykład 7. Algorytmy grafowe

WSTĘP DO INFORMATYKI. Drzewa i struktury drzewiaste

CLUSTERING. Metody grupowania danych

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Współczesna problematyka klasyfikacji Informatyki

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Digraf. 13 maja 2017

Wyszukiwanie informacji w internecie. Nguyen Hung Son

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I

Minimalne drzewa rozpinające

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II

Matematyczne Podstawy Informatyki

Data Mining Wykład 4. Plan wykładu

Transformacja wiedzy w budowie i eksploatacji maszyn

Wizualizacja grafów. Szymon Matejczyk

Podstawy Programowania 2 Grafy i ich reprezentacje. Plan. Wstęp. Teoria grafów Graf skierowany. Notatki. Notatki. Notatki. Notatki.

. Podstawy Programowania 2. Grafy i ich reprezentacje. Arkadiusz Chrobot. 9 czerwca 2016

Algorytmy i Struktury Danych.

Analiza Sieci Społecznych Pajek

Algorytmy i struktury danych

8. Drzewa decyzyjne, bagging, boosting i lasy losowe

Rozkład materiału do zajęć z informatyki. realizowanych według podręcznika

Język UML w modelowaniu systemów informatycznych

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Michał Kozielski Łukasz Warchał. Instytut Informatyki, Politechnika Śląska

Gramatyki grafowe. Dla v V, ϕ(v) etykieta v. Klasa grafów nad Σ - G Σ.

Wprowadzenie do technologii informacyjnej.

BAZY DANYCH. Microsoft Access. Adrian Horzyk OPTYMALIZACJA BAZY DANYCH I TWORZENIE INDEKSÓW. Akademia Górniczo-Hutnicza

Egzaminy i inne zadania. Semestr II.

Rysunek 1: Przykłady graficznej prezentacji klas.

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 1 Wprowadzenie do narzędzia CASE. Materiały dla nauczyciela

WIZUALIZACJA I REORGANIZACJA GRAFÓW Z ZASTOSOWANIEM RELACYJNEJ BAZY DANYCH

Od e-materiałów do e-tutorów

Matematyka dyskretna - 7.Drzewa

Plan nauczania informatyki Opracował: mgr Daniel Starego

Nowe narzędzia zarządzania jakością

Ekstrakcja informacji oraz stylometria na usługach psychologii Część 2

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

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Algorytmy i struktury danych, C3

Transkrypt:

Wizualizacja danych Grafy, drzewa i sieci Jerzy Stefanowski Instytut Informatyki Politechnika Poznańska Wykład TWO - styczeń 2016

Plan wykładu Definicje i motywacje Przykłady prezentacji grafów, drzew i sieci (także eksploracja giga-danych i WWW) Case studies of networks Rozmiar grafów Rysowanie grafów podstawy Layout algorithms 1. Kryteria / miary oceny 2. Popularne układy struktur 3. Podstawowe algorytmy Interakcja i nawigacja w bardzo dużych grafach i sieciach Drzewa różnice 1. Podstawowe algorytmy 2. Przykłady wizualizacji

Grafy historyczne uwarunkowania Spacer po mostach w Królewcu

Grafy problem mostów w Królewcu Euler model grafu

Wizualizacje w postaci struktur drzew Tree structure popluarna odmiana grafu

Drzewo wizualizujące gramatykę języka programowania

Wizualizacja modelu relacji w bazie danych

Network data Sieć społeczna

Podstawowe definicje Graf G=(V,E) V zbiór wierzchołków, E zbiór krawędzi Grafy etykietowane Krawędzie i / lub węzły opisane dodatkową informacją (etykietami) reprezentującymi ich właściwości Graf G =(V,E ) jest podgrafem G=(V,E) jeżeli V jest podzbiorem V oraz E jest podzbiorem E

Reprezentacja macierzowa Graf G=(V,E) V zbiór wierzchołków, E zbiór krawędzi Relacją sąsiedztwa (adiancja)

Grafy skierowane i nieskierowane Graf jest skierowany (ang. Directed) jeśli jego krawędzie są zorientowane (ozn. najczęściej strzałką) Krawędź (u,v) jest innym obiektem niż (v,u) Graf nieskierowany krawędź (u,v) jest tym samym obiektem jak (v,u)

Grafy a drzewa Graf Modeluje relacje między wieloma elementami danych Wykorzystuje różne powiązania węzłów i krawędzi Drzewo Hierarchiczna struktura spójnego grafu acyklicznego z wyraźnym węzłem początkowym (korzeń drzewa) Korzeń, węzły potomne, liście

Różne rodzaje grafów Slajd z wykładu Alex Bigelow: Graphs and Trees, University of Utah, 2014

Grafy wykorzystywane w wielu dziedzinach Obrazowanie struktury zasobów Katalogi, pliki na dysku (drzewo) Taksonomie w nauce (drzewa klasyfikacyjne) Biologia, chemia i inne nauki Mapy bio-genetyczne Organizacja bibliograficzna Schematy organizacyjne Modelowanie procesów biznesowych (wokflow diagrams) Zarządzenie projektami (CPM, PERT) Zapis algorytmów lub modeli danych (UML, DB) Wyszukiwanie informacji Konstruowanie schematów logicznych (VLSI) Analiza stanów maszyn (automatyka, informatyka) Socjologia (sieci społeczne) Eksploracja i nawigacja w Internecie

Wizualizacja połączeń lotniczych mmm

Analiza rozwoju Internetu

Analiza powiązań użytkowników Internetu

Analiza publikacji konferencyjnych

Wizualizacja struktur grafowych a wyszukiwanie informacji Analiza bibliometryczna literatury naukowej

Kto Nas czyta?

Wykorzystaj dane (Internet, wyszukiwarki,wydawnictwa) Citation graphs Graf powiązań autorskich

Za wykładem Veslava Osinska Mapy rozwoju nauki i inspiracji.

Analiza podobieństwa tekstów amerykańskich pisarzy NLP, powiązania i inspiracje Śledztwo literackie M.Eder i J.Rybicki 2015 poszukiwanie podobieństwa stylu pisania słynnych książek Opis oceny autorstwa książki Harper Lee Zabić drozda (1960) Go Set a Watchman (2015) Czy jest autorką, czy widać odciski innych osób w stylu tekatu? Więcej artykuł Gazeta Wyborcza (31 07 2015) Spójrz na blog BIQDATA.pl

Graph drawing zasady budowy wizualizacji Rysowanie grafów (lub sieci) graficzna reprezentacja węzłów i krawędzi: Dany graf (reprezentowany matematycznie) może być wizualizowany na wiele sposobów Ułożenie (pozycja na rysunku) węzłów i krawędzi na medium oraz wykorzystanie innych środków wizualizacji poprawiać zrozumienie struktury przez odbiorcy, być użyteczne i uławiać eksploracje, analizę Historyczne zasady rysowania grafów Node-link diagrams Ramon Llull (XIIIw.) Algorytmizacja Layout algorithms Przegląd G. Di Battista et al. Graph drawing: Algorithms for the visualization of graphs.

Wizualizacja grafów powinna być czytelna Nie jest to trywialne zadanie

Jak rysować grafy?

Zasady tworzenie wizualizacji grafów Slajd z wykładu Tamara Munzner: Information Visualization, UBC 2009

Graph drawing - inne miary oceny wyniki Stopień przecięcia: Względna liczba przecinających się krawędzi Symetria (zwłaszcza dla drzew) Prostota Minimalizacja długości krawędzi Gęstość rozłożenia elementów na powierzchni Dobór rozdzielczości (kątowej) Także analiza liczby wierzchołków w podgrafach Przegląd G. Di Battista et al. Graph drawing: Algorithms for the visualization of graphs.

Klasyfikacja Layout methods

Layout algorithm force based strategies Rozpocznij od wstępnego (losowego) ułożenia obiektów Algorytmy zbudowane z wykorzystaniem metafory fizykalnych systemów: Siły sprężystości połączeń spring algorithm Zasady mechaniki molekularnej Najpopularniejsze rozwiązania Fruchterman and Reingold, 1991, Graph Drawing By Force- Directed Placement Kamada and Kawai, 1989, An Algorithm For Drawing General Undirected Graph

Layout algorithm force based strategies Rozpocznij od wstępnego (losowego) ułożenia obiektów Spring forces Zamodeluj siły przyciągania pomiędzy sąsiednimi węzłami Uwzględnij odychające siły wszystkich par węzłów Cel minimalizacji długości krawędzi oraz dobra separacja położenia węzłów Matematycznie odmiana spadku gradientu minimalizującego pewną formę energii układu albo modelu sił przesuwających się wierzchołków

Force direct layout algorithms

H layered graph organization Związki z projektowaniem VLSI

H layout

Slajd z wykładu Alex Bigelow: Graphs and Trees, University of Utah, 2014

Circular layout methods Umieszczają wierzchołki na okręgu Biorąc pod uwagę: Sąsiedztwo wierzchołków Redukcję potencjalnych przecięć krawędzi Krawędzie mogą być różnie rysowane Przykład algorytmu: Six and Tollis 1999, A Framework for Circular Drawings of Networks

Circular layout methods Krawędzie mogą być różnie rysowane Trudności analizy: Zbyt dużych grafów Zbyt gęstych grafów

Radial layout Grafy o strukturze, którą można zamienić do odmiany drzewa Ryc 8.1 Za Unwin A., Theus M., Hofmann: Graphics of Large Datasets

Wersje 2D oraz b. zaawansowane 3D (z interakcją) Radial layout

Minimalne drzewa rozpinające Slajd z wykładu Tamara Munzner: Information Visualization, UBC 2009

Arc graphs layout

Dodatkowe pomysly na wyróżnianie

Case study różne sposoby zwrócenia uwagi i eksploracji grafu

Case study różne sposoby zwrócenia uwagi i eksploracji grafu

Case study inne aspekty

Graph drawing problem wielkości grafu Zmiany wielkości grafów: Historycznie grafy typowo kilkadziesiąt węzłów Duże grafy Lata 90te około 100 węzłów; a tysiące (huge graphs) Nowe zastosowania setki tysięcy i miliony wierzchołków Poprzednio rozwinięte algorytmy rysowania grafów nieskuteczne Nowe rozwiązania Filter graphs, interaction, focus attention Grupowanie Próbkowanie oraz redukcja Przegląd Unwin A., Theus M., Hofmann: Graphics of Large Datasets

Typowe zadania eksploracji grafów Tzw. Interactive Highlight techniques: Ułatwić zrozumienie struktury grafów Odkryć i pokazać nieznane właściwości Porównywać podgrafy (z uwagi na podobieństwo węzłów, krawędzi, informacji etykietującej). Poszukiwać podobieństw Odkrywać obserwacje odstające (outliers) Wykrywać podgrupy Umożliwiać tzw. drill down z ogólniejszego oglądu na podzbiory wyrażające określone zainteresowanie

Zmienność grafu wraz z czasem evolving data streams

On line graph drawing data streams

Wielo-poziomowość wizualizacji grafów

Wielo-poziomowość wizualizacji grafów 3 D cones trees

Transformacje grafów Techniki grupowanie i upraszczanie wyglądów - Slajd z wykładu Tamara Munzner: Information Visualization, UBC 2009

Graph to także macierz

Wizualizacja i analiza macierzy połączeń Wykorzystywane dla gęstych grafów Pozwalają dostrzec - Regularności - Pod-grafy Uporządkowanie wierszy wpływa na wynik wizualizacji Wymaga doświadczenia od odbiorcy Niełatwe śledzenie ścieżek w grafie Slajd z wykładu Alex Bigelow: Graphs and Trees, University of Utah, 2014

Wizualizacja i analiza macierzy połączeń Wykorzystywane dla gęstych grafów Pozwalają dostrzec - Regularności - Pod-grafy Uporządkowanie wierszy wpływa na wynik wizualizacji Wymaga doświadczenia od odbiorcy Niełatwe śledzenie ścieżek w grafie Slajd z wykładu Alex Bigelow: Graphs and Trees, University of Utah, 2014

Trees wizualizacja drzew Node-link diagrams Węzły rozmieszczone równomiernie w przestrzeni 2D, dopóki rozmiar pozwoli Typowo tzw. drzewo płaskie Także nietypowe reprezentacje

To jest też diagram typu drzewo

Indentation tree Umieszczaj elementy w kolejnych wierszach Wcięcie ma znaczenie: Pokazuje zależność rodzicdziecko Często stosowany interfejs w informatyce Może wymagać scrollowania ekranu Trudności z wizualizacją dużych drzew

Klasyczne ułożenie - algorytm Reingold and Tilford

Przykład eksploracji danych - Japanese credit data W przykładzie wykorzystano dane dotyczące 125 osób ubiegających się o kredyty konsumpcyjne w pewnym banku w Japonii (archiwum Univ. Irvine). Osoby scharakteryzowane za pomocą 10 cech jakościowych i ilościowych, np. sytuacja zawodowa, przeznaczenie kredytu, płeć, stan cywilny, wiek, zarobki, stan konta, deklarowane raty, staż pracy w zakładzie (lata),... Klienci byli podzielenie na dwie grupy: dobrych (mogą uzyskać kredyt) i ryzykownych. Cel analizy: identyfikacja reguł decyzji kredytowych, poszukiwanie profilu klientów którzy nie powinni otrzymać kredytu

Final tree for credit data bezrobotny nie praca tak pracujący Staż pracy > 4 4 przeznaczenie komputer leczenie bizuteria audio wakacje meble samochod tak wiek nie Stan cywil. nie konto nie 35 >35 samotny rodzina < 300 tys 300 tys tak nie nie tak nie tak

Indukcja drzew z danych medycznych U.Lubljana

Tools for decision tree visualisation

Visualization of a Decision Tree in SGI/MineSet 3.0

Redukcja, upraszczanie drzewa (tree pruning) Wiele drzew (zwłaszcza automatycznie odkrywanych z danych) ma zbyt duże rozmiary dla analizy przez człowieka: Dotyczy zarówno zadań indukcji drzew decyzyjnych jak i hierarchicznych algorytmów analizy skupień Wyzwanie dla wielkich i złożonych danych Pomimo symbolicznej reprezentacji trudność dostrzeżenia szczegółów Klasyczne algorytmy indukcji drzew najważniejsze atrybutu blisko korzenia drzewa Rozwinięte techniki redukcji drzew (pre-pruning vs. post-pruning)

Decision tree post-pruning Bottom-up Consider replacing a tree only after considering all its subtrees

Trees różne reprezentacje Traditional Treemap Hyperbolic Tree ConeTree SunTree Botanical

Zmiana układu współrzędnych polar coordinates

Inne wizualizacje

Wizualizacja sieci WWW

Hierarchiczne wizualizacje Treemaps (Johnson and Shneiderman 1991) Treemaps display hierarchical data using rectangles. Each branch of the tree is assigned a rectangle. Then each sub-branch gets assigned to a rectangle and this continues recursively until a leaf node is found. A leaf node's rectangle has an area proportional to a specified dimension (cardinality) on the data. (Illustration -- proportional to a waiting time) Depending on choice the rectangle representing the leaf node is colored, sized or both according to chosen attributes.

Treemaps zasady budowy wizualizacji Rekurencyjny podział przestrzeni w odniesieniu do binarnego drzewa: Najpierw podziel obszar horyzontalnie zgodnie z proporcja przypadków w gałęziach drzewa. W następnym kroku dziel wertykalnie wg. proporcji wśród węzłów potomnych Proces powtarzaj, aż dojdziesz do węzłów końcowych drzewa

Treemaps przykład hierarchicznego drzewa Rekurencyjny podział przestrzeni w odniesieniu do binarnego drzewa: Najpierw podziel obszar horyzontalnie zgodnie z proporcja przypadków w gałęziach drzewa W następnym kroku dziel wertykalnie wg. proporcji wśród węzłów potomnych Proces powtarzaj, aż dojdziesz do węzłów końcowych drzewa

Treemaps złożona hierarchia kształtów Rekurencyjny podział przestrzeni w odniesieniu do binarnego drzewa Lecz mogą powstawać złożone zagnieżdżenia prostokątów

Hierarchiczne wizualizacje Schneiderman 92 Treemaps wykorzystywane w Google Tools Ilustracja wiadomości dostępnych w sieci

Zagnieżdzanie kształtów w Treemaps

Bardziej złożone Treemaps

Inne rodzaje wizualizacji Od Treemaps do Voronoi maps

Prostokąty vs. hierarchia pierścieniowa Cel lepsza wizualizacja zależności hierarchicznej

Cone trees

Cone trees

Hyperbolic view of the tree 3D

Narzędzia wspomagające rysowanie grafów Popularne oprogramowanie: Prefuse (Information visualization software) Gephi (Graph visualization software) GUESS (Interactive interface to modify graph properties) Cytoscape GraphViz NetDraw Specjalistyczne biblioteki dla Big Data np. Pegasus

Graphiz software

Literatura Chen, C.H., Härdle, W. and Unwin, A. (eds). Handbook of Data Visualization, Springer, Heidelberg (2008). Unwin, Theus, Hofmann: Graphics of Large Datsets. Visualizing a Million, Springer (2006) Graph Visualisation and Navigation in Information Visualisation: a Survey. Ivan Herman, Guy Melancon, M. Scott Marshall. IEEE Transactions on Visualization and Computer Graphics, 6(1):24-44, 2000. Także materiały wykładowe: Chris North: cs5984 Information Visualization (Web site: www.cs.vt.edu/~north/infoviz/)

Pytania i uwagi