Zastosowanie drzew decyzyjnych do analizy danych Artur Soroczyński Politechnika Warszawska Instytut Technologii Materiałowych
Terminologia Datamining Drzewa decyzyjne Plan wykładu Przykład wykorzystania programu MineSet do analizy danych Wnioski
Czym jest Eksploracja danych? Definicja1: Nietrywialnie wydobywanie ukrytej, poprzednio nieznanej i potencjalnie użytecznej informacji z danych (W.Frawley, G. Piatetsky-Shapiro, C. Matheus. Knowledge Discovery in Databases: An Overview. AI Magazine, 1992) Definicja2: Nauka zajmująca się wydobywaniem informacji z dużych zbiorów danych lub baz danych (D. Hand, H. Mannila, P. Smyt. Principles of Data Mining. MIT Press, Cambridge, MA, 2001)
Eksploracja danych polega na torturowaniu danych tak długo, aż zaczną zeznawać
Czym Data mining nie jest Procesem nieodzownie związanym z hurtowniami danych; Typowym narzędziem analitycznym i środkiem do tworzenia sprawozdań; Całkowicie zautomatyzowanym procesem; Łatwym, tanim i szybkim do wdrożenia procesem;
Rodzaje problemów i właściwe dla nich metody Data maning Rodzaje problemu Opis zależności Klasyfikacja wzorcowa Metody Statystyczne metody pomiaru zależności Sieci neuronowe typu MLP lub RBF Metody analizy współwystępowania Zbiory przybliżone Funkcje dyskryminacyjne Sieci neuronowe typu MLP Drzewa decyzyjne Systemy regałowe Zbiory przybliżone Metoda k-najbliższych sąsiadów
Rodzaje problemów i właściwe dla nich metody Data maning cd. Klasyfikacja bez wzorcowa Metody taksonomiczne Sieci neuronowe samouczące się Metody redukcji wymiaru przestrzeni danych Metody graficzne Algorytmy genetyczne Analiza szeregów czasowych Problemy wyboru Sieci neuronowe typu MLP lub RBF Metoda analizy sygnałów Metody badań sekwencji Algorytmy genetyczne Sieci neuronowe typu Hopfielda Zbiory przybliżone
Wybór metody Empiryczna wiedza o danym zjawisku; Wielkość zbiorów danych; Sposób wykorzystania wyników ( funkcjonowanie badanego zjawiska, czarna skrzynka, wykres, reguły decyzyjne) ; Dostępność oprogramowania
Drzewo decyzyjne: jest to system operujący na danych typu nominalnego lub porządkowego. Jest strukturą logiczną (grafem) składającą się z elementów : Korzeń (początek drzewa), z którego wychodzą co najmniej dwie gałęzie do węzłów leżących na niższym poziomie Z każdym węzłem związany jest test sprawdzający wartości atrybutów opisujących przykłady (uczące lub zadane, dla których chcemy znaleźć odpowiedź systemu). Dla każdego z możliwych wyników testu odpowiadająca mu gałąź prowadzi do węzła leżącego na niższym poziomie. Węzły, z których nie wychodzą żadne gałęzie są to liście, którym przypisane są klasy.
Drzewo decyzyjne Klasycznym zastosowaniem drzew decyzyjnych jest klasyfikacja Możliwa jest również realizacja zadań typu regresji (aproksymacji funkcji) Uwzględnienie atrybutów o wartościach typu ciągłego wymaga przyjęcia granic przedziałów tych wartości dla testów w węzłach drzewa. Forma uzyskiwanych wyników (zazwyczaj w postaci nierówności) jest inna, niż w przypadku analizy regresji wykonanej innymi metodami, np. statystycznymi.
Drzewa decyzyjne-zalety Drzewa decyzyjne to jedna z najczęściej wykorzystywanych technik analizy danych. Mogą być budowane przy wykorzystaniu algorytmicznych technik "dziel i rządź". Metoda ta jest znana ze swej szybkości. Wykorzystują ją niemal wszystkie algorytmy drzew decyzyjnych uczenia. Doskonale bronią się przed szumem w danych. Mogą być wykorzystywane do selekcji i ekstrakcji cech. Modele drzew są względnie łatwe do zrozumienia przez ludzi. Sąłatwe do wizualizacji.
Drzewa decyzyjne-problemy Testuje się wartość jednego atrybutu na raz, co powoduje niepotrzebny rozrost drzewa dla danych gdzie poszczególne atrybuty zależą od siebie. Niższe partie drzewa mają b. mało danych, przypadkowe podziały. Nie wszystkie koncepcje dają się dobrze ująć za pomocą DT.
Drzewa decyzyjne ze wzmacnianiem (boosted trees) Dla trudnych zadań estymacji i predykcji, przewidywania generowane przez sekwencje prostych drzew są bliższe rzeczywistym wartościom, niż prognozy jednego, złożonego drzewa. Technikę polegającą na stosowaniu sekwencji prostych modeli, przy czym każdy kolejny model przykłada większą "wagę" do tych obserwacji, które zostały błędnie zaklasyfikowane przez poprzednie modele, nazywamy wzmacnianiem (ang. boosting). Drzewa decyzyjne ze wzmacnianiem lepiej modelują zależności złożone (w porównaniu do drzew prostych), ale są trudniejsze w interpretacji oraz wymagają większych nakładów obliczeniowych
Ogólne własności 1. Test (węzeł): - podział pojedynczej cechy lub kombinacji - cecha = {wartość} lub cecha > wartość 2. Kryteria rozbudowy: - maksymalizacja ilości informacji (information gain) - maksymalizacja poprawnie przydzielonej liczby obiektów - czystość węzła (purity of node) 3. Przycinanie (pruning): - usuwanie gałęzi które mają zbyt mało przypadków - ocena optymalnej złożoności na zbiorze walidacyjnym - prostsze drzewo jest łatwiejsze w generalizacji 4. Kryterium stopu (między innymi): -osiągnięta zakładana dokładność podziałów -osiągnięta zakładana ilość gałęzi
Obróbka danych Działania na danych Wizualizacja danych Narzędzia odkrywania wiedzy Zapisywanie danych
Wizualizacja danych- scatter
W. D. - Splat
W. D. - Statistics
W. D. Histogram
Odkrywanie reguł asocjacji Polega na znajdowaniu związków pomiędzy występowaniem grup atrybutów w bazie danych. Podstawowe do oceny reguły stanowią trzy statystyki (zakładamy, że zależność ma postać A=>B): wsparcie (ang. support), czyli procent klientów, którzy zakupili zarówno produkt A i B, ufność (ang. confidence), tj. prawdopodobieństwo, że klient zakupi produkt B, jeśli wiadomo, że posiada on już produkt A współczynnik podwyższenia (ang. lift), o który wzrasta prawdopodobieństwo zakupu produktu B, jeśli wiadomo, że klient posiada produkt A, w porównaniu do sytuacji, gdy nie wiadomo, czy klient ten produkt posiada. Znajdują one zastosowanie najczęściej do analizy koszyka zakupów, pozwalają podejmować decyzje dotyczące np. promocji obniżek cen, reklam i akcji marketingowych lub rozmieszczenia produktów
Odkrywanie reguł asocjacji Statystyczne wskaźniki ważności i siły
Odkrywanie reguł asocjacji -wizualizacja
Odkrywanie reguł asocjacji - tabela
Klastrowanie Polega na znajdowaniu skończonego zbioru kategorii opisujących dane. Kategorie mogą być rozłączne, zupełne, mogą też tworzyć struktury hierarchiczne i nakładające się. Przykładowo, zbiór danych o nieznanych chorobach może zostać w wyniku klastrowania podzielony na szereg grup cechujących się zastosowań klastrowania mogą być: określanie segmentów rynku dla produktu na podstawie informacji o klientach znajdowanie kategorii widmowych spektrum promieniowania nieba
Klastrowanie Single k-means podajemy liczbę klastrów na jaki ma być podzielony zbiór danych Iterative k-means podajemy zakres liczby oczekiwanych klastrów
Klasyfikacja Klasyfikacja polega na znajdowaniu sposobu odwzorowania danych w zbiór predefiniowanych klas. Na podstawie zawartości bazy danych budowany jest model (np. drzewo decyzyjne, reguły logiczne), który służy do klasyfikowania nowych obiektów w bazie danych lub głębszego zrozumienia istniejących klas. Przykładowo, w medycznej bazie danych znalezione mogą być reguły klasyfikujące poszczególne schorzenia, a następnie przy pomocy znalezionych reguł automatycznie może być przeprowadzone diagnozowanie kolejnych pacjentów. Inne przykłady zastosowań klasyfikacji to: rozpoznawanie trendów na rynkach finansowych, automatyczne rozpoznawanie obiektów w dużych bazach danych obrazów, wspomaganie decyzji przyznawania kredytów bankowych.
Klasyfikacja
Drzewo klasyfikacyjne Drzewo klasyfikacyjne jest drzewem, które posiada dodatkowa interpretacje dla węzłów, gałęzi i liści: węzły odpowiadają testom przeprowadzanym na wartościach atrybutów przykładów, węzeł drzewa, który nie ma żadnych węzłów macierzystych nazywamy korzeniem, gałęzie odpowiadają możliwym wynikom tych testów, liście odpowiadają etykietom klas danego problemu dyskryminacji (w konwencji drzewo klasyfikacyjne ma więcej niż 1 liść), drzewo rośnie od góry do dołu.
Drzewo klasyfikacyjne- wizualizacja
Przetrenowanie Model H jest zbytnio dopasowany do danych (overfits) gdy: Istnieje model H taki, że: Błąd-treningowy(H) < Błąd-treningowy(H ) Błąd-testowy(H) > Błąd-testowy(H ) Zbyt szczegółowe wnioski przy dla danej populacji przypadków treningowych. Dokładność jako funkcja liczby węzłów drzewa. Wyniki mogą być gorsze niż dla klasyfikatora większościowego!
Unikanie przetrenowanie Jak uniknąć przetrenowania i radzić sobie z szumem? 1. Zakończ rozwijanie węzła jeśli jest zbyt mało danych by wiarygodnie dokonać podziału. 2. Zakończ jeśli czystość węzłów (dominacja jednej klasy) jest większa od zadanego progu - forward pruning DT => drzewo prawd. klas. 3. Utwórz drzewo a potem je przytnij (backward pruning) 4. Przycinaj korzystając z wyników dla kroswalidacji lub dla zbioru walidacyjnego. 5. Korzystaj z MDL (Minimum Description Length): Min Rozmiar(Drzewa) + Rozmiar(Drzewa(Błędów)) 6. Oceniaj podziały zaglądając poziom (lub więcej) w głąb.
Przycinanie drzew Przycinanie drzew ma na celu rozwiązanie problemu ich nadmiernego dopasowania. Proces ten w uproszczeniu polega na zastąpieniu drzewa wyjściowego jego poddrzewem. Formułując to bardziej obrazowo powiemy, ze ucina się niektóre poddrzewa drzewa wyjściowego, zastępując je liśćmi, którym przypisuje się etykietę klasy najczęściej występującej wśród obserwacji związanych z tym poddrzewem. Drzewo przycięte ma wiec prostsza strukturę, co daje krótszy czas klasyfikacji. Oczywiście dokładność klasyfikacji zbioru uczącego się pogarsza. Przycinanie drzewa odbywa się najczęściej z pomocą zbioru etykietowanych przykładów.
Przycinanie drzew
Drzewa regresyjne Z regresją mamy do czynienie tam, gdzie chcemy poznać wartość zmiennej ciągłej, na podstawie znajomości wartości jednej lub większej liczby predykcyjnych zmiennych ciągłych oraz, ewentualnie zmiennych kategorialnych. Na przykład, interesuje nas cena domu (ciągła zmienna zależna), przy czym znamy różne ciągłe prefyktory (jak np. powierzchnia mieszkania), jak i predyktory kategorialne (jak np. styl architektoniczny, dzielnica miasta, albo kod pocztowy - zmienna na pozór liczbowa, a jednak, w istocie raczej kategorialna). Używając do predykcji ceny domu prostej regresji wielorakiej lub ogólnego modelu liniowego (GLM), poszukujemy linowego równania, za pomocą którego obliczymy interesującą nas cenę. Jest wiele różnych procedur analitycznych dopasowywania do danych liniowych modeli (GLM, GRM, Regresja), modeli nieliniowych (np. Uogólnione modele liniowe i nieliniowe (GLZ), Uogólnione modele addytywne (GAM), itp.), a także modeli nieliniowych, w pełni określanych przez użytkownika (patrz Estymacja nieliniowa), gdzie wpisać można dowolne równanie zawierające parametry, których wartości znajdzie program.
Algorytm umożliwia wybranie atrybutów (kolumn), które najlepiej wyznaczają jeden z atrybutów. Można określić liczbę takich atrybutów oraz takie, o których wiemy, że są istotne i wyszukać następne. Jakość wybranych atrybutów mierzy się współczynnikiem czystości purity. Wybrane kolumny podzielą rekordy na podzbiory. Jeżeli każdy z takich podzbiorów zawiera rekordy przynależne tylko do jednej klasy, to ten podzbiór ma czystość 100. Czystość podzbioru jest 0, jeżeli wszystkie klasy mają równą reprezentację. Wyznaczanie istotności
Wyznaczanie istotności (decyzja wizowa) Wpływ zmiennych na decyzję wizową Istotność zmiennej [%] 90 80 70 60 50 40 30 20 10 0 student drzewo wiek wykształcenie typ wykształcenia majątek
Operacje na danych
Operacje na danych Usuwanie kolumn Dyskretyzacja (Bin columns) - Umożliwia przekształcenie wartości ciągłych w kolumnie lub kolumnach na wartości dyskretne. Użytkownik określa sam wartości graniczne przedziałów lub umożliwia dobór automatyczny Agregacja (Aggregate) - Dodaje rekordy w bazie danych wykonując na ich polach proste operacje jak znalezienie sumy, maksimum, minimum, liczby agregowanych rekordów. Przydatne do usuwania danych nadmiarowych. Filtrowanie (Filter) - Pozwala na usunięcie z danych tych rekordów, które nie spełniają pewnych kryteriów. Kryteriami mogą być wyrażenia wyliczane na podstawie pól rekordu. Np.: usunięcie z bazy rekordów klientów, których wiek jest mniejszy niż 20 lat. Zmiana typu (Change Type) - Umożliwia zmianę nazw kolumn jak i konwersję typów danych. Dodanie kolumny (Add column) - -Podobnie jak filtrowanie umożliwia dodanie kolumny bazującej na wyrażeniu matematycznym z atrybutów pojedynczego rekordu. Zastosowanie modelu (Apply model) - Pozwala na sprawdzenie (zastosowanie) reguł Podział (Sample) - Pozwala wybrać ze zbioru rekordów (danych) przypadkowy podzbiór. Szczególnie przydatne przy dużych zestawach danych lub przy podziale danych na zbiór uczący i zbiór testowy.
Wnioski DT: szybkie i proste. Zalety: Zwykle bardzo dobre wyniki w porównaniu z innymi klasyfikatorami. Łatwe w użyciu, prawie nie mają parametrów do ustawiania. Dane nominalne lub numeryczne. Zastosowania: klasyfikacja i regresja. Prawie wszystkie pakiety Data Mining mają drzewa decyzji. Problemy z DT: mało danych, duża liczba ciągłych cech; niższe partie drzewa mają b. mało danych, przypadkowe podziały; nie wszystkie koncepcje dają się dobrze ująć za pomocą DT, np. większość jest za.
Wnioski Idee rozwoju Drzewa wieloczynnikowe: skośne granice decyzji; drzewa sieci neuronowych; rekursywny podział za pomocą LDA lub FDA Kryteria podziału: informacja w pobliżu korzenia, dokładność w pobliżu liści. przycinanie na podstawie reguł -działa również przy korzeniu; Komitety drzew: wielokrotne uczenie na randomizowanych danych (boosting) uczenie z różnymi parametrami obcinania Drzewa rozmyte
Dziękuję za uwagę!