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

Wyk lad 8: Leniwe metody klasyfikacji

Wyk lad 6: Drzewa decyzyjne

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

Systemy decyzyjne Wykªad 5: Drzewa decyzyjne

Machine Learning for Data Science (CS4786) Lecture11. Random Projections & Canonical Correlation Analysis

Hard-Margin Support Vector Machines

Machine Learning for Data Science (CS4786) Lecture 11. Spectral Embedding + Clustering

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

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

Helena Boguta, klasa 8W, rok szkolny 2018/2019

TTIC 31210: Advanced Natural Language Processing. Kevin Gimpel Spring Lecture 9: Inference in Structured Prediction

Weronika Mysliwiec, klasa 8W, rok szkolny 2018/2019

Revenue Maximization. Sept. 25, 2018

Linear Classification and Logistic Regression. Pascal Fua IC-CVLab

utrzymania swoich obecnych klientów i dowiedzia la sie, że metody data mining moga

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

Podstawy Informatyki. Metody dostępu do danych

WYKŁAD 11 Uczenie maszynowe drzewa decyzyjne

Drzewa AVL definicje

tum.de/fall2018/ in2357

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

A Zadanie

Drzewa podstawowe poj

Indeksowanie w bazach danych

Algorytmy klasyfikacji

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Tadeusz Pankowski

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

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

PRZYKŁAD ZASTOSOWANIA DOKŁADNEGO NIEPARAMETRYCZNEGO PRZEDZIAŁU UFNOŚCI DLA VaR. Wojciech Zieliński

Systemy decyzyjne. Wykład 3: Wnioskowanie Boolowskie w obliczeniu Redutów i reguł decyzyjnych. Nguyen Hung Son. Nguyen Hung Son () 1 / 61

OpenPoland.net API Documentation

Przykładowe B+ drzewo

SSW1.1, HFW Fry #20, Zeno #25 Benchmark: Qtr.1. Fry #65, Zeno #67. like

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

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

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

Co to są drzewa decyzji

Oracle PL/SQL. Paweł Rajba.

Drzewa decyzyjne i lasy losowe

y = The Chain Rule Show all work. No calculator unless otherwise stated. If asked to Explain your answer, write in complete sentences.

Wnioskowanie Boolowskie i teoria zbiorów przybli»onych

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

Analysis of Movie Profitability STAT 469 IN CLASS ANALYSIS #2

Machine Learning for Data Science (CS4786) Lecture 24. Differential Privacy and Re-useable Holdout


Indukcja drzew decyzyjnych

Procedury i funkcje składowane

Materiały. Technologie baz danych. Plan wykładu Kursory. Wykład 5: Kursory jawne. Podprogramy. Kursory jawne. Kursory niejawne

Algorytmy metaheurystyczne Wykład 11. Piotr Syga

Zarządzanie sieciami komputerowymi - wprowadzenie

Paradygmaty programowania. Paradygmaty programowania

Previously on CSCI 4622

TTIC 31210: Advanced Natural Language Processing. Kevin Gimpel Spring Lecture 8: Structured PredicCon 2

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

SubVersion. Piotr Mikulski. SubVersion. P. Mikulski. Co to jest subversion? Zalety SubVersion. Wady SubVersion. Inne różnice SubVersion i CVS

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1

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

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

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:

Few-fermion thermometry

Strategie ewolucyjne. Gnypowicz Damian Staniszczak Łukasz Woźniak Marek

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

Indukowane Reguły Decyzyjne I. Wykład 3

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


Tychy, plan miasta: Skala 1: (Polish Edition)

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

Traceability. matrix

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

Sztuczna Inteligencja i Systemy Doradcze

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

Laboratorium 6. Indukcja drzew decyzyjnych.

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

Drzewa klasyfikacyjne algorytm podstawowy

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

Instrukcja konfiguracji usługi Wirtualnej Sieci Prywatnej w systemie Mac OSX

Wstęp do Programowania potok funkcyjny

Agnostic Learning and VC dimension

Kolekcje Zbiory obiektów, rodzaje: tablica o zmiennym rozmiarze (ang. varray) (1) (2) (3) (4) (5) Rozszerzenie obiektowe w SZBD Oracle

