SAS wybrane elementy DATA MINING Część III Seweryn Kowalski 2006
Algorytmy eksploracji danych Algorytm eksploracji danych jest dobrze zdefiniowaną procedurą, która na wejściu otrzymuje dane, a na wyjściu daje wyniki w postaci modeli lub wzorców CART Propagacja Wsteczna Zadanie Klasyfikacja i regresja Regresja Struktura Funkcja Oceny Metoda przeszukiwania Technika zarządzania danymi Drzewo decyzyjne Walidacyjno-krzyżowa funkcja straty Zachłanne przeszukiwanie struktur Sieć neuronowa (funkcje nieliniowe) Błąd kwadratowy Opadanie gradientów na parametrach Apriori Odkrywanie reguł i wzorców Reguły asocjacyjne Wsparcie / dokładność Przeszukiwanie wstecz z przycinaniem Nieokreślona Nieokreślona Skanowanie liniowe 2006-03-23 2
Algorytmy eksploracji danych Inne algorytmy: Wyszukiwanie asocjacji: Algorytm Apriori Inne, bardziej zaawansowane Klasyfikacja, predykcja: Klasyfikacja Drzewa decyzyjne Modele Bayes'a Sieci neuronowe (perceptron) k-nearest Neighbours Alg. Genetyczne Case-based reasoning Zbiory rozmyte i przybliżone Predykcja Statystyczna regresja wielowymiarowa, inne rodzaje regresji Grupowanie: Metody oparte na gęstości: DBSCAN, OPTIC, DENCLUE Metody gridowe (ang. grid-based): STING, WaveCluster, CLIQUE Metody oparte na modelu: Podejście statystyczne, sieci neuronowe 2006-03-23 3
Klasyfikacja a przewidywanie (predykcja) Klasyfikacja: Przewiduje kategorie klas Klasyfikuje dane w oparciu o dane treningowe, używana do klasyfikacji nowych danych Np. klasyfikacja podań o pożyczkę bankowa jako bezpieczne lub ryzykowne Przewidywanie (predykcja): Działa na danych ciągłych przewiduje nieznane lub brakujące wartości Np. przewiduje wydatki potencjalnych klientów na wyposażenie komputerowe w oparciu o ich dochód i zajęcie Typowe zastosowania: Przydzielanie kredytów Target marketing Diagnozy medyczne Analiza skuteczności leczenia 2006-03-23 4
Klasyfikacja Krok 1 (budowa modelu) wprowadzenie ustalonego (z góry) zbioru klas danych Zakładamy, że każda dana (próbka) należy do zdefiniowanej klasy Wprowadzamy grupę danych do konstrukcji modelu (dane treningowe) Uczenie nadzorowane: tworzymy nasz model na podstawie danych treningowych Reprezentacje modelu: Reguły klasyfikacyjne Drzewa decyzyjne Formuły matematyczne 2006-03-23 5
Klasyfikacja Krok 2 (Zastosowanie modelu) model jest zastosowany do klasyfikacji nowych danych Ocena dokładności modelu: Klasa z danych testowych jest porównywalna na przewidywaniami modelu Dane testowe muszą być niezależne od danych treningowych Współczynnik dokładności procentowy udział dobrze zaklasyfikowanych danych testowych do wszystkich danych testowych 2006-03-23 6
Klasyfikacja 2006-03-23 7
Klasyfikacja wykorzystanie modelu 2006-03-23 8
Drzewa decyzyjne Diagram przepływu posiadający strukturę drzewa Wewnętrzne węzły test na atrybucie Gałęzie wyniki testu Liście klasy Zastosowanie: klasyfikacja nieznanej próbki Czy klient kupi komputer? 2006-03-23 9
Drzewa decyzyjne Jak zbudować: Ręcznie Automatycznie Budowa drzewa: W punkcie startowym wszystkie dane treningowe znajdują się w korzeniu drzewa Zbiór danych dzielimy na części (partycje) w oparciu o ich wybrane właściwości Czyszczenie drzewa: Obcinanie zbędnych gałęzi 2006-03-23 10
Algorytm dla drzewa decyzyjnego Prosty algorytm (zachłanny) Drzewo jest tworzone od góry do dołu opierając się o zasadę dziel i rządź Na początku wszystkie dane treningowe znajdują się w korzeniu Atrybuty (wartości) są wielkościami dyskretnymi Dzielenie na partycje odbywa się rekursywnie w oparciu na wybranych atrybutach Jeżeli próby znajdują się w tej samej klasie wówczas tworzony jest liść W przeciwnym wypadku selekcja opiera się na przeprowadzeniu testu statystycznego, który pozwala wybrać atrybut najlepiej dzielącą dane na klasy Podział na partycje jest zatrzymywany gdy zachodzi jeden z przypadków: Wszystkie próbki dla węzła należą do jednej klasy Nie pozostało już żadnego atrybutu ma podstawie którego można dzielić dalej. W tym przypadku węzeł zamieniany jest na liść i opisywany jako większościowy Nie ma więcej próbek dla gałęzi 2006-03-23 11
Algorytm dla drzewa decyzyjnego 1. utwórz węzeł N i 2. jeżeli próbki są tej samej klasy C to: 3. zwróć gałąź N jako liść oznaczając go klasą C 4. jeżeli lista atrybutów jest pusta to: 5. zwróć gałąź N jako liść oznaczając go jako klasę najczęściej występującą w próbce (większościową) 6. wybierz atrybut testowy (taki który posiada największą zdolność podzielczą (information gain) 7. oznacz węzeł N testowym atrybutem 8. dla każdej znanej wartości a i atrybutu testowego 9. rozwiń gałąź z węzła N dla warunku opartego o a i 10. niech s i będzie grupą danych w próbce spełniających warunek oparty na a i 11. jeżeli s i jest pusty to: 12. zwróć gałąź jako liść oznaczając go jako klasę najczęściej występującą w próbce (większościową) 13. przeciwnie podłącz kolejny węzeł 2006-03-23 12
Algorytm dla drzewa decyzyjnego Miara wybory atrybutu testowego Zdolność podzielcza (information gain) Pracuje na atrybutach dyskretnych (kategoriach) Może być zmodyfikowana do danych ciągłych Test Gini Pracuje na atrybutach ciągłych Zakłada kilka możliwych wartości podziałów dla każdego atrybutu 2006-03-23 13
Algorytm dla drzewa decyzyjnego Zdolność podzielcza (information gain) Założenie (mamy dwie klasy P i N) Niech zbiór próbek S zawiera p elementów klasy P oraz n elementów klasy N Liczba informacji potrzebna do określenia czy dana w S należy do P lub N opisana jest wzorem Załóżmy że używając atrybuty A próbka S została podzielona na {S 1,S 2,,S v } gdzie {1,2,,v} są możliwymi wartościami atrybutu A Jeżeli zbiór próbek S i zawiera p i elementów klasy P oraz n i elementów klasy N to entropia, lub oczekiwana informacja potrzebna na podzielenie S na wszystkie drzewa S i jest opisana wzorem Zdolność podzielczą możemy wówczas przedstawić przy pomocy równania: Atrybut z największą wartością zdolności podzielczej jest wybrany jako ten który dzieli S na grupy S i 2006-03-23 14
Algorytm dla drzewa decyzyjnego information gain przykład 1 Klasa P kupno komputera = yes Klasa N kupno komputera = no 2006-03-23 15
Algorytm dla drzewa decyzyjnego przykład 2 Fabryka kosiarek samojezdnych chce podzielić rodziny na te, które: chciałyby kupić kosiarkę i nie chciałyby kupić kosiarki Zebrano dane o 12 rodzinach posiadających kosiarkę i 12 nieposiadających kosiarki: Rozmiar działki (lot size) Przychód (income) Przedstawimy analizę tych danych na przykładzie algorytmu 2-etapowego algorytmu CART(1984): Rekurencyjny podział przestrzeni Obcinanie gałęzi przy użyciu danych walidacyjnych 2006-03-23 16
Algorytm dla drzewa decyzyjnego przykład 2 2006-03-23 17
Algorytm dla drzewa decyzyjnego przykład 2 Dzielimy przestrzeń tak, by nowopowstałe części były jak najbardziej jednorodne 2006-03-23 18
Algorytm dla drzewa decyzyjnego przykład 2 Istota podziału czyli jak to zrobić: Sprawdzamy wszystkie możliwe miejsca podziału dla każdej zmiennej (czyli wymiaru) Możliwe miejsca podziału to punkty pomiędzy dwoma kolejnymi punktami rzutowanymi na daną oś Ocena jakości podziału = zanieczyszczenie prostokąta przed podziałem zanieczyszczenie prostokątów powstałych po podziale Miara zanieczyszczenia: Np. indeks Gini: I( A) 1 C = k = 1 p 2 k A - badany prostokąt C - liczba klas p k -ułamek obserwacji w A, które należą do klasy k 2006-03-23 19
Algorytm dla drzewa decyzyjnego przykład 2 2006-03-23 20
Algorytm dla drzewa decyzyjnego przykład 2 2006-03-23 21