Wyk lad 7: Drzewa decyzyjne dla dużych zbiorów danych



Podobne dokumenty
Wyk lad 7: Drzewa decyzyjne dla dużych zbiorów danych

Drzewa decyzyjne. Nguyen Hung Son. Nguyen Hung Son () DT 1 / 34

Systemy decyzyjne Wyk lad 4: Drzewa decyzyjne

Systemy decyzyjne Wykªad 5: Drzewa decyzyjne

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

Podstawy Informatyki. Metody dostępu do danych

Tadeusz Pankowski

WYKŁAD 11 Uczenie maszynowe drzewa decyzyjne

Drzewa podstawowe poj

Drzewa AVL definicje

Przykładowe B+ drzewo

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

Klasyfikacja. Indeks Gini Zysk informacyjny. Eksploracja danych. Klasyfikacja wykład 2

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

Co to są drzewa decyzji

Bazy danych. Andrzej Łachwa, UJ, /15

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

Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski

Wyk lad 8: Leniwe metody klasyfikacji

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

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

Równoleg le sortowanie przez scalanie

Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Definicja pliku kratowego

Algorytmy klasyfikacji

PLAN WYKŁADU BAZY DANYCH INDEKSY - DEFINICJE. Indeksy jednopoziomowe Indeksy wielopoziomowe Indeksy z użyciem B-drzew i B + -drzew

Bazy danych - BD. Indeksy. Wykład przygotował: Robert Wrembel. BD wykład 7 (1)

Indeksy. Wprowadzenie. Indeksy jednopoziomowe indeks podstawowy indeks zgrupowany indeks wtórny. Indeksy wielopoziomowe

Problem 1 prec f max. Algorytm Lawlera dla problemu 1 prec f max. 1 procesor. n zadań T 1,..., T n (ich zbiór oznaczamy przez T )

Kolejka priorytetowa. Często rozważa się kolejki priorytetowe, w których poszukuje się elementu minimalnego zamiast maksymalnego.

PRZYSPIESZENIE KNN. Ulepszone metody indeksowania przestrzeni danych: R-drzewo, R*-drzewo, SS-drzewo, SR-drzewo.

Wyk lad 9 Baza i wymiar przestrzeni liniowej

Podstawy Informatyki. Wykład 6. Struktury danych

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

Indukowane Reguły Decyzyjne I. Wykład 3

Wnioskowanie Boolowskie i teoria zbiorów przybli»onych

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Paradygmaty programowania. Paradygmaty programowania

Algorytmy i Struktury Danych

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

celu przyjmijmy: min x 0 = n t Zadanie transportowe nazywamy zbilansowanym gdy podaż = popyt, czyli n

Algorytmy i Struktury Danych, 2. ćwiczenia

ALGORYTMY I STRUKTURY DANYCH

Algorytmy metaheurystyczne Wykład 11. Piotr Syga

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

Struktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott

Programowanie w VB Proste algorytmy sortowania

Wybrane zadania przygotowujące do egzaminu z ISO- cz. 2. dr Piotr Wąsiewicz

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

Indeksowanie w bazach danych

Optymalizacja zapytań. Proces przetwarzania i obliczania wyniku zapytania (wyrażenia algebry relacji) w SZBD

Analiza zrekonstruowanych śladów w danych pp 13 TeV

prowadzący dr ADRIAN HORZYK /~horzyk tel.: Konsultacje paw. D-13/325

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)

Klasyfikacja obiektów Drzewa decyzyjne (drzewa klasyfikacyjne)

Algorytmy i struktury danych

Drzewa binarne. Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0. jest drzewem binarnym Np.

Wyk lad 5 W lasności wyznaczników. Macierz odwrotna

Programowanie dynamiczne cz. 2

WSTĘP DO INFORMATYKI. Drzewa i struktury drzewiaste

Wykład XII. optymalizacja w relacyjnych bazach danych

CLUSTERING. Metody grupowania danych

Analiza algorytmów zadania podstawowe

Wysokość drzewa Głębokość węzła

Podstawy Informatyki Metody dostępu do danych

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Metody numeryczne I Równania nieliniowe

Ćwiczenie 6. Hurtownie danych

Wyk lad 7 Metoda eliminacji Gaussa. Wzory Cramera

Aproksymacja kraw. Od wielu lokalnych cech (edge elements) do spójnej, jednowymiarowej. epnej aproksymacji

Ogólne wiadomości o grafach

Klasyfikacja. Wprowadzenie. Klasyfikacja (1)

stopie szaro ci piksela ( x, y)

Wyk lad 6: Drzewa decyzyjne

Wstęp do Programowania potok funkcyjny

Złożoność i zagadnienia implementacyjne. Wybierz najlepszy atrybut i ustaw jako test w korzeniu. Stwórz gałąź dla każdej wartości atrybutu.