Analiza Sieci Społecznych Pajek

Data Mining Wykład 4. Plan wykładu

SAS Podstawowe informacje przed ćwiczeniem 1

Zarządzanie sieciami telekomunikacyjnymi

Ćwiczenie 6. Hurtownie danych

KORELACJA 1. Wykres rozrzutu ocena związku między zmiennymi X i Y. 2. Współczynnik korelacji Pearsona

MaPlan Sp. z O.O. Click here if your download doesn"t start automatically


SVM: Maszyny Wektorów Podpieraja cych

Convolution semigroups with linear Jacobi parameters

Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u

Baza danych dla potrzeb zgłębiania DMX

Wstęp do programowania

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition)

Kursor. Rozdział 10a Kursory. Otwieranie kursora. Deklarowanie kursora

Statystyka w analizie i planowaniu eksperymentu

Znajdowanie skojarzeń na maszynie równoległej

Transkrypt:

Wyk lad 7: Drzewa decyzyjne dla dużych zbiorów danych Nguyen Hung Son Nguyen Hung Son () Data mining 1 / 39

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 Nguyen Hung Son () Data mining 2 / 39

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. Nguyen Hung Son () Data mining 3 / 39

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 Nguyen Hung Son () Data mining 4 / 39

Ocena funkcji testu Każdy test t jest oceniony na podstawie informacji zawartych w X, X 1,..., X nt Podzia l zbioru X dokonany przez test t; Nguyen Hung Son () Data mining 5 / 39

Ocena funkcji testu Rozróżnialność: disc(t, X) = conflict(x) conflict(x i ) Przyrostu informacji (Information gain). Gini s index Gain(t, X) = Entropy(X) X i X Entropy(X i) 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 Nguyen Hung Son () Data mining 6 / 39

Przyk lad Nguyen Hung Son () Data mining 7 / 39

S labości standardowego algorytmu: Każdy weze l jest skojarzony z podzbiorem danych: ograniczenie pamieciowe Wyznaczenie najlepszego podzia lu 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 podzia lu jest kosztowne, jeśli atrybut zawiera dużo różnych wartości. Nguyen Hung Son () Data mining 8 / 39

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 sa sortowane tylko raz przed obliczeniem Latwo można zrównoleglić Nguyen Hung Son () Data mining 9 / 39

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 Nguyen Hung Son () Data mining 10 / 39

Przyk lad Nguyen Hung Son () Data mining 11 / 39

Struktura danych w SPRINT SPRINT używa: indeksu Gini do oceny jakości podzia lu 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 Nguyen Hung Son () Data mining 12 / 39

Przyk lad Car Type family sports sports family truck family Class High High High Low Low high rid 0 1 2 3 4 5 Punkt podziału Age Class rid 17 High 1 20 High 5 23 High 0 32 Low 4 43 High 2 68 Low 3 Count matrix Histogram klas H L family 2 1 sports 2 0 Nguyen Hung Son () Data mining 13 / 39

Outline 1 Motywacje 2 Algorytm SPRINT Szukanie najlepszego podzia lu Dokonanie podzia lu SPRINT - wersja równoleg la 3 Metoda Wnioskowania Boolowskiego Nguyen Hung Son () Data mining 14 / 39

Wyznaczanie podzia lu atrybutu rzeczywistego Nguyen Hung Son () Data mining 15 / 39

Wyznaczanie podzia lu atrybutu symbolicznego Lista wartości CarType Count Matrix Car Type Class rid family High 0 H L sports High 1 family 2 1 sports High 2 family Low 3 sports 2 0 truck Low 4 truck 0 1 family high 5 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 Nguyen Hung Son () Data mining 16 / 39

Outline 1 Motywacje 2 Algorytm SPRINT Szukanie najlepszego podzia lu Dokonanie podzia lu SPRINT - wersja równoleg la 3 Metoda Wnioskowania Boolowskiego Nguyen Hung Son () Data mining 17 / 39

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 Nguyen Hung Son () Data mining 18 / 39

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 Nguyen Hung Son () Data mining 19 / 39

