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