Indukowane Reguły Decyzyjne I
Wykład 4
IRD Wykład 4
• Plan
– Powtórka
– Sposób budowy drzewa – Algorytm budowy drzewa
– Testy dla różnych typów atrybutów
– Metoda CART
Drzewo klasyfikacyjne
• Drzewo klasyfikacyjne – spójny, acykliczny graf skierowany
– liczba krawędzi „wchodzących” do wierzchołka wynosi co najwyżej 1
– liczba krawędzi „wychodzących” z wierzchołka wynosi 0 lub jest większa niż 1
– jeżeli liczba krawędzi
„wchodzących” do
wierzchołka=0, to jest on korzeniem
– jeżeli liczba krawędzi
„wychodzących” z wierzchołka
=0, to jest on liściem
A
B
C
D
E
Drzewo klasyfikacyjne
• Drzewo klasyfikacyjne – drzewo, którego węzły, gałęzie i liście mają specjalną interpretację:
– węzły – testy przeprowadzane na wartościach atrybutów przykładów
– gałęzie – grupują przykłady/instancje w zależności od wyniku testów z wyższych poziomów
– liście – etykiety kategorii (decyzje)
Testy
• Test – funkcja, która przekształca przykłady w skończony zbiór wyników testu.
• Testy są przeprowadzane na wartościach atrybutów
przykładów, czyli mogą być przedstawione jako funkcje t: A T,
gdzie
T={r
1, r
2, ..., r
m} – zbiór możliwych wyników testu t.
• Test i jego wynik jest reprezentowany przez węzeł i gałąź wychodzącą z tego węzła. Każdemu wynikowi
odpowiada jedna gałąź.
• Uwaga: Testów może być wiele!
Drzewo jako funkcja klasyfikująca
• Drzewo pozwala wyznaczyć kategorię przykładu:
– Należy wyznaczyć drogę od korzenia drzewa do jednego z liści odpowiadającą rozważanemu przykładowi
– Droga jest identyfikowana przez wykonanie testów umieszczonych w kolejno odwiedzanych węzłach
– Wybór gałęzi na kolejnym poziomie odpowiada uzyskanemu wynikowi testu
•
Możliwość przypisania kategorii obserwacjom przez
drzewo oznacza, że jest ono funkcją f:XC.
Reguły a drzewo klasyfikacyjne
• W dowolnej ścieżce (od korzenia do liścia) niech:
– t1, t2, ..., tm – testy występujące na tej ścieżce
– r1, r2, ..., rm – wyniki testów odpowiadające gałęziom na tej ścieżce, gdzie r1Tt1, r2Tt2, ..., rmTtm
– dC – etykieta związana z liściem
Wtedy ścieżka jest równoważna z regułą decyzyjną:
t
1(x)=r
1 t
2(x)=r
2 ... t
m(x)=r
m c(x)=d
• Uwaga! Ponieważ dla każdego liścia istnieje ścieżka łącząca ten liść z korzeniem, więc zbiór reguł związanych ze ścieżkami klasyfikuje wszystkie przykłady z dziedziny X.
IRD Wykład 4
• Plan
– Powtórka
– Sposób budowy drzewa – Algorytm budowy drzewa
– Testy dla różnych typów atrybutów
– Metoda CART
Sposób budowy drzewa
Sposób budowy drzewa
Sposób budowy drzewa
NIEBO
Chmury Deszcz
TAK NIE
WIATR
Mały Duży
TAK NIE
TAK
Sposób budowy drzewa
IRD Wykład 4
• Plan
– Powtórka
– Sposób budowy drzewa – Algorytm budowy drzewa
– Testy dla różnych typów atrybutów
– Metoda CART
Algorytm budowy drzewa
1. Jeżeli Kryterium STOP to utwórz LIŚĆ 2. Dla każdego atrybutu
2.1 Dla każdego możliwego podziału 2.1.1 Podziel obserwacje
2.1.2 Oceń podział
3. Wybierz najlepszy podział
spośród wszystkich atrybutów i metod podziału 4. Utwórz węzeł z testem t
5. Podziel zbiór na podzbiory zgodnie z testem t
6. Dla każdego podzbioru wróć do punktu 1
LIŚĆ
X
Xt1 Xtm
Algorytm budowy drzewa
Oznaczenia:
A – atrybut
X – zbiór obserwacji
t – test, np. xX1 A1(x)=10, wpp. xX2
f(X,t) – kryterium oceny podziału zbioru X ze względu na test t Algorytm:
1. Sprawdź kryterium STOP. Jeśli spełnione utwórz liść, jeśli nie idź do 2.
2. W zbiorze obserwacji X1 dla atrybutu Ai, i=1…K, znajdź najlepszy test ti:
1. Dla każdego testu tij, j=1…L, możliwego ze względu na wartości atrybutu Ai podziel obserwacje X1 na podzbiory X11, X12,…, X1M
2. Oceń jakość podziałów f(X1,tij)
3. Wybierz test ti, który prowadzi do najwyższej wartości f(X1,tij) przy podziale ze względu na atrybut Ai
3. Porównaj jakość testów f(X1,ti) dla wszystkich atrybutów, wybierz najlepszy test i dokonaj podziału X1 na podzbiory X11, X12,…, X1M
4. Dla każdego podzbioru X11, X12,…, X1M wróć do 1.
Algorytm budowy drzewa
Pytania
1. Jakie podziały są możliwe?
2. Jak wybrać podział?
3. Kiedy zakończyć dzielenie zbioru?
Algorytm budowy drzewa
Pytania
1. Jakie podziały są możliwe?
- Atrybuty nominalne
- Atrybuty porządkowe
- Atrybuty ciągłe
IRD Wykład 4
• Plan
– Powtórka
– Sposób budowy drzewa – Algorytm budowy drzewa
– Testy dla różnych typów atrybutów
– Metoda CART
Atrybuty nominalne
Podzbiory wartości
Wszystkie wartości
Podziały binarne
a{A, B, C, D}
a{B, C}
a{A, D}
a{A, B, C, D}
a{A} a{B} a{C} a{D}
a{A, B, C, D}
a ≠A a=A
Atrybuty nominalne
Rozważ zbiór X, opisywany przez atrybut nominalny o trzech kategoriach A,B,C, k=3
Ile jest możliwych podziałów zbioru X na:
Dwa podzbiory: m=2 Trzy podzbiory: m=3
m=2 AB-C A-BC
A B C m=3
A-B-C
B-AC
Atrybuty nominalne
Rozważ zbiór X, opisywany przez atrybut nominalny o czterech kategoriach A,B,C,D, k=4
Ile jest możliwych podziałów zbioru X na:
Dwa podzbiory: m=2 Trzy podzbiory: m=3 Cztery podzbiory: m=4 Wypisz te podziały!
Atrybuty nominalne
Możliwe podziały X na podzbiory – przykład m – liczba podzbiorów, k=4
m=2 m=3 m=4
A – BCD A – B – CD A – B – C – D
B – ACD A – C – BD
C – ABD A – D – BC
D – ABC B – C – AD
AB – CD B – D – AC
AC – BD C – D – AB
AD – BC
Testy dla atrybutów nominalnych
Liczba podziałów na podzbiory
Liczba podzbiorów – m
2 3 4 Razem
2 1 - - 1
3 3 1 - 4
4 7 6 1 14
5 15 25 10 51
6 31 90 65 202
7 63 301 350 876
8 127 966 1701 4139
Liczba wartości atrybutu – k
Liczba testów dla atrybutu
Testy dla atrybutów nominalnych
Liczby Stirlinga II rodzaju
liczba sposobów podziału zbioru k
elementowego na m niepustych podzbiorów –
„m podzbiorów k”
Wyznaczane rekurencyjnie
Liczba możliwych podziałów wynosi
m
k
k m
m dla k
k k k
m k m
m k m
k
0
1 ,
1 1
1 1 1
k
m
m
k
2
Atrybuty porządkowe
Rozważ atrybut porządkowy o czterech kategoriach 1, 2, 3, 4, k=4
Ile jest możliwych podziałów na:
Dwa podzbiory: m=2 Trzy podzbiory: m=3 Cztery podzbiory: m=4
Wypisz te podziały!
Testy dla atrybutów porządkowych
Możliwe podziały na podzbiory – przykład m – liczba podzbiorów
m=2 m=3 m=4
1 – 234 1 – 2 – 34 1 – 2 – 3 – 4
12 – 34 1 – 23 – 4
123 – 4 12 – 3 – 4
Testy dla atrybutów porządkowych
Możliwe podziały na podzbiory
k – liczba wartości atrybutu, m – liczba podzbiorów Liczba podziałów na m podzbiorów:
Liczba wszystkich podziałów:
k
m
k
m k
2
1
1
1 2 1
1 1 m
k
Testy dla atrybutów porządkowych
Np. k=7, m=2 =>
Np. k=7, m=3 =>
1 2 3 4 5 . . . . . . . . . . . k-1 k
1 2 3 … m-2 m-1
1 6 6 1
2
1
7
2 15 6 1
3
1
7
28
Testy dla atrybutów ciągłych
Cięcia pojedyncze
[0, 1200]>736 ≤736
[0, 1200]
>736 (580, 736]
(253,580]
≤253
Cięcia wielokrotne
Testy dla atrybutów ciągłych
Możliwe podziały na podzbiory – przykład
X 1 2 3 4 5 6 … N
A 21 25 19 17 29 22 16
X N 4 3 4 1 6 2 … 5
A 16 17 19 17 21 22 25 … 29
potencjalne cięcia
Testy dla atrybutów ciągłych
Możliwe podziały na podzbiory – przykład
X 1 2 3 4 5 ... N
A 21 25 19 17 29 ... 16
X N 4 3 1 ... 5
A 16 17 19 21 ... 29
C 0 1 0 0 0 1 ... 0 1 1
sensowne cięcia
Testy dla atrybutów ciągłych
Przykład – zadanie z kolokwium
Prawda czy fałsz:
Optymalnym punktem podziału binarnego dla zmiennej "okres " jest 18.
(Przyjmujemy, że p jest punktem podziału zbioru, jeśli go na podzbiory
{<=p},{>p})
dochody raty okres decyzja
1 wysokie stałe 12 0
2 średnie malejące 8 0
3 wysokie malejące 24 1
4 niskie stałe 18 1
5 średnie malejące 19 1
6 wysokie stałe 11 0
7 niskie stałe 21 1
8 niskie stałe 15 0
9 średnie malejące 22 1
10 wysokie stałe 10 0
Testy dla atrybutów ciągłych
Przykład – zadanie z kolokwium
okres decyzja
1 12 0
2 8 0
3 24 1
4 18 1
5 19 1
6 11 0
7 21 1
8 15 0
9 22 1
10 10 0
okres decyzja
2 8 0
10 10 0
6 11 0
1 12 0
8 15 0
4 18 1
5 19 1
7 21 1
9 22 1
3 24 1
Algorytm budowy drzewa
Pytania
1. Jakie podziały są możliwe?
2. Jak wybrać podział?
3. Kiedy zakończyć dzielenie zbioru?
Przykład
jeżeli uwzględnić następujące wartości atrybutów:
Które przykłady trafią do podzbiorów zdefiniowanych przez następujące wartości atrybutów?
1, 2, 3, 4 5, 6, 7, 8, 9
10, 11, 12, 13, 14
2, 3, 5, 6, 7, 8, 9, 12, 13, 14 1, 4, 10, 11
Outlook(x)=Overcast, Outlook(x) Overcast
f(X,t11)= - 4/14*(4/4*ln4/4+0/4*ln0/4)-9/14*(1/2*ln1/2+1/2*ln1/2)
0,45
Ocena jakości podziału
Outlook(x)=sunny, Outlook(x) sunny
f(X,t11)= -9/14*(2/9*ln2/9+7/9*ln7/9) - 4/14*(2/5*ln2/5+3/5*ln3/5)
0,53
Ocena jakości podziału
Wybór podziału
1. Dla danego atrybutu wybierz test ti, który prowadzi do najwyższej wartości f(X1,tij) i znajdź testy dla pozostałych atrybutów.
2. Wybierz najlepszy test, podziel zbiór i przeanalizuj podzbiory.
f(X,t11)= 0,53
Algorytm budowy drzewa
Pytania
2. Jak wybrać podział?
–
Potrzebna jest funkcja oceny testu• Entropia
• Współczynnik przyrostu informacji
• Współczynnik (indeks) Gini’ego
• Statystyka χ2 – Metoda CART
• Twoing criterion
39
IRD Wykład 4
• Plan
– Powtórka
– Sposób budowy drzewa – Algorytm budowy drzewa
– Testy dla różnych typów atrybutów
– Metoda CART
Metoda podziałów Breimana (CART * )
• Występują 2 klasy obiektów (opis kategorii jest binarny)
• Dopuszczalne są tylko podziały binarne
• Rozważmy podział ustalonego węzła, w którym:
|X| – liczba obserwacji w węźle
• Ustalamy test t, tzn. wybieramy atrybut i sposób jego podziału, przy czym
t: A T= {r1, r2}
• Przyjmijmy: r1=L, r2=P
* Breiman L. Friedman J. Olshen R. Stone C. (1984) Classification and Regression Trees, Chapmann&Hall/CRC Press
Metoda podziałów Breimana (CART * )
• Oznaczamy:
|Xr| – liczba obserwacji w węźle, która przyjmuje wartość r ze względu na testowany atrybut, gdzie r=L, P
Pr= |Xr|/|X| - odsetek obserwacji z wartością r, gdzie r=L, P
|Xrd| – liczba obserwacji w węźle, które przyjmują wartość r, r=L, P ze względu na testowany atrybut, o etykiecie d, gdzie d=0, 1 (tak, nie itd.)
Prd= |Xrd|/|Xr| - odsetek obserwacji z wartością r, r=L, P oraz etykietą d, d=0, 1
• Ocena podziału s (Twoing criterion)
(s) = 2P
LP
P
d=0,1( P
Ld-P
Pd)
2• Liczba przypadków: 14
• Liczba kategorii: 2
• Zbiór kategorii: Zabawa – {tak (9), nie (5)}
• Atrybuty:
– Outlook – nominalny: {słońce (5), chmury (4), deszcz (5)}
– Temperatura – ciągły – Wilgotność – ciągły
– Wiatr – nominalny: {duży(6), mały (8)}
Przykład – pogoda
Przykład – pogoda
Jak wybrać najlepszy podział?
Pogoda
Poniżej znajdują się fragmenty dziedziny. Każdy fragment został uporządkowany ze względu na wartości atrybutów: Niebo, Temperatura,
Wilgotność lub Wiatr.
Pogoda
Dokonaj podziałów binarnych i oceń,
który podział najlepiej separuje na kategorie "Zabawa" : tak/nie.
(s) = 2 P
L P
P
d=tak, nie( P
Ld-P
Pd)
23/9=0,33 2/5=0,40 3 2 6/9=0,67 3/5=0,60 6 3 9/14=0,64 5/14=0,36 9 5 14 Deszcz
Niebo
(s)
a fi, d=Nie
|PPNie|
a=fi, d=Nie
|PLNie|
a fi, d=Nie
|XPNie|
a=fi, d=Nie
|XLNie|
a fi, d=Tak
|PPTak|
a=fi,d=Tak
|PLTak|
a fi, d=Tak
|XPTak|
a=fi,d=Tak
|XLTak|
a fi
|PP|
a=fi
|PL|
afi
|XP|
a=fi
|XL|
|X|
Wartość testowa (fi) Zmienna
Pogoda deszczowo
niedeszczowo
46 0,004
a
Pogoda
Dokonaj podziałów binarnych i oceń,
który podział najlepiej separuje na kategorie "Zabawa " : tak/nie.
(s) = 2 P P ( P
d-P
d)
20,133 2/9=0,22 3/5=0,60 2 3 7/9=0,78 2/5=0,40 7 2 9/14=0,64 5/14=0,36 9 5 14 Deszcz
Niebo
(s)
a fi, d=Nie
|PPNie|
a=fi, d=Nie
|PLNie|
a fi, d=Nie
|XPNie|
a=fi, d=Nie
|XLNie|
a fi, d=Tak
|PPTak|
a=fi,d=Tak
|PLTak|
a fi, d=Tak
|XPTak|
a=fi,d=Tak
|XLTak|
a fi
|PP|
a=fi
|PL|
afi
|XP|
a=fi
|XL|
|X|
Wartość testowa (fi) Zmienna
a
Pogoda słonecznie
chmury/deszcz
Ćwiczenie
Ćwiczenie
Ćwiczenie
Ćwiczenie
0 - nie 1 - tak
słońce X XL PL XL0 XL1 PL0 PL1
14 5 0,357143 3 2 0,6 0,4
XP PP XP0 XP1 PP0 PP1
9 0,642857 2 7 0,222222 0,777778
PL0-PP0 PL1-PP1 (PL0-PP0)2 (PL1-PP1)2 0,377778 -0,37778 0,14271605 0,14271605
Fi 0,131066
Ćwiczenie
0 - nie 1 - tak
deszcz X XL PL XL0 XL1 PL0 PL1
14 5 0,357143 2 3 0,4 0,6
XP PP XP0 XP1 PP0 PP1
9 0,642857 3 6 0,333333 0,666667
PL0-PP0 PL1-PP1 (PL0-PP0)2 (PL1-PP1)2 0,066667 -0,06667 0,00444444 0,00444444
Fi 0,004082
Ćwiczenie
(słońce) = 0,131066
(deszcz) = 0,004082
(temp71) = 0,054875
(temp75) = 0,001701
(wilg85) = 0,183673
(wiatr_m) = 0,061224
(s) = 2 P
L P
P
d=tak, nie( P
Ld-P
Pd)
2Przykład – zadanie z kolokwium
Prawda czy fałsz: Wartość funkcji (s) dla testu opartego na zmiennej "kolor " wynosi 0.
kolor poziom wartość decyzja
1 niebieski wysoki 35 0
2 czerwony niski 42 1
3 czerwony średni 44 1
4 niebieski niski 37 0
5 niebieski niski 36 0
6 czerwony średni 39 0
7 niebieski wysoki 41 1
8 niebieski wysoki 45 1
9 czerwony średni 40 0
10 czerwony średni 38 0
Zadanie – choroba serca
Zadanie – choroba serca
• Chest pain type – nominalna
– Value 1: typical angina – Value 2: atypical angina – Value3: non-anginal pain – Value4: asmptomatic
• Który z podziałów
1 – 234 2 – 134 3 – 124 4 – 123
jest optymalny?
Zadanie – choroba serca
• Liczba obserwacji w węźle = 153
• Liczba obserwacji z wartością 1 = 12
– w tym: kategoria 1 – 9 obs. kategoria 2 – 3 obs.
• Liczba obserwacji z wartością 2 = 33
– w tym: kategoria 1 – 31 obs. kategoria 2 – 2 obs.
• Liczba obserwacji z wartością 3 = 56
– w tym: kategoria 1 – 51 obs. kategoria 2 – 5 obs.
• Liczba obserwacji z wartością 4 = 52
– w tym: kategoria 1 – 28 obs. kategoria 2 – 24 obs.