Outline 1 Motywacje 2 Algorytm SPRINT Szukanie najlepszego podzia lu Dokonanie podzia lu SPRINT - wersja równoleg la 3 Metoda Wnioskowania Boolowskiego Nguyen Hung Son () Data mining 20 / 39

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 Nguyen Hung Son () Data mining 21 / 39

Szukanie najlepszego podzia lu 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 Nguyen Hung Son () Data mining 22 / 39

Przyk lad Procesor 0 Age Class rid 17 High 1 20 High 5 23 High 0 Car Type Class rid family High 0 sports High 1 sports High 2 Procesor 1 Age Class rid 32 Low 4 43 High 2 68 Low 3 Car Type Class rid family Low 3 truck Low 4 family high 5 Nguyen Hung Son () Data mining 23 / 39

Dokonanie podzia lu 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 Nguyen Hung Son () Data mining 24 / 39

Wady algorytmu SPRINT Dodatkowe struktury danych Nieefektywny jeśli atrybut ma dużo wartości Nie wykorzystuje mocnych narz edzi systemów baz danych Nguyen Hung Son () Data mining 25 / 39

Dyskretyzacja S a b d 3 u 1 0.8 2 1 u 2 1 0.5 0 2 u 3 1.3 3 0 u 4 1.4 1 1 u 5 1.4 2 0 1 u 6 1.6 3 1 0.5 u 7 1.3 1 1 0 0.8 1 1.3 1.41.6 Zmienne Boolowskie: p a 1, p a 2, p a 3, p a 4, p b 1, p b 2, p b 3 odpowiadaja(a, 0.9), (a, 1.15), (a, 1.35), (a, 1.5), (b, 0.75), (b, 1.5), (b, 2.5); Nguyen Hung Son () Data mining 26 / 39

Dyskretyzacja S a b d 3 u 1 0.8 2 1 u 2 1 0.5 0 2 u 3 1.3 3 0 u 4 1.4 1 1 u 5 1.4 2 0 1 u 6 1.6 3 1 0.5 u 7 1.3 1 1 0 0.8 1 1.3 1.41.6 Zmienne Boolowskie: p a 1, p a 2, p a 3, p a 4, p b 1, p b 2, p b 3 odpowiadaja(a, 0.9), (a, 1.15), (a, 1.35), (a, 1.5), (b, 0.75), (b, 1.5), (b, 2.5); Funkcja kodujaca problem dyskretyzacji Φ S = ( p a 1 + p b 1 + p b ( 2) p a 1 + p a 2 + p b 3) (p a 1 + p a 2 + p a 3) ( p a 2 + p a 3 + p b ) 1 p b ( 2 p a 2 + p b 2 + p b ( 3) p a 2 + p a 3 + p a 4 + p b 1 + p b 2 + p b 3) (p a 3 + p a 4) ( p a 4 + p b ) ( 3 p a 2 + p b ) ( 1 p b 2 + p b ) ( 3 p a 3 + p b 2) Nguyen Hung Son () Data mining 26 / 39

Dyskretyzacja S a b d 3 u 1 0.8 2 1 u 2 1 0.5 0 2 u 3 1.3 3 0 u 4 1.4 1 1 u 5 1.4 2 0 1 u 6 1.6 3 1 0.5 u 7 1.3 1 1 0 0.8 1 1.3 1.41.6 Zmienne Boolowskie: p a 1, p a 2, p a 3, p a 4, p b 1, p b 2, p b 3 odpowiadaja(a, 0.9), (a, 1.15), (a, 1.35), (a, 1.5), (b, 0.75), (b, 1.5), (b, 2.5); Funkcja kodujaca problem dyskretyzacji Φ S = ( p a 1 + p b 1 + p b ( 2) p a 1 + p a 2 + p b 3) (p a 1 + p a 2 + p a 3) ( p a 2 + p a 3 + p b ) 1 p b ( 2 p a 2 + p b 2 + p b ( 3) p a 2 + p a 3 + p a 4 + p b 1 + p b 2 + p b 3) (p a 3 + p a 4) ( p a 4 + p b ) ( 3 p a 2 + p b ) ( 1 p b 2 + p b ) ( 3 p a 3 + p b 2) Po redukcji: Φ S = p a 2p a 4p b 2 + p a 2p a 3p b 2p b 3 + p a 3p b 1p b 2p b 3 + p a 1p a 4p b 1p b 2. Nguyen Hung Son () Data mining 26 / 39

