Analiza Danych Case study „Analiza diagnostycznej bazy danych
Transkrypt
Analiza Danych Case study „Analiza diagnostycznej bazy danych
Analiza Danych Case study „Analiza diagnostycznej bazy danych” Marek Lewandowski, inf59817 [email protected] zajęcia: środa, 9.00 Spis treści: 1 2 3 Wprowadzenie.................................................................................................................... 4 Dostępne dane .................................................................................................................... 5 Przygotowanie danych do eksploatacji .............................................................................. 7 3.1 Błędy znalezione w danych........................................................................................ 7 3.2 Oprogramowanie:....................................................................................................... 7 3.3 Dyskretyzacja danych ................................................................................................ 8 4 Badanie zależności między atrybutami .............................................................................. 9 4.1 Jednowymiarowe zależności między atrybutami ....................................................... 9 4.2 Określanie ważności atrybutów ............................................................................... 10 5 Odkrywanie wiedzy w danych ......................................................................................... 11 5.1 Opis zastosowanych algorytmów............................................................................. 11 5.1.1 Drzewa decyzyjne ............................................................................................ 11 5.1.2 Drzewa decyzyjne J48 z zastosowaniem cross - validation ............................. 11 5.1.3 Adaptatywna sieć Bayes’a ............................................................................... 11 5.1.4 Perceptron Wielowarstwowy Multilayer Perceptron ....................................... 12 5.2 Rezultaty................................................................................................................... 12 5.2.1 Drzewa decyzyjne ............................................................................................ 12 5.2.1.1 Drzewo decyzyjne dla atrybutu D1, dane po dyskretyzacji ......................... 12 5.2.1.2 Drzewo decyzyjne dla atrybutu D2, dane po dyskretyzacji ......................... 12 5.2.1.3 Drzewo decyzyjne dla atrybutu D1, dane po dyskretyzacji, wersja „cheap”13 5.2.1.4 Drzewo decyzyjne dla atrybutu D2, dane po dyskretyzacji, wersja „cheap”13 5.2.1.5 Drzewo decyzyjne dla atrybutu D1, dane przed dyskretyzacją ................... 14 5.2.1.6 Drzewo decyzyjne dla atrybutu D1, dane przed dyskretyzacją ................... 14 5.2.1.7 Drzewo decyzyjne dla atrybutu D1, dane przed dyskretyzacją, wersja „cheap” ...................................................................................................................... 14 5.2.1.8 Drzewo decyzyjne dla atrybutu D2, dane przed dyskretyzacją, wersja „cheap” ...................................................................................................................... 15 5.2.2 Adaptatywne sieci Bayes’a .............................................................................. 15 5.2.2.1 Adaptatywna sieć Bayes’a dla atrybutu D1, dane po dyskretyzacji ............ 15 5.2.2.2 Adaptatywna sieć Bayes’a dla atrybutu D2, dane po dyskretyzacji ............ 16 5.2.2.3 Adaptatywna sieć Bayes’a dla atrybutu D1, dane po dyskretyzacji, wersja „cheap” ...................................................................................................................... 16 5.2.2.4 Adaptatywna sieć Bayes’a dla atrybutu D2, dane po dyskretyzacji, wersja „cheap” ...................................................................................................................... 16 5.2.2.5 Adaptatywna sieć Bayes’a dla atrybutu D1, dane przed dyskretyzacją ....... 17 5.2.2.6 Adaptatywna sieć Bayes’a dla atrybutu D2, dane przed dyskretyzacją ....... 18 5.2.2.7 Adaptatywna sieć Bayes’a dla atrybutu D1, dane przed dyskretyzacją, wersja „cheap”.............................................................................................................. 18 5.2.2.8 Adaptatywna sieć Bayes’a dla atrybutu D2, dane przed dyskretyzacją, wersja „cheap”.............................................................................................................. 19 5.2.3 Drzewa decyzyjne J48 z cross - validation ...................................................... 20 5.2.3.1 Drzewo decyzyjne dla atrybutu D2, dane przed dyskretyzacją ................... 20 5.2.3.2 Drzewo decyzyjne dla atrybutu D2, dane przed dyskretyzacją, wersja „cheap” ...................................................................................................................... 20 5.2.3.3 Drzewo decyzyjne dla atrybutu D2, dane po dyskretyzacji ......................... 21 5.2.3.4 Drzewo decyzyjne dla atrybutu D2, dane po dyskretyzacji, wersja „cheap”21 5.2.3.5 Drzewo decyzyjne dla atrybutu D1, dane przed dyskretyzacją, wersja „cheap” ...................................................................................................................... 22 2 5.2.3.6 Drzewo decyzyjne dla atrybutu D1, dane przed dyskretyzacją ................... 22 5.2.3.7 Drzewo decyzyjne dla atrybutu D1, dane po dyskretyzacji ......................... 22 5.2.3.8 Drzewo decyzyjne dla atrybutu D1, dane po dyskretyzacji, wersja „cheap”23 5.2.4 Perceptron wielowarstwowy (Multilayer perceptron)...................................... 23 5.2.4.1 Perceptron wielowarstwowy dla atrybutu decyzyjnego d1, dane przed dyskretyzacją................................................................................................................ 23 5.2.4.2 Perceptron wielowarstwowy dla atrybutu decyzyjnego d1, dane przed dyskretyzacją, wersja „cheap”...................................................................................... 23 5.2.4.3 Perceptron wielowarstwowy dla atrybutu decyzyjnego d2, dane przed dyskretyzacją................................................................................................................ 24 5.2.4.4 Perceptron wielowarstwowy dla atrybutu decyzyjnego d2, dane przed dyskretyzacją, wersja „cheap”...................................................................................... 24 5.2.4.5 Perceptron wielowarstwowy dla atrybutu decyzyjnego d1, dane po dyskretyzacji................................................................................................................. 24 5.2.4.6 Perceptron wielowarstwowy dla atrybutu decyzyjnego d1, dane po dyskretyzacji, wersja „cheap” ...................................................................................... 24 5.2.4.7 Perceptron wielowarstwowy dla atrybutu decyzyjnego d2, dane po dyskretyzacji................................................................................................................. 25 5.2.4.8 Perceptron wielowarstwowy dla atrybutu decyzyjnego d2, dane po dyskretyzacji, wersja „cheap” ...................................................................................... 25 5.3 Podsumowanie: ........................................................................................................ 25 6 Interpretacja wyników...................................................................................................... 27 6.1 Reguły ...................................................................................................................... 27 6.1.1 Drzewo decyzyjne dla atrybutu D1, dane przed dyskretyzacją ....................... 27 6.1.2 Drzewo decyzyjne dla atrybutu D1, dane przed dyskretyzacją, wersja bez wyników najdroższych pomiarów.................................................................................... 27 6.1.3 Drzewo decyzyjne dla atrybutu D1, dane po dyskretyzacji ............................. 28 6.1.4 Drzewo decyzyjne dla atrybutu D1, dane po dyskretyzacji, wersja bez wyników najdroższych pomiarów.................................................................................... 28 6.1.5 Atrybut decyzyjny D2, dane nie poddane dyskretyzacji.................................. 28 6.1.6 Atrybut decyzyjny D2, dane nie poddane dyskretyzacji, wersja bez wyników najdroższych pomiarów.................................................................................................... 29 6.1.7 Drzewo decyzyjne dla atrybutu D2, dane po dyskretyzacji ............................. 29 6.1.8 Drzewo decyzyjne dla atrybutu D2, dane po dyskretyzacji, wersja bez wyników najdroższych pomiarów.................................................................................... 30 6.2 Punkty podziału w korzeniach drzew....................................................................... 30 7 Literatura .......................................................................................................................... 32 3 1 Wprowadzenie Pewne przedsiębiorstwo komunikacyjno – transportowe wykorzystuje jeden podstawowy typ autobusów. Autobusy te podlegają regularnym przeglądom stanu technicznego. Zbiera się również dane o ich bieżącej eksploatacji. Na stanowisku diagnostycznym bada się przede wszystkim parametry układu napędowego, takie jak aktualna maksymalna moc silnika, moment obrotowy, osiągana prędkość maksymalna, ciśnienie sprężania w tłokach, zawartość elementów smołowatych w spalinach i inne. Dane eksploatacyjne dotyczą głównie zużycia paliwa i oleju w różnych okresach roku. Dane dotyczą autobusów tego samego typu eksploatowanych w podobnych warunkach. Zawierają one wartości następujących parametrów, będących symptomami stanu technicznego: s1 –prędkość maksymalna [km/h], s2 –ciśnienie sprężania [Mpa], s3 – zawartość elementów smołowatych w spalinach wylotowych [%], s4 – moment obrotowy silnika [Nm], s5 – letnie zużycie paliwa [l/100km], s6 – zimowe zużycie paliwa [l/100km], s7 – zużycie oleju [l/1000km], s8 –aktualna moc silnika [KM]. Dostępne są również dwa atrybuty decyzyjne: D1 – atrybut klasyfikuje pojazdy na dwie klasy: sprawne („1”) i niesprawne („2”) D2 – atrybut klasyfikuje pojazdy na trzy klasy: sprawne („1”), wymagające drobnych napraw i obserwacji („2”) oraz przeznaczone do remontu („3”) Celem niniejszej analizy jest zbudowanie klasyfikatora stanu technicznego autobusów (względem podanych atrybutów decyzyjnych i wskazanych klas decyzyjnych) na podstawie udostępnionych przez przedsiębiorstwo komunikacyjno – transportowe danych historycznych. 4 2 Dostępne dane Udostępnione zostały wartości pomiarów 80 autobusów: s1 s2 lp MaxSpeed Compr_preasure s3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 90 76 63 90 85 72 88 87 90 60 80 78 90 62 82 65 90 90 76 85 85 88 60 64 75 74 68 70 90 83 80 88 87 85 87 85 90 72 75 75 85 2.52 2.11 1.96 2.48 2.45 2.20 2.50 2.48 2.56 1.95 2.41 2.4 2.58 1.98 2.5 2.22 2.48 2.60 2.39 2.42 2.41 2.47 1.93 2.20 2.39 2.36 2.15 2.2 2.58 2.39 2.40 2.49 2.46 2.40 2.5 2.41 2.48 2.36 2.37 2.36 2.48 s4 blacking torque 38 70 82 49 52 73 50 56 16 95 60 63 26 93 54 67 51 15 65 50 58 48 90 71 64 64 70 65 18 64 60 44 51 55 46 65 40 64 60 68 61 481 420 400 477 460 425 480 465 486 400 451 448 482 400 461 402 468 488 428 454 450 458 400 420 432 420 400 412 480 445 442 478 461 445 479 450 480 428 440 441 458 s5 s6 s7 s8 summer_cons winter_cons oil_cons horsepower 26.4 25.5 24.8 25.1 25.2 27.4 24.7 27.6 27.3 24.8 26.1 26.0 24.5 28.4 26.3 23.9 26.5 23.2 33.4 26.3 25.5 25.1 28.7 25.2 25.1 25.4 26 25.3 23.4 26 25.4 25.2 25 26.2 25.2 26.1 25 25.4 26 26 25.2 0.7 2.7 3.7 1.0 1.4 2.8 1.1 1.4 0.2 4.4 1.7 1.9 0.4 3.9 1.4 2.3 1.2 0.1 2 1.3 1.5 1.1 4 2.6 1.7 1.9 2.6 2.1 0.3 2 1.6 0.9 1.2 1.5 1 1.9 0.8 2 1.8 2.1 1.9 145 110 101 138 130 112 140 135 150 96 125 120 148 100 132 103 138 150 116 129 126 130 95 105 114 110 100 102 146 120 119 138 133 120 136 125 139 111 120 113 126 21.8 22.0 22.0 21.9 21.8 23.1 21.6 22.8 26.5 23.3 21.7 21.8 22.4 22 22.0 22.0 22.0 20 27 21.5 22 22.4 24 23.1 22.2 21.9 22 22.8 20.8 22.1 21.5 21.8 22.2 23 21.5 22 22 21.9 22.4 23.1 21.5 D1 D2 1 2 2 1 1 2 1 1 1 2 1 1 1 2 1 2 1 1 2 1 1 1 2 2 2 2 2 2 1 2 1 1 1 1 1 1 1 2 2 2 1 1 3 3 1 2 3 1 1 1 3 2 2 1 3 2 3 1 1 3 2 2 1 3 3 2 2 3 3 1 2 2 1 1 2 1 2 1 3 2 3 2 5 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 86 86 88 68 72 75 82 90 84 90 89 85 90 90 85 88 84 86 66 90 67 75 86 88 85 72 75 65 87 88 90 88 87 86 88 2.48 2.49 2.5 2.2 2.36 2.35 2.38 2.55 2.36 2.54 2.51 2.48 2.52 2.54 2.5 2.56 2.32 2.47 2.29 2.60 2.24 2.36 2.42 2.51 2.38 2.30 2.4 2 2.4 2.46 2.58 2.5 2.48 2.5 2.52 52 58 48 88 78 66 65 38 64 40 46 60 45 47 60 50 65 54 86 34 86 67 60 50 63 85 69 94 60 50 31 49 52 55 46 462 461 475 422 424 425 430 482 438 480 470 440 479 481 446 465 428 452 402 486 406 428 444 475 440 420 428 400 460 468 484 464 465 456 472 22.1 22.3 22 22.5 22.4 22.9 23 20.8 23.3 21.8 22 22.2 21.6 22 21.9 21.6 22.0 22 23.3 21.1 23.5 22.9 22 22 21.8 22 20.9 24.1 22 22.1 20.9 22.1 21.9 22.0 21.8 24.8 25.2 24.5 25.7 25.5 26.1 25.8 24.6 26.2 25.1 25.5 26.3 25.1 24.9 24.6 24.5 25.1 25.1 26.6 25 27 26.1 25.2 25 26 25.2 25.6 27.2 25.6 24.9 23.6 25.2 24.6 25.1 23.8 1.5 1.6 1.1 3.2 2.8 2.4 2.3 0.7 2.1 0.9 1.1 1.8 1 1 1.9 1.2 2.2 1.6 3.2 0.6 3 2.5 1.8 1 2.1 3.1 2.4 4.1 1.7 1.2 0.5 1.2 1.4 1.5 1.1 129 130 140 108 112 114 115 146 119 145 141 120 145 145 123 137 116 125 105 148 104 112 122 142 120 110 115 98 131 137 146 138 135 130 141 1 1 1 2 2 2 2 1 2 1 1 1 1 1 1 1 2 1 2 1 2 2 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 3 1 1 2 1 1 1 1 3 1 3 1 3 3 2 1 2 3 3 3 1 1 1 1 1 1 1 77 78 79 80 74 70 90 85 2.42 2.2 2.62 2,45 67 65 49 52 421 ? 468 460 22.1 22.9 218 21.8 25.7 26.1 26.4 25.2 2.3 2.1 1.7 1.4 116 102 145 130 n 2 1 1 2 3 1 2 6 3 Przygotowanie danych do eksploatacji 3.1 Błędy znalezione w danych - pomiar numer 10: brak separatora kolumn (uznano za błąd wprowadzania danych i dodano separator „ , ”) - pomiar 77: wartość atrybutu D1 spoza dziedziny (pomiar odrzucono) - pomiar 78: wartość atrybutu s4 spoza dziedziny (pomiar odrzucono) - pomiar 79: wartość atrybutu s5 jeden rząd wielkości większa od średniej dla wszystkich pomiarów (uznano za błąd wprowadzania danych i zmieniono wartość 218 na 21.8) - pomiar 80: zmieniona wartość separatora części całkowitej od ułamkowej dla atrybutu s2 (uznano za błąd wprowadzania danych i zmieniono wartość 2,45 na 2.45) 3.2 Oprogramowanie: W trakcie procesu analizy danych wykorzystane zostały: pakiet Oracle Data Miner 10.2, baza danych Oracle 10g, Weka 3-5 oraz Microsoft Excel XP. Dane zostały wprowadzone do bazy danych Oracle 10g do tabeli zdefiniowanej w następujący sposób: create table autobusy ( A0 number(2), MaxSpeed number(3), Compr_preasure number(3,2), blacking number(2), torque number(4), summer_cons number(4,1), winter_cons number(4,1), oil_cons number(4,1), horsepower number(3), d1 number(1) check (d1 in (1, 2)), d2 number(1) check (d2 in (1, 2, 3)) ); a także do programu Weka 3-5 do pliku zdefiniowanego w poniższy sposób: @relation 'autobusy_1' @attribute LP real @attribute MaxSpeed real @attribute ComprPreasure real @attribute blacking real @attribute torque real @attribute summer_cons real @attribute winter_cons real @attribute oil_cons real @attribute horsepower real @attribute d1 {1,2} @attribute d2 {1,2,3} 7 3.3 Dyskretyzacja danych Zgodnie z propozycją eksperta od diagnostyki samochodowej przyjęto następujące granice przedziałów: s1 : (-∞, 74>, (74, 79>, (79, 85>, (85, ∞) s2 : (-∞, 2.2>, (2.2, 2.4>, (2.4, ∞) s3 : (-∞, 59>, (59, ∞) s4 : (-∞, 441>, (441, ∞) s5 : (-∞, 22>, (22, ∞) s6 : (-∞, 25.2>, (25.2, ∞) s7 : (-∞, 1.2>, (1.2, ∞) s8 : (-∞, 119>, (119, ∞) Dane po dyskretyzacji zostały zapisane w perspektywie bazy danych (do analizy przez Oracle Data Miner) oraz w pliku (do analizy w programie Weka) o następującej strukturze: @relation 'autobusy_discret' @attribute LP real @attribute maxspeed {1,2,3,4} @attribute ComprPreasure {1,2,3} @attribute Blacking {1,2} @attribute torque {1,2} @attribute summer_cons {1,2} @attribute winter_cons {1,2} @attribute oil_cons {1,2} @attribute horsepower {1,2} @attribute d1 {1,2} @attribute d2 {1,2,3} @data 8 4 Badanie zależności między atrybutami 4.1 Jednowymiarowe zależności między atrybutami Poniższa tabela przedstawia wartości współczynników korelacji Pearsona obliczonych dla każdej pary atrybutów (dane nie poddane dyskretyzacji). MaxSpeed Compr_preasure 1 blacking torque summer_cons winter_cons oil_cons horsepower 0,9271379 MaxSpeed 0,907045041 -0,85466 0,932 -0,36468501 -0,3353116 -0,89855 1 -0,85069 0,8906 -0,35257768 -0,3342781 -0,91395 1 -0,901 0,32439985 0,3974472 0,96371 1 -0,37297796 -0,3698168 -0,92482 0,982742 1 0,7356084 0,3537 -0,3612481 summer_cons 1 0,38012 -0,3546784 winter_cons 1 -0,9188285 0,89333 Compr_preasure -0,9116111 1 blacking torque oil_cons horsepower Z powyższych obliczeń widać, iż istnieje silna korelacja (bądź to pozytywna bądź negatywna) pomiędzy: MaxSpeed – horsepower (93%) MaxSpeed – oil_cons (-90%) MaxSpeed – torque (93%) MaxSpeed – blacking (-85%) MaxSpeed – Compr_preasure (91%) Compr_preasure – horsepower (90%) Compr_preasure – oil_cons (-91%) Compr_preasure – torque (89%) Compr_preasure – blacking (-85%) Blacking – horsepower (-91%) Blacking – oil_cons (96%) Blacking – torque (-90%) Torque – horsepower (98%) Torque – oil_cons (-92%) Oil_cons – horsepower (-91%) Odkryte zależności pozwalają stwierdzić, iż nie wszystkie atrybuty mogą być podczas analizy użyteczne. Być może niektóre z nich mogłyby zostać zastąpione, bez spadku jakości analizy, przez inne. Należy zauważyć niskie wartości współczynników korelacji Pearsona pomiędzy wartościami pomiarów zużycia paliwa i oleju a wartościami pozostałych atrybutów. Uzyskany rezultat pozwala sądzić, iż za pomocą wyników pomiarów zużycia paliwa i oleju nie będzie można określać wielkości pozostałych atrybutów. Przeprowadzono również analizę pod kątem występowania między atrybutami zależności nieliniowych (wykładniczych i wielomianowych). Interpretacja wykresów zależności pomiędzy zmiennymi pozwala jednoznacznie stwierdzić, że w badanym zbiorze danych występują tylko liniowe (lub bardzo bliskie liniowym) zależności. 9 4.2 Określanie ważności atrybutów Ważność atrybutów dla drzewa o atrybucie decyzyjnym D1: Name Rank Importance TORQUE 1 0.678465138 COMPR_PREASURE 2 0.598613949 HORSEPOWER 3 0.573343359 MAXSPEED 4 0.510328278 BLACKING 5 0.463623903 OIL_CONS 6 0.221469596 WINTER_CONS 7 0.070521837 SUMMER_CONS 8 0.04510052 Ważność atrybutów dla drzewa o atrybucie decyzyjnym D2: Name Rank Importance MAXSPEED 1 0.710756916 HORSEPOWER 2 0.598280849 TORQUE 3 0.572458028 COMPR_PREASURE 4 0.498717836 BLACKING 5 0.477736732 OIL_CONS 6 0.388487235 WINTER_CONS 7 0.108704468 SUMMER_CONS 8 -0.020595982 Ważność atrybutów wyznaczona została za pomocą algorytmu Minimum Description Length (MDL) pakietu Oracle Data Miner dla danych nie poddanych dyskretyzacji. Algrotym MDL działa w następujący sposób: Każdy atrybut (atrybut określający) traktowany jest jako prosty model przynależności atrybutu decyzyjnego (atrybut określany) do jednej z klas decyzyjnych. Z każdą wartością atrybutu określającego (i) skojarzonych jest ni przykładów w zbiorze trenującym oraz rozkład prawdopodobieństwa pij dla m wartości atrybutu określanego (różne wartości określane jako j). Z faktu, iż liczba przykładów uczących wynosi ni wynika, iż istnieje co najwyżej nipij różnych przypadków w danych. Z kombinatoryki wynika natomiast, iż liczba m różnych wartości spośród n elementów wynosi: n − m . m Stąd też rozmiar listy dla atrybutu określającego wynosi: n − m ∑i log 2 i m . Całkowita długość opisu dla atrybutu określającego wynosi więc: n − m log 2 ( pij ) . ∑i log 2 i m − ∑∑ i j Ranking atrybutów określających budowany jest na podstawie miejsca na liście (posortowanej rosnąco) odpowiadających opisów długości.1 1 http://download-uk.oracle.com/docs/html/B10698_01/3predict.htm#1005930 10 5 Odkrywanie wiedzy w danych 5.1 Opis zastosowanych algorytmów Do budowy modeli wykorzystano cztery typy algorytmów: - drzewa decyzyjne (Oracle Data Miner) - drzewa decyzyjne J48 z zastosowaniem cross – validation (Weka) - adaptatywna sieć Bayes’a (Oracle Data Miner) - perceptron wielowarstwowy z zastosowanie cross – validation(Weka) Każdy algorytm wykorzystywany był zarówno dla atrybutu decyzyjnego D1 jak i D2, z uwzględnieniem danych przed i po dyskretyzacji. Zgodnie z życzeniem klienta zbudowano również modele („cheap”) wykorzystujące dane bez uwzględnienia najdroższych w diagnostyce samochodowej pomiarów (compr_preasure [ciśnienie sprężania] oraz torque [moment obrotowy]). Łącznie zbudowano więc 32 modele. 5.1.1 Drzewa decyzyjne Oracle nie udostępnia szczegółowych informacji na temat zaimplementowanych algorytmów, można więc jedynie domyślać się zastosowanych rozwiązań. Najprawdopodobniej użyto metody CART (Classification and Regression Tree). Podczas budowania modeli zastosowano następujące parametry: - metryka jednorodności (homogeneity metric): Gini - maksymalna głębokość: 10 - podział danych wejściowych: 70% budowa modelu, 30% testowanie 5.1.2 Drzewa decyzyjne J48 z zastosowaniem cross - validation Algorytm J48 dostępny w oprogramowaniu Weka jest, wg dokumentacji technicznej, wersją znanego w literaturze algorytmu C4.5. Idea algorytmu C4.5 opiera się na schemacie zstępującej indukcji drzewa decyzyjnego na podstawie danych treningowych. Metoda ta bardzo dobrze radzi sobie z problemem brakujących wartości oraz uzyskuje wysoką jakość klasyfikacji. Ponieważ dostępnych było zaledwie ok. 80 atrybutów, zatem należało dokonać specyficznego podziału zbioru na część uczącą i testującą. Wykorzystano metodę cross – validation, która polega na dziesięciokrotnym (zastosowane ustawienie algorytmu) podziale zbioru na część uczącą i testującą w stosunku 9:1 (90% danych przeznaczonych do treningu a 10% do testowania). Zastosowanie cross – validation zdecydowanie poprawia jakość danych przeznaczonych do uczenia się na zbiorze. 5.1.3 Adaptatywna sieć Bayes’a Producent (Oracle) zapewnia, iż wprowadzony przez niego algorytm charakteryzuje się szybkością, skalowalnością, małą liczbą parametrów oraz przyjaznym dla człowieka produktem wynikowym w postaci zbioru reguł. Algorytm ABN (Adaptative Bayes Network) buduje model wykorzystujący zasadę MDL (Minimum Description Length) oraz redukcję tablicy warunkowo niezależnych cech sieci. Każda z nich zawiera jedno, bądź więcej, wyrażenie prawdopodobieństwa warunkowego. W analizie wykorzystano model Single 11 Feature (równoważny drzewu decyzyjnemu C4.5 zawierającemu uproszczenie polegające na traktowaniu atrybutów numerycznych jako kategorycznych). 5.1.4 Perceptron Wielowarstwowy Multilayer Perceptron Perceptron wielowarstwowy jest jedną z częściej stosowanych struktur neuropodobnych. Posiada on szczególną własność: komórki perceptronowe pogrupowane są w warstwy a przesyłanie informacji w sieci odbywa się tylko w jednym kierunku (od warstwy wejściowej do warstwy wyjściowej) – nie są więc możliwe sprzężenia zwrotne. Perceptron wielowarstwowy posiada tzw. warstwy ukryte, w których dane z warstwy wejściowej podlegają nieliniowemu przetworzeniu zanim dojdą do wyjścia sieci. Model jest trenowany metodą uczenia nadzorowanego za pomocą algorytmu propagacji wstecznej błędu. Podczas budowy modelu zastosowano opcję cross – validation (patrz: 5.1.2). 5.2 Rezultaty 5.2.1 Drzewa decyzyjne 5.2.1.1 Drzewo decyzyjne dla atrybutu D1, dane po dyskretyzacji Trafność klasyfikacji: 94,58% Macierz pomyłek: 1 1 41 2 1 2 1 29 Uzyskane reguły: Node ID Predicate True > TORQUE is in 1 > TORQUE is in 2 Predicted Value 1 2 1 Confidence 0.5714286 0.9583333 0.96875 Cases 56.0 24.0 32.0 Support 1.0 0.42857143 0.5714286 5.2.1.2 Drzewo decyzyjne dla atrybutu D2, dane po dyskretyzacji Trafność klasyfikacji: 87,46% Macierz pomyłek: 1 1 34 2 1 3 0 2 1 14 0 3 0 3 25 12 Uzyskane reguły: Node ID > >> >> > Predicate true MAXSPEED is in { 1 2 3 } HORSEPOWER is in 1 HORSEPOWER is in 2 MAXSPEED is in 4 Predicted Value 1 3 3 2 1 Confidence 0.4489796 0.5 0.8235294 0.90909094 1.0 Cases 49.0 28.0 17.0 11.0 21.0 Support 1.0 0.5714286 0.3469388 0.2244898 0.42857143 5.2.1.3 Drzewo decyzyjne dla atrybutu D1, dane po dyskretyzacji, wersja „cheap” Trafność klasyfikacji: 87,92% Macierz pomyłek: 1 2 1 47 3 2 1 27 Uzyskane reguły: Node ID > > Predicate true HORSEPOWER is in 1 HORSEPOWER is in 2 Predicted Value 1 2 1 Confidence 0.61290324 0.95454544 0.925 Cases 62.0 22.0 40.0 Support 1.0 0.3548387 0.6451613 5.2.1.4 Drzewo decyzyjne dla atrybutu D2, dane po dyskretyzacji, wersja „cheap” Trafność klasyfikacji: 87,46% Macierz pomyłek: 1 2 3 1 34 1 0 2 1 14 0 3 0 3 25 Uzyskane reguły: Node ID Predicate true > MAXSPEED is in { 1 2 3 } >> HORSEPOWER is in 1 >> HORSEPOWER is in 2 > MAXSPEED is in 4 Predicted Value 1 3 3 2 1 Confidence 0.4489796 0.5 0.8235294 0.90909094 1.0 Cases 49.0 28.0 17.0 11.0 21.0 Support 1.0 0.5714286 0.3469388 0.2244898 0.42857143 13 5.2.1.5 Drzewo decyzyjne dla atrybutu D1, dane przed dyskretyzacją Trafność klasyfikacji: 96,67% Macierz pomyłek: 1 2 1 48 1 2 0 29 Uzyskane reguły: Node ID > > Predicate True COMPR_PREASURE <= 2.395 COMPR_PREASURE > 2.395 Predicted Value 1 2 1 Confidence 0.56363636 1.0 0.96875 Cases 55.0 23.0 32.0 Support 1.0 0.4181818 0.58181816 5.2.1.6 Drzewo decyzyjne dla atrybutu D1, dane przed dyskretyzacją Trafność klasyfikacji: 84,24% Macierz pomyłek: 1 2 3 1 34 1 0 2 1 15 3 3 0 2 22 Uzyskane reguły: Node ID > >> >> > Predicate true MAXSPEED <= 85.5 COMPR_PREASURE <= 2.37 COMPR_PREASURE >2.37 MAXSPEED > 85.5 Predicted Value 1 3 3 2 1 Confidence 0.45 0.5652174 1.0 0.8182 1.0 Cases 40.0 23.0 12.0 11.0 17.0 Support 1.0 0.575 0.3 0.275 0.425 5.2.1.7 Drzewo decyzyjne dla atrybutu D1, dane przed dyskretyzacją, wersja „cheap” Trafność klasyfikacji: 92,5% Macierz pomyłek: 1 2 1 46 1 2 2 29 14 Uzyskane reguły: Node ID > > Predicate True BLACKING <= 62.0 BLACKING > 62.0 Predicted Value Confidence Cases 1 0.56363636 55.0 1 0.9677419 31.0 2 0.9583333 24.0 Support 1.0 0.56363636 0.43636364 5.2.1.8 Drzewo decyzyjne dla atrybutu D2, dane przed dyskretyzacją, wersja „cheap” Trafność klasyfikacji: 63,79% Macierz pomyłek: 1 2 3 1 34 1 0 2 1 17 16 3 0 0 9 Uzyskane reguły: Node ID > >> >> > Predicate true MAXSPEED <= 85.5 BLACKING <= 79.5 BLACKING > 79.5 MAXSPEED > 85.5 Predicted Value 1 3 2 3 1 Confidence 0.45 0.5652174 0.75 1.0 1.0 Cases 40.0 23.0 12.0 11.0 17.0 Support 1.0 0.575 0.3 0.275 0.425 5.2.2 Adaptatywne sieci Bayes’a 5.2.2.1 Adaptatywna sieć Bayes’a dla atrybutu D1, dane po dyskretyzacji Trafność klasyfikacji: 94,58% Macierz pomyłek: 1 2 1 47 1 2 1 29 Uzyskane reguły: Rule Id If (condition) 3 TORQUE in 2.0 Then (classification) D1 equal 1.0 Confidence (%) 0.9598684 Support (%) 0.61290324 15 5.2.2.2 Adaptatywna sieć Bayes’a dla atrybutu D2, dane po dyskretyzacji Trafność klasyfikacji: 75,02% Macierz pomyłek: 1 2 3 1 34 1 0 2 1 16 9 3 0 1 16 Uzyskane reguły: Rule Id If (condition) 5 MAXSPEED in 4.0 4 MAXSPEED in 3.0 2 MAXSPEED in 1.0 Then (classification) D2 equal 1.0 D2 equal 2.0 D2 equal 3.0 Confidence (%) 0.9626467 0.678356 0.89193076 Support (%) 0.42857143 0.24489796 0.20408164 5.2.2.3 Adaptatywna sieć Bayes’a dla atrybutu D1, dane po dyskretyzacji, wersja „cheap” Trafność klasyfikacji: 87,92% Macierz pomyłek: 1 2 1 47 3 2 1 27 Uzyskane reguły: Rule Id If (condition) Then (classification) 3 HORSEPOWER in 2.0 D1 equal 1.0 Confidence (%) 0.9137355 Support (%) 0.64516127 5.2.2.4 Adaptatywna sieć Bayes’a dla atrybutu D2, dane po dyskretyzacji, wersja „cheap” Trafność klasyfikacji: 75,02% Macierz pomyłek: 1 2 3 1 34 1 0 2 1 16 9 3 0 1 16 16 Uzyskane reguły: Rule Id If (condition) 5 MAXSPEED in 4.0 4 MAXSPEED in 3.0 2 MAXSPEED in 1.0 Then (classification) D2 equal 1.0 D2 equal 2.0 D2 equal 3.0 Confidence (%) 0.9626467 0.678356 0.89193076 Support (%) 0.42857143 0.24489796 0.20408164 5.2.2.5 Adaptatywna sieć Bayes’a dla atrybutu D1, dane przed dyskretyzacją Trafność klasyfikacji: 87,92% Macierz pomyłek: 1 2 1 47 3 2 1 27 Uzyskane reguły: Rule Id 18 21 23 20 19 10 11 14 8 12 5 15 13 22 16 3 7 4 9 17 6 If (condition) MAXSPEED in 85.0 MAXSPEED in 88.0 MAXSPEED in 90.0 MAXSPEED in 87.0 MAXSPEED in 86.0 MAXSPEED in 72.0 MAXSPEED in 75.0 MAXSPEED in 80.0 MAXSPEED in 68.0 MAXSPEED in 76.0 MAXSPEED in 65.0 MAXSPEED in 82.0 MAXSPEED in 78.0 MAXSPEED in 89.0 MAXSPEED in 83.0 MAXSPEED in 63.0 MAXSPEED in 67.0 MAXSPEED in 64.0 MAXSPEED in 70.0 MAXSPEED in 84.0 MAXSPEED in 66.0 Then (classification) D1 equal 1.0 D1 equal 1.0 D1 equal 1.0 D1 equal 1.0 D1 equal 1.0 D1 equal 2.0 D1 equal 2.0 D1 equal 1.0 D1 equal 2.0 D1 equal 2.0 D1 equal 2.0 D1 equal 1.0 D1 equal 1.0 D1 equal 1.0 D1 equal 2.0 D1 equal 2.0 D1 equal 2.0 D1 equal 2.0 D1 equal 2.0 D1 equal 2.0 D1 equal 2.0 Confidence (%) 0.89000326 0.9847597 0.9847597 0.9847597 0.9847597 0.9839808 0.9839808 0.9847597 0.9839808 0.9839808 0.9839808 0.50632954 0.9847597 0.9847597 0.9839808 0.9839808 0.9839808 0.9839808 0.9839808 0.9839808 0.9839808 Support (%) 0.16129032 0.12903225 0.11290322 0.08064516 0.06451613 0.06451613 0.06451613 0.032258064 0.032258064 0.032258064 0.032258064 0.032258064 0.016129032 0.016129032 0.016129032 0.016129032 0.016129032 0.016129032 0.016129032 0.016129032 0.016129032 17 5.2.2.6 Adaptatywna sieć Bayes’a dla atrybutu D2, dane przed dyskretyzacją Trafność klasyfikacji: 85,79% Macierz pomyłek: 1 2 3 1 34 1 0 2 1 17 5 3 0 0 20 Uzyskane reguły: Rule Id 22 17 20 19 18 10 5 11 8 13 14 7 3 4 2 6 16 21 12 15 If (condition) MAXSPEED in 90.0 MAXSPEED in 85.0 MAXSPEED in 88.0 MAXSPEED in 87.0 MAXSPEED in 86.0 MAXSPEED in 75.0 MAXSPEED in 65.0 MAXSPEED in 76.0 MAXSPEED in 72.0 MAXSPEED in 80.0 MAXSPEED in 82.0 MAXSPEED in 67.0 MAXSPEED in 63.0 MAXSPEED in 64.0 MAXSPEED in 60.0 MAXSPEED in 66.0 MAXSPEED in 84.0 MAXSPEED in 89.0 MAXSPEED in 78.0 MAXSPEED in 83.0 Then (classification) D2 equal 1.0 D2 equal 2.0 D2 equal 1.0 D2 equal 1.0 D2 equal 1.0 D2 equal 2.0 D2 equal 3.0 D2 equal 3.0 D2 equal 3.0 D2 equal 2.0 D2 equal 3.0 D2 equal 3.0 D2 equal 3.0 D2 equal 3.0 D2 equal 3.0 D2 equal 3.0 D2 equal 3.0 D2 equal 1.0 D2 equal 2.0 D2 equal 2.0 Confidence (%) 0.9626467 0.7749916 0.9626467 0.9626467 0.9626467 0.5873519 0.9674086 0.9674086 0.9674086 0.95274615 0.5533321 0.9674086 0.9674086 0.9674086 0.9674086 0.9674086 0.9674086 0.9626467 0.95274615 0.95274615 Support (%) 0.2244898 0.12244898 0.06122449 0.06122449 0.06122449 0.06122449 0.040816326 0.040816326 0.040816326 0.040816326 0.040816326 0.020408163 0.020408163 0.020408163 0.020408163 0.020408163 0.020408163 0.020408163 0.020408163 0.020408163 5.2.2.7 Adaptatywna sieć Bayes’a dla atrybutu D1, dane przed dyskretyzacją, wersja „cheap” Trafność klasyfikacji: 87,92% Macierz pomyłek: 1 2 1 47 3 2 1 27 18 Uzyskane reguły: Rule Id 18 21 23 20 19 10 11 14 8 12 5 15 13 22 16 3 7 4 9 17 6 If (condition) MAXSPEED in 85.0 MAXSPEED in 88.0 MAXSPEED in 90.0 MAXSPEED in 87.0 MAXSPEED in 86.0 MAXSPEED in 72.0 MAXSPEED in 75.0 MAXSPEED in 80.0 MAXSPEED in 68.0 MAXSPEED in 76.0 MAXSPEED in 65.0 MAXSPEED in 82.0 MAXSPEED in 78.0 MAXSPEED in 89.0 MAXSPEED in 83.0 MAXSPEED in 63.0 MAXSPEED in 67.0 MAXSPEED in 64.0 MAXSPEED in 70.0 MAXSPEED in 84.0 MAXSPEED in 66.0 Then (classification) D1 equal 1.0 D1 equal 1.0 D1 equal 1.0 D1 equal 1.0 D1 equal 1.0 D1 equal 2.0 D1 equal 2.0 D1 equal 1.0 D1 equal 2.0 D1 equal 2.0 D1 equal 2.0 D1 equal 1.0 D1 equal 1.0 D1 equal 1.0 D1 equal 2.0 D1 equal 2.0 D1 equal 2.0 D1 equal 2.0 D1 equal 2.0 D1 equal 2.0 D1 equal 2.0 Confidence (%) 0.89000326 0.9847597 0.9847597 0.9847597 0.9847597 0.9839808 0.9839808 0.9847597 0.9839808 0.9839808 0.9839808 0.50632954 0.9847597 0.9847597 0.9839808 0.9839808 0.9839808 0.9839808 0.9839808 0.9839808 0.9839808 Support (%) 0.16129032 0.12903225 0.11290322 0.08064516 0.06451613 0.06451613 0.06451613 0.032258064 0.032258064 0.032258064 0.032258064 0.032258064 0.016129032 0.016129032 0.016129032 0.016129032 0.016129032 0.016129032 0.016129032 0.016129032 0.016129032 5.2.2.8 Adaptatywna sieć Bayes’a dla atrybutu D2, dane przed dyskretyzacją, wersja „cheap” Trafność klasyfikacji: 85,79% Macierz pomyłek: 1 2 3 1 34 1 0 2 1 17 5 3 0 0 20 Uzyskane reguły: Rule Id 22 17 20 19 18 10 5 11 8 13 14 If (condition) MAXSPEED in 90.0 MAXSPEED in 85.0 MAXSPEED in 88.0 MAXSPEED in 87.0 MAXSPEED in 86.0 MAXSPEED in 75.0 MAXSPEED in 65.0 MAXSPEED in 76.0 MAXSPEED in 72.0 MAXSPEED in 80.0 MAXSPEED in 82.0 Then (classification) D2 equal 1.0 D2 equal 2.0 D2 equal 1.0 D2 equal 1.0 D2 equal 1.0 D2 equal 2.0 D2 equal 3.0 D2 equal 3.0 D2 equal 3.0 D2 equal 2.0 D2 equal 3.0 Confidence (%) 0.9626467 0.7749916 0.9626467 0.9626467 0.9626467 0.5873519 0.9674086 0.9674086 0.9674086 0.95274615 0.5533321 Support (%) 0.2244898 0.12244898 0.06122449 0.06122449 0.06122449 0.06122449 0.040816326 0.040816326 0.040816326 0.040816326 0.040816326 19 7 3 4 2 6 16 21 12 15 MAXSPEED in 67.0 MAXSPEED in 63.0 MAXSPEED in 64.0 MAXSPEED in 60.0 MAXSPEED in 66.0 MAXSPEED in 84.0 MAXSPEED in 89.0 MAXSPEED in 78.0 MAXSPEED in 83.0 D2 equal 3.0 D2 equal 3.0 D2 equal 3.0 D2 equal 3.0 D2 equal 3.0 D2 equal 3.0 D2 equal 1.0 D2 equal 2.0 D2 equal 2.0 0.9674086 0.9674086 0.9674086 0.9674086 0.9674086 0.9674086 0.9626467 0.95274615 0.95274615 0.020408163 0.020408163 0.020408163 0.020408163 0.020408163 0.020408163 0.020408163 0.020408163 0.020408163 5.2.3 Drzewa decyzyjne J48 z cross - validation 5.2.3.1 Drzewo decyzyjne dla atrybutu D2, dane przed dyskretyzacją Trafność: 92,31% Macierz pomyłek: 1 2 3 1 33 1 0 2 2 15 1 3 0 2 24 Uzyskane reguły: oil_cons <= 1.9 | MaxSpeed <= 85: 2 (16.0/1.0) | MaxSpeed > 85: 1 (35.0/1.0) oil_cons > 1.9 | horsepower <= 119: 3 (25.0) | horsepower > 119: 2 (2.0) 5.2.3.2 Drzewo decyzyjne dla atrybutu D2, dane przed dyskretyzacją, wersja „cheap” Trafność: 93,58% Macierz pomyłek: 1 2 3 1 34 1 0 2 1 15 1 3 0 2 24 20 Uzyskane reguły: oil_cons <= 1.9 | MaxSpeed <= 85: 2 (16.0/1.0) | MaxSpeed > 85: 1 (35.0/1.0) oil_cons > 1.9 | horsepower <= 119: 3 (25.0) | horsepower > 119: 2 (2.0) 5.2.3.3 Drzewo decyzyjne dla atrybutu D2, dane po dyskretyzacji Trafność: 93,59% Macierz pomyłek: 1 2 3 1 34 1 0 2 1 14 0 3 0 3 25 Uzyskane reguły: horsepower = 1: 3 (28.0/3.0) horsepower = 2 | maxspeed = 1: 1 (0.0) | maxspeed = 2: 2 (2.0) | maxspeed = 3: 2 (13.0/1.0) | maxspeed = 4: 1 (35.0/1.0) 5.2.3.4 Drzewo decyzyjne dla atrybutu D2, dane po dyskretyzacji, wersja „cheap” Trafność: 93,59% Macierz pomyłek: 1 2 3 1 34 1 0 2 1 14 0 3 0 3 25 Uzyskane reguły: horsepower = 1: 3 (28.0/3.0) horsepower = 2 | maxspeed = 1: 1 (0.0) | maxspeed = 2: 2 (2.0) | maxspeed = 3: 2 (13.0/1.0) | maxspeed = 4: 1 (35.0/1.0) 21 5.2.3.5 Drzewo decyzyjne dla atrybutu D1, dane przed dyskretyzacją, wersja „cheap” Trafność: 92,31% Macierz pomyłek: 1 2 1 44 2 2 4 28 Uzyskane reguły: oil_cons <= 1.9 | MaxSpeed <= 76: 2 (3.0) | MaxSpeed > 76: 1 (48.0) oil_cons > 1.9: 2 (27.0) 5.2.3.6 Drzewo decyzyjne dla atrybutu D1, dane przed dyskretyzacją Trafność: 98,79% Macierz pomyłek: 1 2 1 48 1 2 0 29 Uzyskane reguły: ComprPreasure <= 2.39: 2 (29.0) ComprPreasure > 2.39: 1 (49.0/1.0) 5.2.3.7 Drzewo decyzyjne dla atrybutu D1, dane po dyskretyzacji Trafność: 97,43% Macierz pomyłek: 1 2 1 47 1 2 1 29 Uzyskane reguły: torque = 1: 2 (30.0/1.0) torque = 2: 1 (48.0/1.0) 22 5.2.3.8 Drzewo decyzyjne dla atrybutu D1, dane po dyskretyzacji, wersja „cheap” Trafność: 93,58% Macierz pomyłek: 1 2 1 46 2 2 2 28 Uzyskane reguły: horsepower = 1: 2 (28.0/1.0) horsepower = 2: 1 (50.0/3.0) 5.2.4 Perceptron wielowarstwowy (Multilayer perceptron) 5.2.4.1 Perceptron wielowarstwowy dla atrybutu decyzyjnego d1, dane przed dyskretyzacją Trafność: 94.87 % Macierz pomyłek: 1 2 1 46 2 2 2 28 5.2.4.2 Perceptron wielowarstwowy dla atrybutu decyzyjnego d1, dane przed dyskretyzacją, wersja „cheap” Trafność: 93,58% Macierz pomyłek: 1 2 1 45 2 2 3 28 23 5.2.4.3 Perceptron wielowarstwowy dla atrybutu decyzyjnego d2, dane przed dyskretyzacją Trafność: 88,46% Macierz pomyłek: 1 2 3 1 32 2 0 2 3 14 2 3 0 2 23 5.2.4.4 Perceptron wielowarstwowy dla atrybutu decyzyjnego d2, dane przed dyskretyzacją, wersja „cheap” Trafność: 82,05% Macierz pomyłek: 1 2 3 1 31 4 0 2 3 12 4 3 1 2 21 5.2.4.5 Perceptron wielowarstwowy dla atrybutu decyzyjnego d1, dane po dyskretyzacji Trafność: 92,31% Macierz pomyłek: 1 2 1 44 2 2 4 28 5.2.4.6 Perceptron wielowarstwowy dla atrybutu decyzyjnego d1, dane po dyskretyzacji, wersja „cheap” Trafność: 92,31% Macierz pomyłek: 1 2 1 45 3 2 3 27 24 5.2.4.7 Perceptron wielowarstwowy dla atrybutu decyzyjnego d2, dane po dyskretyzacji Trafność: 88,46% Macierz pomyłek: 1 2 3 1 33 1 0 2 2 13 2 3 0 4 23 5.2.4.8 Perceptron wielowarstwowy dla atrybutu decyzyjnego d2, dane po dyskretyzacji, wersja „cheap” Trafność: 89,74% Macierz pomyłek: 1 2 3 1 33 1 1 2 2 13 0 3 0 4 24 5.3 Podsumowanie: Trafność wszystkich zbudowanych modeli przedstawia poniższa tabela: Drzewo decyzyjne D1 D2 discret nondiscret discret nondiscret regular cheap regular cheap Regular cheap regular cheap 94,58% 87,92% 96,67% 92,50% 87,46% 87,46% 84,24% 63,79% Drzewo decyzyjne J48 cross – validation D1 D2 discret nondiscret discret nondiscret regular cheap regular cheap regular cheap regular cheap 97,43% 93,58% 98,79% 92,31% 93,59% 93,59% 92,31% 93,59% Adaptatywna sieć Bayes’a D1 D2 discret nondiscret Discret nondiscret regular cheap regular cheap regular cheap regular cheap 94,58% 87,92% 87,92% 87,92% 75,02% 75,02% 85,79% 85,79% Wielowarstwowy Perceptron cross - validation D1 D2 discret nondiscret discret nondiscret regular cheap regular cheap regular cheap regular cheap 92,31% 92,31% 94,87% 93,58% 88,46% 89,74% 88,46% 82,05% 25 Drzewo decyzyjne J48 z zastosowaniem cross – validation uzyskało najlepszą jakość klasyfikacji w prawie każdym zbudowanym modelu (wielowarstwowy perceptron tylko w jednym przypadku – modelu dla atrybutu decyzyjnego D1, dla danych niedyskretnych, bez wyników pomiarów najdroższych atrybutów – okazał się lepszy o zaledwie jeden punkt procentowy) i to rozwiązanie należy przyjąć jako modelowe. Pozostałe algorytmy również osiągnęły dobrą trafność, jednakowoż specyficzna implementacja drzewa C4.5, jaką jest J48 oraz zastosowanie mechanizmu cross – validation pozwoliły zbudować modele o bardzo wysokiej czystości klasyfikacji. Co nie jest również bez znaczenia, przedstawione przez J48 reguły są łatwe do interpretacji dla człowieka. Wielowarstwowy perceptron, który osiągnął lepszą trafność klasyfikacji w jednym z ośmiu przypadków, jest rozwiązaniem typu „czarna skrzynka” – zbudowany model nie jest w żaden sposób tłumaczone. Adaptatywna sieć Bayes’a generuje, w szczególności dla danych nie poddanych dyskretyzacji, bardzo dużo reguł, gęsto dzielących dziedzinę atrybutu określającego. Zjawisko to sprawia wrażenie zbytniego dopasowania budowanego modelu do konkretnych danych uczących (czyli przetrenowania modelu). Wydaje się, iż anomalii tej udało się uniknąć w przypadku modeli wykorzystujących algorytmy drzew decyzyjnych. 26 6 Interpretacja wyników 6.1 Reguły Ze względu na uzyskane wyniki eksperymentów, można przyjąć, że drzewa decyzyjne J48 najlepiej interpretują dostarczone dane. W wyniku przeprowadzonej analizy klient uzyskuje zestaw reguł, które mogą być stosowane do oceny stanu technicznego pojazdów, w zależności od dostępnych danych (dyskretne, ciągłe) i atrybutu decyzyjnego (D1, D2). 6.1.1 Drzewo decyzyjne dla atrybutu D1, dane przed dyskretyzacją „Jeżeli ciśnienie sprężania jest mniejsze bądź równe niż 2.39 Mpa, to autobus jest niesprawny. W przeciwnym przypadku autobus jest sprawny.” Macierz pomyłek dla tego klasyfikatora: 1 2 1 48 1 2 0 29 Klasyfikator pomylił się tylko raz. Jeden z autobusów „niesprawnych” został oceniony jako „sprawny”. 6.1.2 Drzewo decyzyjne dla atrybutu D1, dane przed dyskretyzacją, wersja bez wyników najdroższych pomiarów „Jeżeli zużycie oleju jest mniejsze bądź równe 1.9 l/1000km i prędkość maksymalna jest mniejsza bądź równa 76 km/h, to autobus jest niesprawny. Jeżeli zużycie oleju jest mniejsze bądź równe 1.9 l/1000km i prędkość maksymalna jest większa niż 76 km/h, to autobus jest sprawny. Jeżeli zużycie oleju jest większe niż 1.9 l/1000km to autobus jest niesprawny.” Macierz pomyłek dla tego klasyfikatora wygląda następująco: 1 2 1 44 2 2 4 28 Klasyfikator pomylił się 6 razy (na 78 prób). Dwa razy autobus ”niesprawny” został sklasyfikowany jako „sprawny”, a cztery razy autobus „sprawny” został oceniony jako „niesprawny”. 27 6.1.3 Drzewo decyzyjne dla atrybutu D1, dane po dyskretyzacji „Jeżeli moment obrotowy silnika jest mniejszy bądź równy 441Nm, to autobus jest niesprawny. W przeciwnym przypadku jest sprawny.” Macierz pomyłek dla tego klasyfikatora: 1 47 1 1 2 2 1 29 Klasyfikator pomylił się dwa razy. Jeden raz uznał autobus „niesprawny” jako „sprawny” i jeden raz autobus „sprawny” jako „niesprawny”. 6.1.4 Drzewo decyzyjne dla atrybutu D1, dane po dyskretyzacji, wersja bez wyników najdroższych pomiarów „Jeżeli moc silnika jest mniejsza bądź równa 119 KM, to autobus jest niesprawny. W przeciwnym przypadku autobus jest sprawny.” Macierz pomyłek dla tego klasyfikatora: 1 46 2 1 2 2 2 28 Klasyfikator pomylił się cztery razy. Dwa razy uznał autobus „niesprawny” jako „sprawny” i dwa razy autobus „niesprawny” jako „sprawny”. 6.1.5 Atrybut decyzyjny D2, dane nie poddane dyskretyzacji „Jeżeli zużycie oleju jest mniejsze bądź równe 1.9 l/1000km, a prędkość maksymalna jest mniejsza bądź równa 85 km/h to autobus wymaga drobnych napraw i obserwacji. Jeżeli zużycie oleju jest mniejsze bądź równe 1.9 l/1000km, a prędkość maksymalna jest większa niż 85 km/h, to autobus jest sprawny. Jeżeli zużycie oleju jest większe niż 1.9 l/1000km, a moc silnika mniejsza bądź równa niż 119 KM, to autobus jest niesprawny. Jeżeli zużycie oleju jest większe niż 1.9 l/1000km, a moc silnika większa niż 119 KM, to autobus wymaga drobnych napraw i obserwacji”. Macierz pomyłek dla tego klasyfikatora wygląda następująco: 1 2 3 1 33 1 0 2 2 15 1 3 0 2 24 Klasyfikator pomylił się 6 razy (na 78 prób). Jeden raz sklasyfikował pojazd, który powinien być „przeznaczony do drobnych napraw i obserwacji” jako „sprawny”. Dwa autobusy „sprawne” i jeden „niesprawny” zostały sklasyfikowane jako „wymagające drobnych napraw 28 i obserwacji”. Dwa razy autobusy „wymagające drobnych napraw i obserwacji” zostały ocenione jako „niesprawne”. 6.1.6 Atrybut decyzyjny D2, dane nie poddane dyskretyzacji, wersja bez wyników najdroższych pomiarów „Jeżeli zużycie oleju jest mniejsze bądź równe 1.9 l/1000km, a prędkość maksymalna jest mniejsza bądź równa 85 km/h to autobus wymaga drobnych napraw i obserwacji. Jeżeli zużycie oleju jest mniejsze bądź równe 1.9 l/1000km, a prędkość maksymalna jest większa niż 85 km/h, to autobus jest sprawny. Jeżeli zużycie oleju jest większe niż 1.9 l/1000km, a moc silnika mniejsza bądź równa niż 119 KM, to autobus jest niesprawny. Jeżeli zużycie oleju jest większe niż 1.9 l/1000km, a moc silnika większa niż 119 KM, to autobus wymaga drobnych napraw i obserwacji”. Macierz pomyłek dla tego klasyfikatora wygląda następująco: 1 2 3 1 34 1 0 2 1 15 1 3 0 2 24 Klasyfikator pomylił się 5 razy (na 78 prób). Jeden raz sklasyfikował pojazd, który powinien być „przeznaczony do drobnych napraw i obserwacji” jako „sprawny”. Jeden autobus „sprawny” i jeden „niesprawny” zostały sklasyfikowane jako „wymagające drobnych napraw i obserwacji”. Dwa razy autobusy „wymagające drobnych napraw i obserwacji” zostały ocenione jako „niesprawnei”. 6.1.7 Drzewo decyzyjne dla atrybutu D2, dane po dyskretyzacji „Jeżeli moc silnika jest mniejsza bądź równa niż 119KM, to autobus jest niesprawny. Jeżeli moc silnika jest większa niż 119KM i prędkość maksymalna jest mniejsza lub równa 74 km/h lub większa niż 85 km/h, to autobus jest sprawny. Jeżeli moc silnika jest większa niż 119KM, a prędkość maksymalna jest większa niż 74 km/h i mniejsza lub równa 85 km/h, to autobus wymaga drobnych napraw i obserwacji.” Macierz pomyłek dla tego klasyfikatora wygląda następująco: 1 2 3 1 34 1 0 2 1 14 0 3 0 3 25 Klasyfikator pomylił się 5 razy (na 78 prób). Jeden raz sklasyfikował pojazd, który powinien być „przeznaczony do drobnych napraw i obserwacji” jako „sprawny”. Jeden raz autobus „sprawny” został sklasyfikowany jako „wymagający drobnych napraw i obserwacji. Trzy razy autobusy „wymagające drobnych napraw i obserwacji” zostały ocenione jako „niesprawne”. 29 6.1.8 Drzewo decyzyjne dla atrybutu D2, dane po dyskretyzacji, wersja bez wyników najdroższych pomiarów. „Jeżeli moc silnika jest mniejsza bądź równa niż 119KM, to autobus jest niesprawny. Jeżeli moc silnika jest większa niż 119KM i prędkość maksymalna jest mniejsza lub równa 74 km/h lub większa niż 85 km/h, to autobus jest sprawny. Jeżeli moc silnika jest większa niż 119KM, a prędkość maksymalna jest większa niż 74 km/h i mniejsza lub równa 85 km/h, to autobus wymaga drobnych napraw i obserwacji.” Macierz pomyłek dla tego klasyfikatora wygląda następująco: 1 2 3 1 34 1 0 2 1 14 0 3 0 3 25 Klasyfikator pomylił się 5 razy (na 78 prób). Jeden raz sklasyfikował pojazd, który powinien być „przeznaczony do drobnych napraw i obserwacji” jako „sprawny”. Jeden raz autobus „sprawny” został sklasyfikowany jako „wymagający drobnych napraw i obserwacji. Trzy razy autobusy „wymagające drobnych napraw i obserwacji” zostały ocenione jako „niesprawne”. 6.2 Punkty podziału w korzeniach drzew Algorytm drzew decyzyjnych J48 dla danych ciągłych stosował następujące punkty podziałów w korzeniach drzew: - zużycie oleju: 1.9 - ciśnienie sprężania: 2,39 Dyskretyzacja danych, wg wskazówek eksperta diagnostyki samochodowej, dokonana została wg następujących granic przedziałów: s1 : (-∞, 74>, (74, 79>, (79, 85>, (85, ∞) s2 : (-∞, 2.2>, (2.2, 2.4>, (2.4, ∞) s3 : (-∞, 59>, (59, ∞) s4 : (-∞, 441>, (441, ∞) s5 : (-∞, 22>, (22, ∞) s6 : (-∞, 25.2>, (25.2, ∞) s7 : (-∞, 1.2>, (1.2, ∞) s8 : (-∞, 119>, (119, ∞) Ekspert twierdził, że skrajne przedziały oznaczają pojazdy „niesprawne” i „sprawne”, zatem punkty podziału w drzewach decyzyjnych, dla danych nie zdyskretyzowanych, powinny pokrywać się z granicami tychże przedziałów. Zastanawia stosunkowo duża różnica między punktem podziału wybieranym przez drzewo, a punktem wskazanym przez eksperta, dla atrybutu zużycie oleju (pozostałe atrybuty, z pewnym marginesem, wpisują się w podział zaproponowany przez rzeczoznawcę). Wytłumaczeniem tego może być fakt, iż istnieje jakaś zależność przechodnia pomiędzy atrybutem zużycie oleju 30 a innymi atrybutami określającymi (wskazywałaby na to tabela współczynników korelacji Pearsona Persona punktu 4.1) powodująca, że atrybut ten uzyskuje większą zdolność podziału na czystsze klasy, jeśli brany jest pod uwagę wspólnie z innym atrybutem. Innym wytłumaczeniem jest specyfika dostępnych danych. Okazuje się, iż podział zaproponowany przez eksperta nie dzieli danych względem atrybutu decyzyjnego w sposób jednoznaczny. Histogramy wg podziału zaproponowanego przez eksperta (gdy zużycie oleju > 1.2) Wartość D1 1 2 Liczba wystąpień 22 30 Wartość D2 1 2 3 Liczba wystąpień 9 18 25 Histogramy wg podziału dokonanego przez algorytm (gdy zużycie oleju > 1.9) Wartość D2 1 2 3 Liczba wystąpień 0 2 25 Histogramy wg podziału dokonanego przez algorytm (gdy zużycie oleju <= 1.9) Wartość D2 1 2 3 Liczba wystąpień 35 16 0 Histogramy wg podziału dokonanego przez algorytm (gdy zużycie oleju > 1.9) Wartość D1 1 2 Liczba wystąpień 0 27 Histogramy wg podziału dokonanego przez algorytm (gdy zużycie oleju <= 1.9) Wartość D1 1 2 Liczba wystąpień 48 3 Wartość ciśnienia sprężania podana przez eksperta jako granica przedziału jest bardzo zbliżona do wartości wybranej przez algorytm budowy drzewa decyzyjnego, więc uznano, że żadne anomalie tam nie występują. 31 7 Literatura 1. Dokumentacja techniczna Oracle Data Miner 2. Dokumentacja techniczna Weka 3. http://logic.mimuw.edu.pl/Grant2003/prace/BMscLatkowski.pdf 4. http://www.aaai.org/AITopics/html/trees.html 5. http://server.eletel.p.lodz.pl/~pstrumil/ann/ann_mlp1.pdf 6. Notatki własne z wykładu i laboratorium 32