Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Statystyka w SAS Data Mining Krzysztof Glapiak, Mateusz Borsuk, Jakub Gierasimczyk, Arkadiusz Gałecki Matematyka Finansowa 15 czerwca 2015 K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Plan prezentacji 1 Wstęp - czym jest Data Mining 2 Partycjonowanie danych 3 Drzewa decyzyjne 4 Regresja 5 Sieci neuronowe 6 Ocena i wybór modelu K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Czym jest Data Mining Omówienie danych Czym jest Data Mining? Definicja Data Mining (eksploracja danych) jest to jeden z etapów procesu odkrywania wiedzy z baz danych (ang. Knowledge Discovery in Databases, KDD). Polega na wykorzystaniu zaawansowanych metod do modelowania relacji w dużych zbiorach danych. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Czym jest Data Mining Omówienie danych Techniki eksploracji danych Techniki eksploracji danych: regresja drzewa decyzyjne sieci neuronowe metody uczenia maszynowego metody ewolucyjne K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Czym jest Data Mining Omówienie danych Metody przetwarzania Metody przetwarzania: poszukiwanie asocjacji analiza jakościowa danych analiza ilościowa danych klasyfikacja grupowanie K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Czym jest Data Mining Omówienie danych Etapy procesu Data Mining w SAS Wszystkie omawiane w prezentacji kroki stanowią składowe metodologi SEMMA (Sample, Explore, Modify, Model, Assess), która opisuje całość Data Mining z poziomu narzędzi analitycznych SAS. Jest ona rozumiana jako rozbicie tego procesu na pięć powiązanych ze sobą etapów: 1 Sample - przygotowanie i podział wejściowej próby danych. 2 Explore - eksploracja danych, służąca ocenie ich jakości oraz wstępnej identyfikacji zależności pomiędzy zmiennymi. 3 Modify - modyfikacja danych, służąca poprawie ich jakości, spełnieniu założeń metod modelowania lub zwiększaniu ich elastyczności poprzez transformację zmiennych. 4 Model - modelowanie przy użyciu takich metod jak wspomniane drzewa decyzyjne, regresja czy sieci neuronowe. 5 Assess - ocena jakości budowanych modeli i wybór najlepszego z nich, a następnie monitorowanie jego skuteczności na nowo napływających danych. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Czym jest Data Mining Omówienie danych Import danych Po otwarciu nowego projektu w SAS Enterprise Miner Workstation ukazuje nam się okno diagramu, na którym będziemy pracować. Analizować będziemy dane dotyczące kredytobiorców. Aby zaimportować dane należy wybrać Plik → Nowy → Źródło danych. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Czym jest Data Mining Omówienie danych Import danych Pojawia się tabela z atrybutami zmiennych. Analizować będziemy zmienną BAD objaśniającą czy kredytobiorca spłacił pożyczkę, dlatego rolę zmiennej określamy jako Zmienną celu. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Czym jest Data Mining Omówienie danych Wyświetlanie zbioru danych Aby wyświetlić zaimportowany zbiór należy przeciągnąć źródło danych HMEQ z lewego górnego okna na pole diagramu → zaznaczyć kafelkę → w lewym dolnym oknie nacisnąć [...] obok pola Importowane dane → nacisnąć Przegladaj... K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Czym jest Data Mining Omówienie danych Rodzaj i rola zmiennych W zakresie ról zmiennych najczęściej wykorzystywanymi są: Wejściowa (Input) - zmienna objaśniająca Zmienna celu (Target) - zmienna objaśniana Odrzucona (Rejected) - nie bierze udziału w analizie ID - identyfikator Dostępne jest pięć skal pomiarowych: Przedziałowa (Interval) - zmienna ciągła Nominalna (Nominal) Porządkowa (Ordinal) Binarna (Binary) Unarna (Unary) - zmienna o jednej wartości K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Czym jest Data Mining Omówienie danych Omówienie badanych zmiennych Analizowany zbiór danych przedstawia informację na temat kredytobiorców: BAD - zmienna celu - przyjmuje wartość 1, gdy kredytobiorca nie spłacił kredytu CLADGE - długość trwania najdłuższego z aktywnych zobowiązań kredytowych zaciągniętych przez kredytobiorcę (w miesiącach) CLNO - ilość aktywnych zobowiązań kredytowych DEBTINC - współczynnik zadłużenia do przychodu DELINQ - historyczna liczba zaległości kredytowych DEROG - ilość negatywnych informacji kredytowych JOB - wykonywany zawód LOAN - kwota pozostała do spłaty MORTDUE - kwota do spłaty bieżącej hipoteki NINQ - ilość ostatnio złożonych wniosków kredytowych REASON - przyjmuje wartość DebCon, gdy kredyt jest przeznaczony na konsolidację innego kredytu, wartość HomeImp, gdy jest przeznaczony na zwiększenie wartości hipoteki VALUE - wartość obecna hipoteki YOJ - staż w obecnej pracy (w latach) K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Węzeł Partycjonowanie Węzeł Partycjonowanie Aby wykonać partycjonowanie przeciągamy ikonę Partycjonowania na pole diagramu → łączymy węzeł Zbioru danych z węzłem Partycjonowania → uruchamiamy. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Węzeł Partycjonowanie Podział zbioru Zbiór dzielimy na trzy części: treningowa - służy do zbudowania modelu. Liczność tej próby powinna być pomiędzy 40% a 70% próby wejściowej walidacyjna - służy do porównania różnych modeli między sobą, powinna być między 20% do 30% próby wejściowej testowa - próba używana do ostatecznej oceny modelu wybranego na podstawie danych walidacyjnych, powinna być między 20% do 30% próby wejściowej K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Węzeł Partycjonowanie Metody partycjonowania Wyróżniamy następujące metody: losowanie warstwowe (Stratified) - pozwala utrzymać rozkład zmiennej objaśnianej w powstających próbach losowanie klastrowe (Cluster) - losowanie proporcjonalne z klastrów wykrytych w badanej populacji prosta próba losowa (Simple random) K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Budowa modelu Współczynnik Giniego Entropia Węzeł Drzewa decyzyjne W zakładce Modelowanie wybieramy ikonę Drzewa decyzyjne i przeciągamy na pole diagramu analogicznie jak w przypadku Partycjonowania → łączymy węzeł Drzewa decyzyjnego z węzłem Partycjonowania. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Budowa modelu Współczynnik Giniego Entropia Analiza danych za pomocą drzewa decyzyjnego 1 2 3 4 5 Wartość zmiennej objaśnianej. Dane treningowe. Dane walidacyjne. Liczba obserwacji. Udział procentowy dla każdej wartości zmiennej objaśnianej. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Budowa modelu Współczynnik Giniego Entropia Analiza danych za pomocą drzewa decyzyjnego K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Budowa modelu Współczynnik Giniego Entropia Wykres klasyfikacji Wybieramy Rezultaty → Widok → Ocena → Wykres klasyfikacji. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Budowa modelu Współczynnik Giniego Entropia Postać modelu Budując model drzewa dokonujemy podziału za pomocą wzoru: ∆Z = Z0 − r X ni i=1 n0 Zi , gdzie Z0 - stopień niejednorodności dzielonego elementu, n0 - liczność dzielonego elementu, r - liczba elementów powstających w wyniku podziału, Zi - niejednorodność i-tego elementu powstałego w wyniku podziału, ni - liczność i-tego elementu powstałego w wyniku podziału. Wybieramy ten podział, dla którego różnica ∆Z jest największa. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Budowa modelu Współczynnik Giniego Entropia Stopień niejednorodności Stopień niejednorodności (zanieczyszczenia) może być oceniany przy użyciu następujących miar: Współczynnik Giniego Z =1− k X pi2 , i=1 gdzie k - liczba kategorii przyjmowanych przez zmienną objaśnianą, pi - odsetek obserwacji przyjmujących i-tą wartość zmiennej objaśnianej. Współczynnik entropii Z = H(p1 , ..., pk ) = − k X pi log2 (pi ) i=1 K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Budowa modelu Współczynnik Giniego Entropia Współczynnik Giniego - przykład Rozważmy tabelę z danymi: Chcemy wyznaczyć czy dana osoba należy do grupy wysokiego czy niskiego ryzyka. Atrybutami, względem których możemy podzielić zbiór wejściowy są Wiek oraz Typ samochodu. Możliwe punkty podziału dla wieku to: Wiek ≤ 17, Wiek ≤ 20, Wiek ≤ 23, Wiek ≤ 32, Wiek ≤ 43, Wiek ≤ 68 oraz dla typu samochodu: {sport}, {truck}, {family }. Klasy to Low oraz High. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Budowa modelu Współczynnik Giniego Entropia Współczynnik Giniego - przykład c.d. Punkt podziału gsplit dany jest wzorem: m2 + n2 m1 + n1 Z1 + Z2 , gdzie gsplit = m+n m+n m1 , n1 - liczba elementów w S1 należących do klas odpowiednio High i Low, m2 , n2 - liczba elementów w S2 należących do klas odpowiednio High i Low. W przypadku Wiek ≤ 17 mamy: Wartości współczynników Giniego oraz punktu podziału wynoszą: Z1 = Z (S1 ) = Z (Wiek ≤ 17) = 1 − (12 + 02 ) = 0, Z2 = Z (S2 ) = Z (Wiek ≥ 17) = 1 − ((3/5)2 + (2/5)2 ) = 0.73, gsplit = m1 + n1 m2 + n2 Z1 + Z2 = (1/6) · 0 + (5/6) · 0.73 = 0.61 m+n m+n K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Budowa modelu Współczynnik Giniego Entropia Współczynnik Giniego - przykład c.d. Postępując analogicznie dla kolejnych punktów podziału: Wiek ≤ 20, Wiek ≤ 23, Wiek ≤ 32, Wiek ≤ 43, Wiek ≤ 68 otrzymamy: Wiek ≤ 20, gsplit = 0.33 Wiek ≤ 23, gsplit = 0.22 Wiek ≤ 32, gsplit = 0.29 Wiek ≤ 43, gsplit = 0.27 Wiek ≤ 68, gsplit = 0.44 K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Budowa modelu Współczynnik Giniego Entropia Współczynnik Giniego - przykład c.d. Podobnie postępujemy przy podziale ze względu na typ samochodu. Z (Typ sam ∈ {sport}) = 1 − ((2/2)2 + 02 ) = 0, Z (Typ sam ∈ {family , truck}) = 1 − ((2/4)2 + (2/4)2 ) = 0.5, gsplit = (2/6) · 0 + (4/6) · 0.5 = 0.33, Z (Typ sam ∈ {truck}) = 0, Z (Typ sam ∈ {family , sport}) = 0.32, gsplit = (1/6) · 0 + (5/6) · 0.32 = 0.27, Z (Typ sam ∈ {family }) = 0.44, Z (Typ sam ∈ {truck, sport}) = 0.44, gsplit = (3/6) · 0.44 + (3/6) · 0.44 = 0.44. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Budowa modelu Współczynnik Giniego Entropia Współczynnik Giniego - przykład c.d. Najmniejsza wartość gsplit = 0.22 jest przyjmowana w przypadku punktu podziału Wiek ≤ 23. Ostatecznie, ze względu na dużą rozpiętość między kolejnymi danymi na temat wieku, punkt podziału ustalamy na gsplit = (23 + 32)/2 = 27.5. Na skutek takiego podziału dostajemy drzewo postaci: Możemy zauważyć, że w każdym przypadku gdy Wiek ≤ 27.5 Ryzyko wpada do klasy High, więc lewa gałąź nie będzie rozwijana - doszliśmy do liścia. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Budowa modelu Współczynnik Giniego Entropia Współczynnik Giniego - przykład c.d. Podział prawego węzła ze względu na Typ samochodu przebiega analogicznie z uwzględnieniem, że Wiek > 27.5, czyli na danych: K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Budowa modelu Współczynnik Giniego Entropia Współczynnik Giniego - przykład c.d. Ostatecznie drzewo ma postać: K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Budowa modelu Współczynnik Giniego Entropia Współczynnik entropii Do wyboru atrybutu testowego w wierzchołku drzewa decyzyjnego wykorzystujemy miarę zysku informacyjnego. W tym celu wybieramy atrybut o największej wartości zysku (lub o największej redukcji entropii) Atrybut testowy minimalizuje ilość informacji niezbędnej do klasyfikacji przykładów w partycjach uzyskanych w wyniku podziału K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Budowa modelu Współczynnik Giniego Entropia Współczynnik entropii Dany jest zbiór przykładów S, zbiór kategorii Ci oraz zbiory si należące do Ci . Wartość współczynnika entropii możemy obliczyć przy użyciu poniższego wzoru: Współczynnik entropii H(s1 , . . . , s2 ) = − m P pi log2 (pi ), i=1 gdzie: m - liczba różnych wartości przyjmowanych przez zmienną objaśniającą pi = ssi - odsetek obserwacji przyjmujących i-tą wartość zmiennej objaśnianej. UWAGA Przyjmuje się 0 · log2 0 = 0. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Budowa modelu Współczynnik Giniego Entropia Entropia Entropię podziału zbioru S, ze względu na atrybut A definiujemy następująco: Entropia E (a1 , . . . , ak ) = k P (s1j +···+smj ) s H(s1j , . . . , smj ), j=1 gdzie: H(s1j , . . . , smj ) = − m P pij log2 (pij ) i=1 pij = sij , |Sj | Sj - dana partycja. Im mniejsza wartość entropii, tym mniejsze zanieczyszczenie podziału zbioru S na partycje. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Budowa modelu Współczynnik Giniego Entropia Zysk informacyjny Zysk informacyjny, wynikający z podziału zbioru S, ze względu na atrybut A, definiujemy: Zysk informacyjny Gain(A) = H(s1 , . . . , sm ) − E (A). K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Budowa modelu Współczynnik Giniego Entropia Przykład Jako atrybut decyzyjny przyjmujemy ”kupi komputer”. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Budowa modelu Współczynnik Giniego Entropia Przykład Atrybut ”kupi komputer” posiada dwie wartości: tak i nie, stąd otrzymujemy dwie klasy: C1 - odpowiada wartości tak i zawiera s1 = 9 elementów C2 - odpowiada wartości nie i zawiera s2 = 5 elementów Otrzymujemy: 9 H(s1 , s2 ) = H(9, 5) = − 14 log2 9 14 − 5 14 K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki log2 5 14 = 0.94. Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Budowa modelu Współczynnik Giniego Entropia Kolejnym krokiem jest obliczenie entropii każdego atrybutu testowego. Pierwszym będzie wiek, który składa się z 3 partycji. wiek=’≤30’ s11 = 2 ∧ s21 = 3 ⇒ H(s11 , s21 ) = 0.971. wiek=’31..40’ s12 = 4 ∧ s22 = 0 ⇒ H(s12 , s22 ) = 0. wiek=’>40’ s13 = 2 ∧ s23 = 3 ⇒ H(s13 , s23 ) = 0.971. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Budowa modelu Współczynnik Giniego Entropia Entropia atrybutu ’wiek’ wynosi: E (0 wiek 0 ) = 5 H(s11 , s21 ) 14 + 4 H(s12 , s22 ) 14 + 5 H(s13 , s23 ) 14 = 0.694 Zysk informacyjny wynikający z podziału zbioru S, ze względu na atrybut ”wiek” wynosi: Gain(0 wiek 0 ) = I (s1 , s2 ) − E (0 wiek 0 ) = 0.94 − 0.694 = 0.277 K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Budowa modelu Współczynnik Giniego Entropia Analogicznie postępujemy z pozostałymi atrybutami. W ten sposób otrzymujemy: Zysk informacyjny wszystkich atrybutów Gain(0 wiek 0 ) = 0.277 Gain(’dochód’)= 0.029 Gain(0 student 0 ) = 0.151 Gain(0 status 0 ) = 0.048 Jako pierwszy atrybut testowy wybieramy ten z największym zyskiem informacyjnym, w tym przypadku ’wiek’. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Budowa modelu Współczynnik Giniego Entropia Tworzymy wierzchołek o etykiecie ’wiek’ oraz łuki wychodzące łączące wierzchołek ’wiek’ z wierzchołkami odpowiadającymi partycjom utworzonym zgodnie z podziałem zbioru S wg atrybutu ’wiek’. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Budowa modelu Współczynnik Giniego Entropia Postępując analogicznie dla wierzchołków S1 oraz S3 , okazuje się, że najlepszym atrybutem testowym dla wierzchołka odpowiadającym dla pierwszej partycji jest atrybut ’student’, a dla trzeciej partycji - atrybut ’status’. Ostateczny kształt drzewa decyzyjnego przedstawiono na rysunku poniżej. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Węzeł Imputacja Węzeł Regresja Przygotowanie danych Aby wykonać regresję należy uzupełnić braki danych. W tym celu posłużymy się węzłem Imputacja. Wybrać zakładkę Modyfikacja → Imputacja, przeciągnąć na pole diagramu oraz połączyć z węzłem Partycjonowanie. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Węzeł Imputacja Węzeł Regresja Metody uzupełniania danych Spośród metod uzupełniania danych są między innymi: Dominanta Średnia Mediana Wartość wylosowana zgodnie z rozkładem Wartość uzyskana na podstawie drzewa decyzyjnego K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Węzeł Imputacja Węzeł Regresja W zakładce Modelowanie wybieramy Regresja → przeciągamy na pole diagramu i łączymy z węzłem Imputacja. Dodatkowo z naszego modelu regresji wyrzucamy zmienne tekstowe. W tym celu klikamy prawym przyciskiem na węzeł Regresja → Edytuj zmienne → dla zmiennych IMP JOB oraz IMP REASON wybieramy w kolumnie użyj - Nie. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Węzeł Imputacja Węzeł Regresja Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Węzeł Imputacja Węzeł Regresja Wykres efektów pokazuje wartości współczynników regresji. Zaznaczone są osobnymi kolorami współczynniki dodatnie i ujemne. Dodatkowo po zaznaczeniu okna wykresu, klikając w lewym górnym rogu na ikonę Tabela wyświetlają się rezultaty z dokładnymi watościami współczynników oraz test istotności dla parametrów. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Węzeł Imputacja Węzeł Regresja Postać modelu W naszym przypadku jako funkcji łączącej (link function) użyliśmy funkcji logitowej. Zatem wartość oczekiwana w naszym modelu przyjmuje postać: G(E(BAD)) = k P ai Xi , gdzie k - liczba zmiennych, i=1 ai - wartość współczynnika, xi - wartość zmiennej, x funkcja G (x) = log( 1−x ). K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Informacje ogólne Węzeł Sieci neuronowe Przetwarzanie informacji w neuronach Czym jest sieć neuronowa? Sieci neuronowe w założeniu są to obiekty, które swoim działaniem naśladują aktywność rzeczywistych układów nerwowych. Poniżej jest przedstawiony prosty model regresyjny w postaci sieci neuronowej. Warstwa wejściowa zawiera n neuronów (odpowiadających zmiennym) oraz warstwę wyjściową sumującą ważone impulsy i transformującą je do skali oryginalnej zmiennej Y. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Informacje ogólne Węzeł Sieci neuronowe Przetwarzanie informacji w neuronach Podstawowym rozszerzeniem tak opisanej architektury jest model perceptronu wielowarstwowego (MLP - Multi Layer Perceptron), który dodatkowo zawiera warstwę ukrytą. Składa się ona z określonej ilości neuronów, które nieliniowo przekształcają kombinację liniową otrzymanych sygnałów. Pojedynczy neuron z warstwy ukrytej składa się z dwóch elementów: sumatora i funkcji aktywacji. Pierwszy z nich dokonuje sumowania ważonych sygnałów z warstwy wejściowej oraz wyrazu wolnego, drugi tak otrzymaną sumę przekształca przy użyciu określonej funkcji ciągłej. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Informacje ogólne Węzeł Sieci neuronowe Przetwarzanie informacji w neuronach Schemat sieci neuronowej z jedną warstwą ukrytą zawierającą n neuronów. Model opisany dla m zmiennych objaśniających K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Informacje ogólne Węzeł Sieci neuronowe Przetwarzanie informacji w neuronach W zakładce Modelowanie wybieramy Sieć neuronowa → przeciągamy na pole diagramu i łączymy z węzłem Imputacja → w lewym dolnym oknie wybieramy przycisk [...] w wierszu Sieć → ustawiamy Liczbę jednostek ukrytych na 20. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Informacje ogólne Węzeł Sieci neuronowe Przetwarzanie informacji w neuronach Wykres klasyfikacji. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Informacje ogólne Węzeł Sieci neuronowe Przetwarzanie informacji w neuronach W Rezultatach wybieramy Widok → Model → Wagi końcowe. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Informacje ogólne Węzeł Sieci neuronowe Przetwarzanie informacji w neuronach Przetwarzanie informacji w neuronach Pobudzeniem neuronu p domyślnie jest liniowa funkcja sygnałów wejściowych z wagami połączeń jako współczynnikami (combination function). p= n X wi xi , i=1 gdzie xi - wartość zmiennej wi - waga zmiennej. Sygnał wyjściowy y jest zależny od całkowitego pobudzenia neuronu, transformowanego przez funkcję aktywacji. Pozwala to wprowadzić nieliniowość. y = f (p) = f ( n X wi xi ) i=1 K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Węzeł porównanie modeli Statystyki dopasowania Porównanie modeli Węzeł porównanie modeli W zakładce Ocena wybieramy Porównanie modeli → przeciągamy na pole diagramu i łączymy z węzłami wszystkich prezentowanych metod. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Węzeł porównanie modeli Statystyki dopasowania Porównanie modeli Statystyki dopasowania Dopasowanie modelu może być ocenione przy użyciu różnych statystyk. Przykładowe to: Skuteczność klasyfikacji Błąd średniokwadratowy (ASE) ASE = 1 n n P (yi∗ − yi )2 i=1 Statystyka Kołmogorowa-Smirnowa KS = max{t : |F1 (t) − F0 (t)|} Indeks ROC Wzrost (lift) K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Węzeł porównanie modeli Statystyki dopasowania Porównanie modeli Porównanie modeli Krzywe ROC dla trzech modeli dla każdej partycji. Miarą dopasowania jest pole pod wykresem - im wartość bliższa 1 tym lepiej dopasowany model. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Węzeł porównanie modeli Statystyki dopasowania Porównanie modeli Krzywa ROC - przykład W badaniach dopasowania zmiennej binarnej korzysta się z takich miar jak specyficzność i wrażliwość. Załóżmy, że przeprowadzamy test na HIV. W populacji są osoby zdrowe oraz chore. Osoby zarażone oznaczymy yi = 1. Jeśli nasz test wskaże, że osoba jest chora oznaczymy yˆi = 1, a gdy zdrowa yˆi = 0 Wrażliwość (czułość) jest to prawdopodobieństwo, że chorą osobę test zakwalifikuje jako rzeczywiście chorą P(yˆi = 1|yi = 1) w przybliżeniu jest to udział osób, które są chore i u których test wyszedł poprawnie spośród wszystkich chorych osób. 11 P(yˆi = 1|yi = 1) ≈ n n+n Wrażliwość to true positive. 11 01 Specyficzność (swoistość) jest to prawdopodobieństwo, że zdrową osobę test zakwalifikuje jako rzeczywiście zdrową P(yˆi = 0|yi = 0) w przybliżeniu jest to udział osób, które są zdrowe i u których test wyszedł poprawnie spośród wszystkich zdrowych 00 Wrażliwość to true negative. osób. P(yˆi = 0|yi = 0) ≈ n n+n 00 10 K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Węzeł porównanie modeli Statystyki dopasowania Porównanie modeli Na wykresie krzywej ROC na jednej osi odkłada się wrażliwość, a na drugiej 1-specyficzność. 1-specyficzność to udział osób, które są zdrowe ale test wykazał, że są chore P(yˆi = 1|yi = 0) = 1 − P(yˆi = 0|yi = 0). 1-specyficzność to false positives. Zatem krzywa ROC obrazuje stosunek true positives do false positives. W przypadku idealnego modelu krzywa ROC przedstawia lewą i górną krawędź. Jeśli losowo byśmy podawali wyniki testu to krzywa byłaby przekątną kwadratu. Natomiast krzywa leżąca pod przekątną oznacza, że lepsze prognozy uzyskalibyśmy gdybyśmy losowo mówili osobom czy są chore czy nie, niż przeprowadzali test. Dlatego używa się pola pod krzywą ROC jako miary dopasowania. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Węzeł porównanie modeli Statystyki dopasowania Porównanie modeli Wykres liftu łącznego Wykres przyrostu pokazuje o ile częściej niż w danych źródłowych przewidywana klasa występuje w próbie wskazanej przez dany model. Uzyskana w ten sposób krzywa powinna gładko spadać od największej wartości do 1. Gwałtowne skoki w górę sugerują, że model jest nieodpowiedni (oznaczają one, że model niezgodnie z rzeczywistością przewiduje szansę przynależności do klasy: tam gdzie wg modelu jest ona mniejsza, w rzeczywistości jest większa). K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Węzeł porównanie modeli Statystyki dopasowania Porównanie modeli Statystyki dopasowania Na podstawie przedstawionych poniżej kryteriów najlepszym modelem jest drzewo decyzyjne. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining Wstęp Partycjonowanie danych Drzewa decyzyjne Regresja Sieci Neuronowe Ocena i wybór modelu Węzeł porównanie modeli Statystyki dopasowania Porównanie modeli Instalacja i uruchomienie. Ze względu na często niepoprawną instalację, Miner niekiedy nie działa. Dokładną instrukcję instalacji można znaleźć pod linkiem: http://www.sas.com/pl pl/support/dokumenty.html Włączając Minera należy uruchomić go jako Administrator. K.Glapiak M.Borsuk J.Gierasimczyk A.Gałecki Data Mining