Dyskretyzacja S a b d 3 u 1 0.8 2 1 u 2 1 0.5 0 2 u 3 1.3 3 0 u 4 1.4 1 1 u 5 1.4 2 0 1 u 6 1.6 3 1 0.5 u 7 1.3 1 1 0 0.8 1 1.3 1.41.6 Zmienne Boolowskie: p a 1, p a 2, p a 3, p a 4, p b 1, p b 2, p b 3 odpowiadaja(a, 0.9), (a, 1.15), (a, 1.35), (a, 1.5), (b, 0.75), (b, 1.5), (b, 2.5); Funkcja kodujaca problem dyskretyzacji Φ S = ( p a 1 + p b 1 + p b ( 2) p a 1 + p a 2 + p b 3) (p a 1 + p a 2 + p a 3) ( p a 2 + p a 3 + p b ) 1 p b ( 2 p a 2 + p b 2 + p b ( 3) p a 2 + p a 3 + p a 4 + p b 1 + p b 2 + p b 3) (p a 3 + p a 4) ( p a 4 + p b ) ( 3 p a 2 + p b ) ( 1 p b 2 + p b ) ( 3 p a 3 + p b 2) Po redukcji: Φ S = p a 2p a 4p b 2 + p a 2p a 3p b 2p b 3 + p a 3p b 1p b 2p b 3 + p a 1p a 4p b 1p b 2. Nguyen Hung Son () Data mining 26 / 39

MD-heuristics Funkcja Boolowska kodujaca problem dyskretyzacji posiada O(nk) zmiennych i O(n 2 ) klauzuli, gdzie n jest liczba obiektów, k jest liczba atrybutów. Nguyen Hung Son () Data mining 27 / 39

MD-heuristics Funkcja Boolowska kodujaca problem dyskretyzacji posiada O(nk) zmiennych i O(n 2 ) klauzuli, gdzie n jest liczba obiektów, k jest liczba atrybutów. W algorytmie zach lannej, preferujemy ciecia, które rozróżniaja najwiecej par obiektów. Nguyen Hung Son () Data mining 27 / 39

MD-heuristics Funkcja Boolowska kodujaca problem dyskretyzacji posiada O(nk) zmiennych i O(n 2 ) klauzuli, gdzie n jest liczba obiektów, k jest liczba atrybutów. W algorytmie zach lannej, preferujemy ciecia, które rozróżniaja najwiecej par obiektów. Taki algorytm nazywamy heurystyka MD. Opracowane sa wersje globalne i lokalne. Nguyen Hung Son () Data mining 27 / 39

MD-heuristics Funkcja Boolowska kodujaca problem dyskretyzacji posiada O(nk) zmiennych i O(n 2 ) klauzuli, gdzie n jest liczba obiektów, k jest liczba atrybutów. W algorytmie zach lannej, preferujemy ciecia, które rozróżniaja najwiecej par obiektów. Taki algorytm nazywamy heurystyka MD. Opracowane sa wersje globalne i lokalne. Bezpośrednia implementacja heurystyki MD (z użyciem funkcji Boolowskiej) wymaga O(n 3 k) obliczeń w każdym kroku. Nguyen Hung Son () Data mining 27 / 39

MD-heuristics Funkcja Boolowska kodujaca problem dyskretyzacji posiada O(nk) zmiennych i O(n 2 ) klauzuli, gdzie n jest liczba obiektów, k jest liczba atrybutów. W algorytmie zach lannej, preferujemy ciecia, które rozróżniaja najwiecej par obiektów. Taki algorytm nazywamy heurystyka MD. Opracowane sa wersje globalne i lokalne. Bezpośrednia implementacja heurystyki MD (z użyciem funkcji Boolowskiej) wymaga O(n 3 k) obliczeń w każdym kroku. Można realizować heurystyk e MD w czasie O(nk log n P ), gdzie P jest zbiorem ci eć znalezionych przez algorytm Nguyen Hung Son () Data mining 27 / 39

