• Nie Znaleziono Wyników

Indukowane Reguły Decyzyjne I. Wykład 4

N/A
N/A
Protected

Academic year: 2022

Share "Indukowane Reguły Decyzyjne I. Wykład 4"

Copied!
59
0
0

Pełen tekst

(1)

Indukowane Reguły Decyzyjne I

Wykład 4

(2)

IRD Wykład 4

• Plan

– Powtórka

– Sposób budowy drzewa – Algorytm budowy drzewa

– Testy dla różnych typów atrybutów

– Metoda CART

(3)

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

(4)

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)

(5)

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!

(6)

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:XC.

(7)

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 r1Tt1, r2Tt2, ..., rmTtm

– dC – 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.

(8)

IRD Wykład 4

• Plan

– Powtórka

– Sposób budowy drzewa – Algorytm budowy drzewa

– Testy dla różnych typów atrybutów

– Metoda CART

(9)

Sposób budowy drzewa

(10)

Sposób budowy drzewa

(11)

Sposób budowy drzewa

NIEBO

Chmury Deszcz

TAK NIE

WIATR

Mały Duży

TAK NIE

TAK

(12)

Sposób budowy drzewa

(13)

IRD Wykład 4

• Plan

– Powtórka

– Sposób budowy drzewa – Algorytm budowy drzewa

– Testy dla różnych typów atrybutów

– Metoda CART

(14)

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

(15)

Algorytm budowy drzewa

Oznaczenia:

A – atrybut

X – zbiór obserwacji

t – test, np. xX1 A1(x)=10, wpp. xX2

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.

(16)

Algorytm budowy drzewa

Pytania

1. Jakie podziały są możliwe?

2. Jak wybrać podział?

3. Kiedy zakończyć dzielenie zbioru?

(17)

Algorytm budowy drzewa

Pytania

1. Jakie podziały są możliwe?

- Atrybuty nominalne

- Atrybuty porządkowe

- Atrybuty ciągłe

(18)

IRD Wykład 4

• Plan

– Powtórka

– Sposób budowy drzewa – Algorytm budowy drzewa

– Testy dla różnych typów atrybutów

– Metoda CART

(19)

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

(20)

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

(21)

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!

(22)

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

(23)

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

(24)

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

(25)

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!

(26)

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

(27)

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

(28)

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

(29)

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

(30)

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

(31)

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

(32)

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

(33)

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

(34)

Algorytm budowy drzewa

Pytania

1. Jakie podziały są możliwe?

2. Jak wybrać podział?

3. Kiedy zakończyć dzielenie zbioru?

(35)

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

(36)

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

(37)

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

(38)

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

(39)

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

(40)

IRD Wykład 4

• Plan

– Powtórka

– Sposób budowy drzewa – Algorytm budowy drzewa

– Testy dla różnych typów atrybutów

– Metoda CART

(41)

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

(42)

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) = 2P

L

P

P

d=0,1

( P

Ld

-P

Pd

)

2

(43)

• 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

(44)

Przykład – pogoda

Jak wybrać najlepszy podział?

(45)

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.

(46)

Pogoda

Dokonaj podziałów binarnych i oceń,

który podział najlepiej separuje na kategorie "Zabawa" : tak/nie.

(s) = 2P

L

P

P

d=tak, nie

( P

Ld

-P

Pd

)

2

3/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|

afi

|XP|

a=fi

|XL|

|X|

Wartość testowa (fi) Zmienna

Pogoda deszczowo

niedeszczowo

46 0,004

a

(47)

Pogoda

Dokonaj podziałów binarnych i oceń,

który podział najlepiej separuje na kategorie "Zabawa " : tak/nie.

(s) = 2PP( P

d

-P

d

)

2

0,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|

afi

|XP|

a=fi

|XL|

|X|

Wartość testowa (fi) Zmienna

a

Pogoda słonecznie

chmury/deszcz

(48)

Ćwiczenie

(49)

Ćwiczenie

(50)

Ćwiczenie

(51)

Ć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

(52)

Ć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

(53)

Ćwiczenie

 (słońce) = 0,131066

(deszcz) = 0,004082

 (temp71) = 0,054875

 (temp75) = 0,001701

 (wilg85) = 0,183673

 (wiatr_m) = 0,061224

(s) = 2P

L

P

P

d=tak, nie

( P

Ld

-P

Pd

)

2

(54)

Przykł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

(55)

Zadanie – choroba serca

(56)

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?

(57)

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.

(58)

CART – implementacje

• GNU R – rpart – tree

• SAS Enterprise Miner

• IBM SPSS Modeller/Decision Tools

• Statistica

• CART (Salford systems)

• Weka (SimpleCart)

(59)

Podsumowanie – ważne pojęcia

• Podziały dla atrybutów – Nominalnych

– Porządkowych

– Ciągłych/liczbowych

• Algorytm budowy drzew decyzyjnych

• Wybór optymalnego podziału w metodzie CART –

wyznaczanie wartości dla Twoing criterion

Cytaty

Powiązane dokumenty

Uwagi organizacyjne: Ka˙zde zadanie rozwi¸ azujemy na osobnej kartce, opatrzonej imieniem i nazwiskiem w lasnym oraz osoby prowadz¸ acej ´ cwiczenia, jak r´ ownie˙z nu- merem grupy

(b) Zbiór liczb naturalnych, których cyfrą jedności (w zapisie dziesiętnym) jest 7.. (c) Zbiór rozwiązań rzeczywistych równania sin x

sąsiednich, które jeszcze nie zostały dopisane do ciągu jest pusty, to nadaj temu wierzchołkowi etykietę „zamknięty”, w przeciwnym przypadku dopisz do ciągu pierwszy w

If Player II has not fired before, fire at ihai+ch ε and play optimally the resulting duel.. Strategy of

Zsumujmy liczbę uporządkowań poszczególnych podzbiorów n-elementowego zbioru garnczków – oznaczmy tę liczbę przez s(n) i spróbujmy ją obliczyć dla małych przykładów..

Kalkulacja własna konserwacja węzłów cieplnych strona niska i wysoka konserwacja polega na: 1.. przeglądzie węzłów cieplnych przed sezonem

[r]

Nabyiem (am) (nabyl moj malzonek, z wylaczeniem mienia przynaleznego do jego majajku odrebhego) od Skarbu Panstwa, innej panstwowej osoby prawnej, jednostek samorza_du