METODA SYMPLEKS. Maciej Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski

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

Podstawy Programowania C++

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

Sortowanie przez scalanie

Funkcje systemu Unix

Algorytmy dla maszyny PRAM

Sztuczna Inteligencja Projekt

System plików przykłady implementacji

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.

Indukowane Reguły Decyzyjne I. Wykład 8

wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK

INDUKCJA DRZEW DECYZYJNYCH

System plików przykłady. implementacji

Obliczenia rozproszone z wykorzystaniem MPI

Wstęp do Programowania potok funkcyjny

Podstawowe techniki segmentacji obszarów

Drzewo. Drzewo uporządkowane ma ponumerowanych (oznaczonych) następników. Drzewo uporządkowane składa się z węzłów, które zawierają następujące pola:

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

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

REGU LY ASOCJACYJNE. Nguyen Hung Son. Wydzia l Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski. 28.II i 6.III, 2008

Typy danych. 2. Dane liczbowe 2.1. Liczby całkowite ze znakiem i bez znaku: 32768, -165, ; 2.2. Liczby rzeczywiste stało i zmienno pozycyjne:

Przykłady problemów optymalizacyjnych

Luty 2001 Algorytmy (4) 2000/2001

Transkrypt:

Wyk lad 7: Drzewa decyzyjne dla dużych zbiorów danych

Funkcja rekurencyjna buduj drzewo(u, dec, T): 1: if (kryterium stopu(u, dec) = true) then 2: T.etykieta = kategoria(u, dec); 3: return; 4: end if 5: t := wybierz test(u, TEST); 6: T.test := t; 7: for v R t do 8: U v := {x U : t(x) = v}; 9: utwórz nowe poddrzewo T ; 10: T.ga l aź(v) = T ; 11: buduj drzewo(u v, dec, T ) 12: end for

Funkcje pomocnicze Kryterium stopu: Zatrzymamy konstrukcji drzewa, gdy aktualny zbiór obiektów: jest pusty lub zawiera obiekty wy l acznie jednej klasy decyzyjnej lub nie ulega podziale przez żaden test Wyznaczenie etykiety zasada wiekszościow a: kategoria(p, dec) = arg max c V dec P [dec=c] tzn., etykieta dla danego zbioru obiektów jest klasa decyzyjna najliczniej reprezentowana w tym zbiorze. Kryterium wyboru testu: heurytyczna funkcja oceniajaca testy.

Miary różnorodności zbioru Każdy zbiór obiektów X ulega podziale na klasy decyzyjne: X = C 1 C 2... C d gdzie C i = {u X : dec(u) = i}. Wektor (p 1,..., p r ), gdzie p i = C i X, nazywamy rozk ladem klas decyzyjnych w X. Conflict(X) = i<j C i C j = 1 2 ( X 2 C i 2) Entropy(X) = C i X log C i X = p i log p i Gini(X) = 1 p 2 i

Ocena funkcji testu Każdy test t jest oceniony na podstawie informacji zawartych w X, X 1,..., X nt t X1 X2... X nt X Podzia l zbioru X dokonany przez test t;

Ocena funkcji testu Rozróżnialność: disc(t, X) = conflict(x) conflict(x i ) Przyrostu informacji (Information gain). Gain(t, X) = Entropy(X) X i X Entropy(X i) Gini s index G(t, X) = Gini(X) X i X Gini(X i) Kara za zbyt drobny podzia l, np. gain ratio Gain ratio = Gain(t, X) r X i i=1 X log X i X

Przyk lad

S labości standardowego algorytmu: Każdy weze l jest skojarzony z podzbiorem danych: ograniczenie pamieciowe Wyznaczenie najlepszego wymaga wielokrotnego sortowania danych: czasoch lonne Dany atrybut rzeczywisty a i zbiór możliwych cieć (c 1, c 2,...c N ), najlepszy test (a, c i ) można znaleźć w czasie Ω(N) Minimalna liczba prostych zapytań SQL potrzebna do szukania najlepszego testu jest O(dN), gdzie d jest liczba klas decyzyjnych Wniosek: szukanie najlepszego jest kosztowne, jeśli atrybut zawiera dużo różnych wartości.

Charaterystyka algorytmu SPRINT Nadaje si e dla danych cz eściowo umieszczonych na dysku Używa si e techniki pre-sortowania w celu przyspieszenia procesu obliczenia na atrybutach rzeczywistych; Dane s a sortowane tylko raz przed obliczeniem Latwo można zrównoleglić

Struktura danych w SPRINT Każdy atrybut ma swoja liste wartości Każdy element listy ma trzy pole: - wartość atrybutu, - numer klasy i - rid (numer obiektu w zbiorze danych) Rzeczywiste atrybuty sa uporzadkowane (tylko raz przy utworzeniu) Na poczatku listy sa stowarzyszone z korzeniem drzewa Kiedy weze l podlega podziale, listy sa podzielone i sa skojarzone z odpowiednimi nastepnikami Listy sa zapisane na dysku w razie potrzeby