Dyskretyzacja za pomoca zapytań SQL Dany atrybut rzeczywisty a i zbiór możliwych wartości progowych (t 1, t 2,...t N ), najlepszy ci ecie (a, t Best ) można znaleźć w czasie O(N); Nguyen Hung Son () Data mining 28 / 39

Dyskretyzacja za pomoca zapytań SQL Dany atrybut rzeczywisty a i zbiór możliwych wartości progowych (t 1, t 2,...t N ), najlepszy ci ecie (a, t Best ) można znaleźć w czasie O(N); Minimalna liczba prostych zapytań SQL potrzebna do szukania najlepszego ciecia jest O(dN), gdzie d jest liczba klas decyzyjnych Nguyen Hung Son () Data mining 28 / 39

Dyskretyzacja za pomoca zapytań SQL Dany atrybut rzeczywisty a i zbiór możliwych wartości progowych (t 1, t 2,...t N ), najlepszy ci ecie (a, t Best ) można znaleźć w czasie O(N); Minimalna liczba prostych zapytań SQL potrzebna do szukania najlepszego ciecia jest O(dN), gdzie d jest liczba klas decyzyjnych Przedstawione w rozprawie 3 techniki pozwalajace wyznaczyć najlepsze ciecie za pomoca O(d log N) zapytań: Nguyen Hung Son () Data mining 28 / 39

Dyskretyzacja za pomoca zapytań SQL Dany atrybut rzeczywisty a i zbiór możliwych wartości progowych (t 1, t 2,...t N ), najlepszy ci ecie (a, t Best ) można znaleźć w czasie O(N); Minimalna liczba prostych zapytań SQL potrzebna do szukania najlepszego ciecia jest O(dN), gdzie d jest liczba klas decyzyjnych Przedstawione w rozprawie 3 techniki pozwalajace wyznaczyć najlepsze ciecie za pomoca O(d log N) zapytań: Eliminacja cieć nie bed acych brzegami; Nguyen Hung Son () Data mining 28 / 39

Dyskretyzacja za pomoca zapytań SQL Dany atrybut rzeczywisty a i zbiór możliwych wartości progowych (t 1, t 2,...t N ), najlepszy ci ecie (a, t Best ) można znaleźć w czasie O(N); Minimalna liczba prostych zapytań SQL potrzebna do szukania najlepszego ciecia jest O(dN), gdzie d jest liczba klas decyzyjnych Przedstawione w rozprawie 3 techniki pozwalajace wyznaczyć najlepsze ciecie za pomoca O(d log N) zapytań: Eliminacja cieć nie bed acych brzegami; Obcinanie ogonków; Nguyen Hung Son () Data mining 28 / 39

Dyskretyzacja za pomoca zapytań SQL Dany atrybut rzeczywisty a i zbiór możliwych wartości progowych (t 1, t 2,...t N ), najlepszy ci ecie (a, t Best ) można znaleźć w czasie O(N); Minimalna liczba prostych zapytań SQL potrzebna do szukania najlepszego ciecia jest O(dN), gdzie d jest liczba klas decyzyjnych Przedstawione w rozprawie 3 techniki pozwalajace wyznaczyć najlepsze ciecie za pomoca O(d log N) zapytań: Eliminacja cieć nie bed acych brzegami; Obcinanie ogonków; Strategia dziel i rzadź Nguyen Hung Son () Data mining 28 / 39

Obcinanie ogonków 50 40 30 20 10 0 70 60 50 40 30 20 10 0 20 10 0 Distribution for first class Median(1) 0 50 100 150 200 250 300 350 400 450 Distribution for second class Median(2) 0 50 100 150 200 250 300 350 400 450 Distribution for third class Median(3) 0 50 100 150 200 250 300 350 400 450 Nguyen Hung Son () Data mining 29 / 39

Dziel i rzadź Podziel zbiór wartości atrybutu na k przedzia lów Oceń przedzia ly, aby zgadnać który z przedzia lów zawiera najlepsze ciecie Eval([c L, c R ]) = W (c L) + W (c R ) + conflict([c L, c R ]) 2 Wybierz najlepszy przedzia l (lub odrzuć s labe przedzia ly); Powtórz proces dla wybranego przedzia lu (wybranych przedzia lów); + Nguyen Hung Son () Data mining 30 / 39

