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