Przyk lad

Struktura danych w SPRINT SPRINT używa: indeksu Gini do oceny jakości testu typu (a c) dla atrybutów rzeczywistych testu typu (a V ) dla atrybutów symbolicznych Histogram: rozk lad klas decyzyjnych zbadanego zbioru danych Dla atrybutu rzeczywistego dwa histogramy: C below : histogram dla danych poniżej wartości progowej C above : histogram dla danych powyżej wartości progowej Dla atrybutu symbolicznego jeden histogram zwany count matrix

Przyk lad Car Type family sports sports family Class High High High Low rid 0 1 2 3 Punkt podziału Age Class rid 17 High 1 20 High 5 23 High 0 32 Low 4 truck Low 4 43 High 2 family high 5 68 Low 3 Count matrix H L family 2 1 sports 2 0 truck 0 1 Histogram klas

Outline 1 2

Wyznaczanie atrybutu rzeczywistego

Wyznaczanie atrybutu symbolicznego Lista wartości CarType Car Type Class rid family High 0 sports High 1 sports High 2 family Low 3 truck Low 4 family high 5 Count Matrix H L family 2 1 sports 2 0 truck 0 1 1. Wyznacz macierz rozkładu klas obiektów w danym węźle 2. Używając algorytmu aproksymacyjnego (w SLIQ) wyznacz podzbiór wartości V D a t. żeby test (a V) był optymalny

Outline 1 2

G lówna idea Każda lista jest podzielona na dwie listy Atrybut zawierajacy test: Podziel wartości listy zgodnie z testem Atrybut niewierajacy test: Nie można korzystać z informacji w funkcji testu. Skorzystaj z rid Skorzystaj z tablicy haszujacej Przy podziale atrybutu zawierajacy test: wstaw rid rekordów do tablicy haszujacej. Tablica haszujaca: informacje o tym do którego poddrzewa rekord zosta l przeniesiony. Algorytm: Przegladaj kolejny rekord listy Dla każdego rekordu wyznacz (na podstawie tablicy haszujacej) poddrzewo, do którego rekord ma być przeniesiony

Problem: zbyt duża tablica haszujaca Algorytm: Krok 1: Podziel zbiór wartości atrybutu testujacego na ma le porcje tak, żeby tablica haszujaca mieści la sie w pamieci Krok 2: Dla każdej porcji Podziel rekordy atrybutu testujacego do w laściwego podrzewa Buduj tablice haszujacej Przegladaj kolejny rekord atrybutu nietestujacego i przynieś go do odpowiedniego poddrzewa jeśli rekord wystepuje w tablicy haszujacej Krok 3: Jeśli wszystkie rekordy zosta ly przydzielone do poddrzew stop, wpp. idź do krok 2

Outline 1 2

Równoleg ly SPRINT Listy wartości atrybutów sa równo podzielone Atrybut rzeczywisty: sortuj zbiór wartości i podziel go na równe przedzia ly Atrybut numeryczny: podziel wed lug rid Każdy procesor ma jedna cześć każdej listy

Dla atrybutu rzeczywistego: Każdy procesor ma przedzia l wartości atrybutu Każdy procesor inicjalizuje C below i C above uwzgledniaj ac rozk lad klas w innych procesorach Każdy procesor przeglada swoja liste i wyznacza najlepsza lokalna wartość progowa Procesory komunikuja sie w celu znalezienia globalnie najlepszego ciecia Dla atrybutu symbolicznego: Każdy procesor buduje lokalne count matrix i wysy la wynik do centralnego procesora Centralny procesor oblicza globalny count matrix Procesory wyznaczaja najlepszy podzia l na podstawie globalnego count matrix

Przyk lad Age Class rid 17 High 1 20 High 5 23 High 0 Procesor 0 Car Type Class rid family High 0 sports High 1 sports High 2 Age Class rid 32 Low 4 43 High 2 68 Low 3 Procesor 1 Car Type Class rid family Low 3 truck Low 4 family high 5

Podzia l atrybutu zawierajacy test: Każdy procesor wyznacza poddrzewa, do których rekordy w lokalnej liście bed a przeniesione Procesory wymieniaja ze soba informacje rids, poddrzewo Podzia l pozosta lych atrybutów: Po otrzymaniu informacji ze wszystkich procesorów każdy procesor buduje tablice haszujac a i wykonuje podzia ly dla pozosta lych atrybutów

Wady algorytmu SPRINT Dodatkowe struktury danych Nieefektywny jeśli atrybut ma dużo wartości Nie wykorzystuje mocnych narz edzi systemów baz danych