ABR w problemie dyskretyzacji Dziel i rzadź jest kolejnym przyk ladem podejścia ABR: Nguyen Hung Son () Data mining 31 / 39

ABR w problemie dyskretyzacji Dziel i rzadź jest kolejnym przyk ladem podejścia ABR: Analizujemy przedzia ly, czyli zbiory zmiennych Boolowskich (lub zbiory odpowiednich cieć) zamiast pojedynczych cieć; Nguyen Hung Son () Data mining 31 / 39

ABR w problemie dyskretyzacji Dziel i rzadź jest kolejnym przyk ladem podejścia ABR: Analizujemy przedzia ly, czyli zbiory zmiennych Boolowskich (lub zbiory odpowiednich cieć) zamiast pojedynczych cieć; Wykorzystane sa cechy zwiazane z porzadkiem liniowym na cieciach; Nguyen Hung Son () Data mining 31 / 39

ABR w problemie dyskretyzacji Dziel i rzadź jest kolejnym przyk ladem podejścia ABR: Analizujemy przedzia ly, czyli zbiory zmiennych Boolowskich (lub zbiory odpowiednich cieć) zamiast pojedynczych cieć; Wykorzystane sa cechy zwiazane z porzadkiem liniowym na cieciach; Przedstawione sa metody zarówno na pojedynczych atrybutach jak i na wszystkich atrybutach. Nguyen Hung Son () Data mining 31 / 39

ABR w problemie dyskretyzacji Dziel i rzadź jest kolejnym przyk ladem podejścia ABR: Analizujemy przedzia ly, czyli zbiory zmiennych Boolowskich (lub zbiory odpowiednich cieć) zamiast pojedynczych cieć; Wykorzystane sa cechy zwiazane z porzadkiem liniowym na cieciach; Przedstawione sa metody zarówno na pojedynczych atrybutach jak i na wszystkich atrybutach. Eksperymenty pokazuja, że znalezione ciecia sa dość bliskie optymalnych; Nguyen Hung Son () Data mining 31 / 39

ABR w problemie dyskretyzacji Dziel i rzadź jest kolejnym przyk ladem podejścia ABR: Analizujemy przedzia ly, czyli zbiory zmiennych Boolowskich (lub zbiory odpowiednich cieć) zamiast pojedynczych cieć; Wykorzystane sa cechy zwiazane z porzadkiem liniowym na cieciach; Przedstawione sa metody zarówno na pojedynczych atrybutach jak i na wszystkich atrybutach. Eksperymenty pokazuja, że znalezione ciecia sa dość bliskie optymalnych; Opracowane sa podobne metody dla miary entropii; Nguyen Hung Son () Data mining 31 / 39

ABR w problemie dyskretyzacji Dziel i rzadź jest kolejnym przyk ladem podejścia ABR: Analizujemy przedzia ly, czyli zbiory zmiennych Boolowskich (lub zbiory odpowiednich cieć) zamiast pojedynczych cieć; Wykorzystane sa cechy zwiazane z porzadkiem liniowym na cieciach; Przedstawione sa metody zarówno na pojedynczych atrybutach jak i na wszystkich atrybutach. Eksperymenty pokazuja, że znalezione ciecia sa dość bliskie optymalnych; Opracowane sa podobne metody dla miary entropii; Można te metode wykorzystać do konstrukcji drzew decyzyjnych z dużych zbiorów danych; Nguyen Hung Son () Data mining 31 / 39

ABR w problemie dyskretyzacji Dziel i rzadź jest kolejnym przyk ladem podejścia ABR: Analizujemy przedzia ly, czyli zbiory zmiennych Boolowskich (lub zbiory odpowiednich cieć) zamiast pojedynczych cieć; Wykorzystane sa cechy zwiazane z porzadkiem liniowym na cieciach; Przedstawione sa metody zarówno na pojedynczych atrybutach jak i na wszystkich atrybutach. Eksperymenty pokazuja, że znalezione ciecia sa dość bliskie optymalnych; Opracowane sa podobne metody dla miary entropii; Można te metode wykorzystać do konstrukcji drzew decyzyjnych z dużych zbiorów danych;... i do znalezienia elastycznych ci eć. Nguyen Hung Son () Data mining 31 / 39

Soft cuts and soft DT A soft cut is any triple p = a, l, r, where a A is an attribute, l, r R are called the left and right bounds of p ; the value ε = r l 2 is called the uncertain radius of p. We say that a soft cut p discerns a pair of objects x 1, x 2 if a (x 1 ) < l and a (x 2 ) > r. l r a The intuitive meaning of p = a, l, r : there is a real cut somewhere between l and r. for any value v [l, r] we are not able to check if v is either on the left side or on the right side of the real cut. [l, r] is an uncertain interval of the soft cut p. normal cut can be treated as soft cut of radius 0. Nguyen Hung Son () Data mining 32 / 39

Soft Decision Tree The test functions can be defined by soft cuts Here we propose two strategies using described above soft cuts: fuzzy decision tree: any new object u can be classified as follows: For every internal node, compute the probability that u turns left and u turns right; For every leave L compute the probability that u is reaching L; The decision for u is equal to decision labeling the leaf with largest probability. rough decision tree: in case of uncertainty Use both left and right subtrees to classify the new object; Put together their answer and return the answer vector; Vote for the best decision class. Nguyen Hung Son () Data mining 33 / 39

Searching for soft cuts STANDARD ALGORITHM FOR BEST CUT For a given attribute a and a set of candidate cuts {c 1,..., c N }, the best cut (a, c i ) with respect to given heuristic measure can be founded in time Ω(N). F : {c 1,..., c N } R + The minimal number of simple SQL queries of form SELECT COUNT FROM datatable WHERE (a BETWEEN c L AND c R ) GROUPED BY d. necessary to find out the best cut is Ω(dN) OUR PROPOSITIONS FOR SOFT CUTS Tail cuts can be eliminated Divide and Conquer Technique Nguyen Hung Son () Data mining 34 / 39

Divide and Conquer Technique This measure should estimate the quality of the best cut from [c L ; c R ]. Nguyen Hung Son () Data mining 35 / 39 The algorithm outline: 1. Divide the set of possible cuts into k intervals 2. Chose the interval to which the best cut may belong with the highest probability. 3. If the considered interval is not STABLE enough then Go to Step 1 4. Return the current interval as a result. The number of SQL queries is O(d k log k n) and is minimum for k = 3; How to define the measure evaluating the quality of the interval [c L ; c R ]?

Discernibility measure: We construct estimation measures for intervals in four cases: Independency assumption Dependency assumption Under dependency assumption, i.e. x 1 M 1 x 2 M 2... x d M d Discernibility measure Entropy Measure???? x 1 +... + x d M 1 +... + M d = x M discernibility measure for [c L ; c R ] can be estimated by: W (c L ) + W (c R ) + conflict(c L ; c R ) 2 =: t [0, 1] + [W (c R) W (c L )] 2 conflict(c L ; x R ) Nguyen Hung Son () Data mining 36 / 39

Under dependency assumption, i.e. x 1,..., x d are independent random variables with uniform distribution over sets {0,..., M 1 },..., {0,..., M d }, respectively. The mean E(W (c)) for any cut c [c L ; c R ] satisfies E(W (c)) = W (c L) + W (c R ) + conflict(c L ; c R ) 2 and for the standard deviation of W (c) we have D 2 (W (c)) = 2 n M i(m i + 2) j L j ) 12 j i(r i=1 One can construct the measure estimating quality of the best cut in [c L ; c R ] by Eval ([c L ; c R ], α) = E(W (c)) + α D 2 (W (c)) Nguyen Hung Son () Data mining 37 / 39

Example Nguyen Hung Son () Data mining 38 / 39

Conclusions Soft cuts as a novel discretization concept; Soft decision tree; Efficient method for construction of soft cuts from large data (one can reduce the number of simple queries from O(N) to O(log N) to construct the partition very close to the optimal one). Nguyen Hung Son () Data mining 39 / 39