Eksploracja danych. Wykªad 8 Drzewa decyzyjne 1 / 260
|
|
- Danuta Kozłowska
- 6 lat temu
- Przeglądów:
Transkrypt
1 Eksploracja danych Wykªad 8 Drzewa decyzyjne 1 / 260
2 Drzewa decyzyjne Drzewa decyzyjne (okre±lane równie» jako drzewa klasykacyjne lub regresyjne) s tradycyjnym narz dziem eksploracji danych i klasycznym algorytmem uczenia maszynowego. Zaliczamy je do metod klasykacji. Od ich powstania, od roku 1980, drzewa decyzyjne byªo szeroko stosowanym modelem uczenia maszynowego w ED. Ich atrakcyjno± le»y w prostocie otrzymanego modelu, gdzie drzewo decyzyjne (przynajmniej te, które nie s zbyt du»e) jest do± ªatwe do przejrzenia, zrozumienia, i, co najwa»niejsze, wyja±nienia. Drzewa decyzyjne nie zawsze dostarczaj najlepsze wyniki, stanowi kompromis mi dzy wydajno±ci i prostot wyja±nienia. Struktura drzewa jest stosowana w wielu ró»nych dziedzinach, m. in. w: medycynie, logice, zarz dzaniu i ekonomii 2 / 260
3 Drzewa decyzyjne Drzewa decyzyjne (okre±lane równie» jako drzewa klasykacyjne lub regresyjne) s tradycyjnym narz dziem eksploracji danych i klasycznym algorytmem uczenia maszynowego. Zaliczamy je do metod klasykacji. Od ich powstania, od roku 1980, drzewa decyzyjne byªo szeroko stosowanym modelem uczenia maszynowego w ED. Ich atrakcyjno± le»y w prostocie otrzymanego modelu, gdzie drzewo decyzyjne (przynajmniej te, które nie s zbyt du»e) jest do± ªatwe do przejrzenia, zrozumienia, i, co najwa»niejsze, wyja±nienia. Drzewa decyzyjne nie zawsze dostarczaj najlepsze wyniki, stanowi kompromis mi dzy wydajno±ci i prostot wyja±nienia. Struktura drzewa jest stosowana w wielu ró»nych dziedzinach, m. in. w: medycynie, logice, zarz dzaniu i ekonomii 3 / 260
4 Drzewa decyzyjne Drzewa decyzyjne (okre±lane równie» jako drzewa klasykacyjne lub regresyjne) s tradycyjnym narz dziem eksploracji danych i klasycznym algorytmem uczenia maszynowego. Zaliczamy je do metod klasykacji. Od ich powstania, od roku 1980, drzewa decyzyjne byªo szeroko stosowanym modelem uczenia maszynowego w ED. Ich atrakcyjno± le»y w prostocie otrzymanego modelu, gdzie drzewo decyzyjne (przynajmniej te, które nie s zbyt du»e) jest do± ªatwe do przejrzenia, zrozumienia, i, co najwa»niejsze, wyja±nienia. Drzewa decyzyjne nie zawsze dostarczaj najlepsze wyniki, stanowi kompromis mi dzy wydajno±ci i prostot wyja±nienia. Struktura drzewa jest stosowana w wielu ró»nych dziedzinach, m. in. w: medycynie, logice, zarz dzaniu i ekonomii 4 / 260
5 Drzewa decyzyjne Drzewa decyzyjne (okre±lane równie» jako drzewa klasykacyjne lub regresyjne) s tradycyjnym narz dziem eksploracji danych i klasycznym algorytmem uczenia maszynowego. Zaliczamy je do metod klasykacji. Od ich powstania, od roku 1980, drzewa decyzyjne byªo szeroko stosowanym modelem uczenia maszynowego w ED. Ich atrakcyjno± le»y w prostocie otrzymanego modelu, gdzie drzewo decyzyjne (przynajmniej te, które nie s zbyt du»e) jest do± ªatwe do przejrzenia, zrozumienia, i, co najwa»niejsze, wyja±nienia. Drzewa decyzyjne nie zawsze dostarczaj najlepsze wyniki, stanowi kompromis mi dzy wydajno±ci i prostot wyja±nienia. Struktura drzewa jest stosowana w wielu ró»nych dziedzinach, m. in. w: medycynie, logice, zarz dzaniu i ekonomii 5 / 260
6 Drzewa decyzyjne Drzewa decyzyjne (okre±lane równie» jako drzewa klasykacyjne lub regresyjne) s tradycyjnym narz dziem eksploracji danych i klasycznym algorytmem uczenia maszynowego. Zaliczamy je do metod klasykacji. Od ich powstania, od roku 1980, drzewa decyzyjne byªo szeroko stosowanym modelem uczenia maszynowego w ED. Ich atrakcyjno± le»y w prostocie otrzymanego modelu, gdzie drzewo decyzyjne (przynajmniej te, które nie s zbyt du»e) jest do± ªatwe do przejrzenia, zrozumienia, i, co najwa»niejsze, wyja±nienia. Drzewa decyzyjne nie zawsze dostarczaj najlepsze wyniki, stanowi kompromis mi dzy wydajno±ci i prostot wyja±nienia. Struktura drzewa jest stosowana w wielu ró»nych dziedzinach, m. in. w: medycynie, logice, zarz dzaniu i ekonomii 6 / 260
7 Drzewa decyzyjne Drzewa decyzyjne (okre±lane równie» jako drzewa klasykacyjne lub regresyjne) s tradycyjnym narz dziem eksploracji danych i klasycznym algorytmem uczenia maszynowego. Zaliczamy je do metod klasykacji. Od ich powstania, od roku 1980, drzewa decyzyjne byªo szeroko stosowanym modelem uczenia maszynowego w ED. Ich atrakcyjno± le»y w prostocie otrzymanego modelu, gdzie drzewo decyzyjne (przynajmniej te, które nie s zbyt du»e) jest do± ªatwe do przejrzenia, zrozumienia, i, co najwa»niejsze, wyja±nienia. Drzewa decyzyjne nie zawsze dostarczaj najlepsze wyniki, stanowi kompromis mi dzy wydajno±ci i prostot wyja±nienia. Struktura drzewa jest stosowana w wielu ró»nych dziedzinach, m. in. w: medycynie, logice, zarz dzaniu i ekonomii 7 / 260
8 Drzewa decyzyjne Drzewa decyzyjne (okre±lane równie» jako drzewa klasykacyjne lub regresyjne) s tradycyjnym narz dziem eksploracji danych i klasycznym algorytmem uczenia maszynowego. Zaliczamy je do metod klasykacji. Od ich powstania, od roku 1980, drzewa decyzyjne byªo szeroko stosowanym modelem uczenia maszynowego w ED. Ich atrakcyjno± le»y w prostocie otrzymanego modelu, gdzie drzewo decyzyjne (przynajmniej te, które nie s zbyt du»e) jest do± ªatwe do przejrzenia, zrozumienia, i, co najwa»niejsze, wyja±nienia. Drzewa decyzyjne nie zawsze dostarczaj najlepsze wyniki, stanowi kompromis mi dzy wydajno±ci i prostot wyja±nienia. Struktura drzewa jest stosowana w wielu ró»nych dziedzinach, m. in. w: medycynie, logice, zarz dzaniu i ekonomii 8 / 260
9 Drzewa decyzyjne Schemat drzewa decyzyjnego Z ka»dym w zªem wewn trznym w drzewie b dzie zwi zany pewien test lub zapytanie, które okre±la gaª ¹. Li±cie zawieraj decyzje. 9 / 260
10 Drzewa decyzyjne Schemat drzewa decyzyjnego Z ka»dym w zªem wewn trznym w drzewie b dzie zwi zany pewien test lub zapytanie, które okre±la gaª ¹. Li±cie zawieraj decyzje. 10 / 260
11 Drzewa decyzyjne Schemat drzewa decyzyjnego Z ka»dym w zªem wewn trznym w drzewie b dzie zwi zany pewien test lub zapytanie, które okre±la gaª ¹. Li±cie zawieraj decyzje. 11 / 260
12 Drzewa decyzyjne Rozwa»my drzewo decyzyjne narysowane poni»ej. Proste drzewo decyzyjne dla danych weather Oznacza ono wiedz o obserwacjach warunków pogodowych jednego dnia i obserwacji dotycz cej deszczu nast pnego dnia. Warto±ci No i Yes w li±ciach drzewa decyzyjnego stanowi decyzje. 12 / 260
13 Drzewa decyzyjne Proste drzewo decyzyjne dla danych weather W zeª gªówny drzewa decyzyjnego testuje ±redni poziom ci±nienia nad poziomem morza o 15:00 (3 pm - Pressure3pm). Gdy ta zmienna dla obserwacji ma warto± wi ksz ni» lub równ 1012hPa, to przechodzimy w dóª z lewej strony drzewa. 13 / 260
14 Drzewa decyzyjne Proste drzewo decyzyjne dla danych weather Kolejnym testem na dole z lewej strony drzewa jest wysoko±c pokrywy chmur zaobserwowana o 15 (3 pm - Cloud3pm). Je±li to ona mniejsza ni» 8 okta (miara zachmurzenia 0-8, czyli mniej ni» w peªni zachmurzone niebo), to obserwujemy,»e na nast pny dzie«na ogóª nie pada (No). 14 / 260
15 Drzewa decyzyjne Proste drzewo decyzyjne dla danych weather Je±li obserwujemy peªne zachmurzenie o 15:00 (tj. Cloud3pm wynosi 8 okta - maksymalna warto± tej zmiennej), to ogólnie widzimy,»e pada nast puj cego dnia (Yes). W ten sposób jeste±my skªonni przewidzie, mo»liwe opady, na podstawie warunków pogodowych z bie» cego dnia. 15 / 260
16 Drzewa decyzyjne Proste drzewo decyzyjne dla danych weather Je±li obserwujemy peªne zachmurzenie o 15:00 (tj. Cloud3pm wynosi 8 okta - maksymalna warto± tej zmiennej), to ogólnie widzimy,»e pada nast puj cego dnia (Yes). W ten sposób jeste±my skªonni przewidzie, mo»liwe opady, na podstawie warunków pogodowych z bie» cego dnia. 16 / 260
17 Drzewa decyzyjne Proste drzewo decyzyjne dla danych weather Zaczynamy znów nasz interpretacj modelu od korzenia. Je±li zmienna Pressure3pm ma warto± mniejsz ni» 1012hPa i Sunshine jest wi ksza lub równa ni» 9 (tj. zaobserwowano co najmniej 9 godzin sªonecznych podczas dna), to nie nale»y si spodziewa jutro deszczu. Je±li rejestrujemy 9 lub mniej godzin sªonecznych, to mo»emy si spodziewa,»e b dzie pada jutro. 17 / 260
18 Drzewa decyzyjne Proste drzewo decyzyjne dla danych weather Zaczynamy znów nasz interpretacj modelu od korzenia. Je±li zmienna Pressure3pm ma warto± mniejsz ni» 1012hPa i Sunshine jest wi ksza lub równa ni» 9 (tj. zaobserwowano co najmniej 9 godzin sªonecznych podczas dna), to nie nale»y si spodziewa jutro deszczu. Je±li rejestrujemy 9 lub mniej godzin sªonecznych, to mo»emy si spodziewa,»e b dzie pada jutro. 18 / 260
19 Drzewa decyzyjne Proste drzewo decyzyjne dla danych weather Wiedza b d¹ model wyra»one w j zyku modelowania mog by tªumaczone na inny j zyk, np. programowania. Oczywi±cie dotyczy to równie» drzewa decyzyjnego. Jednym z tªumacze«jest zestaw reguª. 19 / 260
20 Drzewa decyzyjne Proste drzewo decyzyjne dla danych weather Wiedza b d¹ model wyra»one w j zyku modelowania mog by tªumaczone na inny j zyk, np. programowania. Oczywi±cie dotyczy to równie» drzewa decyzyjnego. Jednym z tªumacze«jest zestaw reguª. 20 / 260
21 Drzewa decyzyjne Drzewo decyzyjne tªumaczymy na zasady, z których ka»da odpowiada jednej ±cie»ce od korzenia do li±cia. 21 / 260
22 Drzewa decyzyjne Zasada numer 7 oznacza, z prawdopodobie«stwem 74%, gdy ci±nienie o 3 po poªudniu jest mniejsze ni» 1012 hpa i liczba godzin sªonecznych wynosi mniej ni» 8.85 godziny, mamy deszcz nast pnego dnia (RainTomorrow = Yes). Inne informacje zawarte w regule: np.»e 27 obserwacji z treningowego zestawu danych (tj. 11% obserwacji treningowych) jest obj tych t zasad, tzn. speªniaj dwa powy»sze warunki. 22 / 260
23 Drzewa decyzyjne Zasada numer 7 oznacza, z prawdopodobie«stwem 74%, gdy ci±nienie o 3 po poªudniu jest mniejsze ni» 1012 hpa i liczba godzin sªonecznych wynosi mniej ni» 8.85 godziny, mamy deszcz nast pnego dnia (RainTomorrow = Yes). Inne informacje zawarte w regule: np.»e 27 obserwacji z treningowego zestawu danych (tj. 11% obserwacji treningowych) jest obj tych t zasad, tzn. speªniaj dwa powy»sze warunki. 23 / 260
24 Drzewa decyzyjne Reprezentacja w formie reguª ma swoje zalety. W trakcie przegl du wiedzy, mo»emy rozwa»y ka»d reguª osobno nie rozpraszaj c si bardziej zªo»on konstrukcj du»ych drzew decyzyjnych. Zauwa»my,»e ka»da reguªa mo»e zosta przetªumaczona na wyra»enie w j zyku programowania jak np. R, Python, C, VisualBasic lub SQL. Konstrukcja jest tak prosta i jasna, jak instrukcja warunkowa IF-THEN. 24 / 260
25 Drzewa decyzyjne Reprezentacja w formie reguª ma swoje zalety. W trakcie przegl du wiedzy, mo»emy rozwa»y ka»d reguª osobno nie rozpraszaj c si bardziej zªo»on konstrukcj du»ych drzew decyzyjnych. Zauwa»my,»e ka»da reguªa mo»e zosta przetªumaczona na wyra»enie w j zyku programowania jak np. R, Python, C, VisualBasic lub SQL. Konstrukcja jest tak prosta i jasna, jak instrukcja warunkowa IF-THEN. 25 / 260
26 Drzewa decyzyjne Algorytm budowania drzewa decyzyjnego cz sto rozpoczyna od budowy drzewa wi kszego, a nast pnie nast puje przyci te (pruned), a wi c uproszczenie drzewa. Sªu»y to poprawie dokªadno±ci. W konsekwencji b dziemy cz sto widzieli numery w zªów (i numery reguª), które nie s kolejne. Numery w zªów nie maj»adnego konkretnego znaczenia i sªu» tylko do odniesienia. W reguªach widzimy miary prawdopodobie«stwa, które s zazwyczaj podawane dla ka»dego li±cia drzewa decyzyjnego. Prawdopodobie«stwa mog by stosowane w celu okre±lenia siªy decyzji, któr wyznaczamy w modelu. 26 / 260
27 Drzewa decyzyjne Algorytm budowania drzewa decyzyjnego cz sto rozpoczyna od budowy drzewa wi kszego, a nast pnie nast puje przyci te (pruned), a wi c uproszczenie drzewa. Sªu»y to poprawie dokªadno±ci. W konsekwencji b dziemy cz sto widzieli numery w zªów (i numery reguª), które nie s kolejne. Numery w zªów nie maj»adnego konkretnego znaczenia i sªu» tylko do odniesienia. W reguªach widzimy miary prawdopodobie«stwa, które s zazwyczaj podawane dla ka»dego li±cia drzewa decyzyjnego. Prawdopodobie«stwa mog by stosowane w celu okre±lenia siªy decyzji, któr wyznaczamy w modelu. 27 / 260
28 Drzewa decyzyjne Algorytm budowania drzewa decyzyjnego cz sto rozpoczyna od budowy drzewa wi kszego, a nast pnie nast puje przyci te (pruned), a wi c uproszczenie drzewa. Sªu»y to poprawie dokªadno±ci. W konsekwencji b dziemy cz sto widzieli numery w zªów (i numery reguª), które nie s kolejne. Numery w zªów nie maj»adnego konkretnego znaczenia i sªu» tylko do odniesienia. W reguªach widzimy miary prawdopodobie«stwa, które s zazwyczaj podawane dla ka»dego li±cia drzewa decyzyjnego. Prawdopodobie«stwa mog by stosowane w celu okre±lenia siªy decyzji, któr wyznaczamy w modelu. 28 / 260
29 Drzewa decyzyjne rodzaje Rozwa»ane powy»ej drzewo nosi nazw binarnego drzewa decyzyjnego. 29 / 260
30 Drzewa decyzyjne algorytm Dla ka»dego zestawu danych mo»emy generowa wiele ró»nych drzew decyzyjnych. Rozwa»my proste drzewo decyzyjne omówiony powy»ej. Zamiast testowa zmienn Pressure3pm z warto±ci 1012, mo»emy j przetestowa z warto±ciami 1011, 1013 lub 1020, itd. Lub mo»emy w korzeniu testowa inn zmienn, by mo»e mogliby±my testowa warto± Humidity3pm zamiast Pressure3pm. To ponownie wprowadza wiele alternatywnych modeli. Który model jest najlepszy i najlepiej pasuje do danych? Naszym zadaniem jest zidentykowanie modelu, który najlepiej oddaje wiedz z obserwacji. Wyliczenie ka»dego mo»liwego i sprawdzenie, czy jest on dobrym modelem, b dzie zwykle zbyt kosztowne obliczeniowo. 30 / 260
31 Drzewa decyzyjne algorytm Dla ka»dego zestawu danych mo»emy generowa wiele ró»nych drzew decyzyjnych. Rozwa»my proste drzewo decyzyjne omówiony powy»ej. Zamiast testowa zmienn Pressure3pm z warto±ci 1012, mo»emy j przetestowa z warto±ciami 1011, 1013 lub 1020, itd. Lub mo»emy w korzeniu testowa inn zmienn, by mo»e mogliby±my testowa warto± Humidity3pm zamiast Pressure3pm. To ponownie wprowadza wiele alternatywnych modeli. Który model jest najlepszy i najlepiej pasuje do danych? Naszym zadaniem jest zidentykowanie modelu, który najlepiej oddaje wiedz z obserwacji. Wyliczenie ka»dego mo»liwego i sprawdzenie, czy jest on dobrym modelem, b dzie zwykle zbyt kosztowne obliczeniowo. 31 / 260
32 Drzewa decyzyjne algorytm Dla ka»dego zestawu danych mo»emy generowa wiele ró»nych drzew decyzyjnych. Rozwa»my proste drzewo decyzyjne omówiony powy»ej. Zamiast testowa zmienn Pressure3pm z warto±ci 1012, mo»emy j przetestowa z warto±ciami 1011, 1013 lub 1020, itd. Lub mo»emy w korzeniu testowa inn zmienn, by mo»e mogliby±my testowa warto± Humidity3pm zamiast Pressure3pm. To ponownie wprowadza wiele alternatywnych modeli. Który model jest najlepszy i najlepiej pasuje do danych? Naszym zadaniem jest zidentykowanie modelu, który najlepiej oddaje wiedz z obserwacji. Wyliczenie ka»dego mo»liwego i sprawdzenie, czy jest on dobrym modelem, b dzie zwykle zbyt kosztowne obliczeniowo. 32 / 260
33 Drzewa decyzyjne algorytm Dla ka»dego zestawu danych mo»emy generowa wiele ró»nych drzew decyzyjnych. Rozwa»my proste drzewo decyzyjne omówiony powy»ej. Zamiast testowa zmienn Pressure3pm z warto±ci 1012, mo»emy j przetestowa z warto±ciami 1011, 1013 lub 1020, itd. Lub mo»emy w korzeniu testowa inn zmienn, by mo»e mogliby±my testowa warto± Humidity3pm zamiast Pressure3pm. To ponownie wprowadza wiele alternatywnych modeli. Który model jest najlepszy i najlepiej pasuje do danych? Naszym zadaniem jest zidentykowanie modelu, który najlepiej oddaje wiedz z obserwacji. Wyliczenie ka»dego mo»liwego i sprawdzenie, czy jest on dobrym modelem, b dzie zwykle zbyt kosztowne obliczeniowo. 33 / 260
34 Drzewa decyzyjne algorytm Dla ka»dego zestawu danych mo»emy generowa wiele ró»nych drzew decyzyjnych. Rozwa»my proste drzewo decyzyjne omówiony powy»ej. Zamiast testowa zmienn Pressure3pm z warto±ci 1012, mo»emy j przetestowa z warto±ciami 1011, 1013 lub 1020, itd. Lub mo»emy w korzeniu testowa inn zmienn, by mo»e mogliby±my testowa warto± Humidity3pm zamiast Pressure3pm. To ponownie wprowadza wiele alternatywnych modeli. Który model jest najlepszy i najlepiej pasuje do danych? Naszym zadaniem jest zidentykowanie modelu, który najlepiej oddaje wiedz z obserwacji. Wyliczenie ka»dego mo»liwego i sprawdzenie, czy jest on dobrym modelem, b dzie zwykle zbyt kosztowne obliczeniowo. 34 / 260
35 Drzewa decyzyjne algorytm Naszym zadaniem jest skorzystanie z obserwacji (treningowych) w celu zaw»enia tych poszukiwa«tak, aby znale¹ dobry model w rozs dnym czasie. Algorytm, który zostaª opracowany dla drzew decyzyjnych jest okre±lany jako odgórna indukcja drzew decyzyjnych (top-down induction of decision trees - TDIDT). Algorytm u»ywa podej±cia dziel i zwyci»aj (rekurencyjnego podziaªu.) Przedstawimy ide algorytmu na przykªadzie zestawu danych weather. Istotny dla algorytmu jest rozkªad obserwacji w odniesieniu do zmiennej docelowej RainTomorrow. Mamy 66 obserwacji, które maj cel jako Yes (18%) i 300 No (82%). 35 / 260
36 Drzewa decyzyjne algorytm Naszym zadaniem jest skorzystanie z obserwacji (treningowych) w celu zaw»enia tych poszukiwa«tak, aby znale¹ dobry model w rozs dnym czasie. Algorytm, który zostaª opracowany dla drzew decyzyjnych jest okre±lany jako odgórna indukcja drzew decyzyjnych (top-down induction of decision trees - TDIDT). Algorytm u»ywa podej±cia dziel i zwyci»aj (rekurencyjnego podziaªu.) Przedstawimy ide algorytmu na przykªadzie zestawu danych weather. Istotny dla algorytmu jest rozkªad obserwacji w odniesieniu do zmiennej docelowej RainTomorrow. Mamy 66 obserwacji, które maj cel jako Yes (18%) i 300 No (82%). 36 / 260
37 Drzewa decyzyjne algorytm Naszym zadaniem jest skorzystanie z obserwacji (treningowych) w celu zaw»enia tych poszukiwa«tak, aby znale¹ dobry model w rozs dnym czasie. Algorytm, który zostaª opracowany dla drzew decyzyjnych jest okre±lany jako odgórna indukcja drzew decyzyjnych (top-down induction of decision trees - TDIDT). Algorytm u»ywa podej±cia dziel i zwyci»aj (rekurencyjnego podziaªu.) Przedstawimy ide algorytmu na przykªadzie zestawu danych weather. Istotny dla algorytmu jest rozkªad obserwacji w odniesieniu do zmiennej docelowej RainTomorrow. Mamy 66 obserwacji, które maj cel jako Yes (18%) i 300 No (82%). 37 / 260
38 Drzewa decyzyjne algorytm Naszym zadaniem jest skorzystanie z obserwacji (treningowych) w celu zaw»enia tych poszukiwa«tak, aby znale¹ dobry model w rozs dnym czasie. Algorytm, który zostaª opracowany dla drzew decyzyjnych jest okre±lany jako odgórna indukcja drzew decyzyjnych (top-down induction of decision trees - TDIDT). Algorytm u»ywa podej±cia dziel i zwyci»aj (rekurencyjnego podziaªu.) Przedstawimy ide algorytmu na przykªadzie zestawu danych weather. Istotny dla algorytmu jest rozkªad obserwacji w odniesieniu do zmiennej docelowej RainTomorrow. Mamy 66 obserwacji, które maj cel jako Yes (18%) i 300 No (82%). 38 / 260
39 Drzewa decyzyjne algorytm Chcemy znale¹ zmienn wej±ciow, która mo»e by u»ywana do dzielenia zbioru danych na dwa mniejsze zestawy danych. Celem b dzie zwi kszenie jednorodno±ci (homogeniczno±ci) ka»dego z tych dwóch zestawów danych w odniesieniu do zmiennej docelowej. Oznacza to,»e dla jednego z zestawów danych, b dziemy starali si zwi kszy odsetek obserwacji Yes, a dla drugiego zbioru danych chcemy by wzrósª odsetek obserwacji No. Mo»emy na przykªad zdecydowa, aby skonstruowa podziaª zestawu danych za pomoc zmiennej Sunshine, a w tym zbiorze wybra 9 jako warto± wyznaczaj c podziaª. Ka»da obserwacja z warto±ci mniejsz lub równ 9 jest przydzielana do pierwszego podzbioru, pozostaªe do drugiego. 39 / 260
40 Drzewa decyzyjne algorytm Chcemy znale¹ zmienn wej±ciow, która mo»e by u»ywana do dzielenia zbioru danych na dwa mniejsze zestawy danych. Celem b dzie zwi kszenie jednorodno±ci (homogeniczno±ci) ka»dego z tych dwóch zestawów danych w odniesieniu do zmiennej docelowej. Oznacza to,»e dla jednego z zestawów danych, b dziemy starali si zwi kszy odsetek obserwacji Yes, a dla drugiego zbioru danych chcemy by wzrósª odsetek obserwacji No. Mo»emy na przykªad zdecydowa, aby skonstruowa podziaª zestawu danych za pomoc zmiennej Sunshine, a w tym zbiorze wybra 9 jako warto± wyznaczaj c podziaª. Ka»da obserwacja z warto±ci mniejsz lub równ 9 jest przydzielana do pierwszego podzbioru, pozostaªe do drugiego. 40 / 260
41 Drzewa decyzyjne algorytm Chcemy znale¹ zmienn wej±ciow, która mo»e by u»ywana do dzielenia zbioru danych na dwa mniejsze zestawy danych. Celem b dzie zwi kszenie jednorodno±ci (homogeniczno±ci) ka»dego z tych dwóch zestawów danych w odniesieniu do zmiennej docelowej. Oznacza to,»e dla jednego z zestawów danych, b dziemy starali si zwi kszy odsetek obserwacji Yes, a dla drugiego zbioru danych chcemy by wzrósª odsetek obserwacji No. Mo»emy na przykªad zdecydowa, aby skonstruowa podziaª zestawu danych za pomoc zmiennej Sunshine, a w tym zbiorze wybra 9 jako warto± wyznaczaj c podziaª. Ka»da obserwacja z warto±ci mniejsz lub równ 9 jest przydzielana do pierwszego podzbioru, pozostaªe do drugiego. 41 / 260
42 Drzewa decyzyjne algorytm Nowe zestawy danych b d miaªy 201 i 162 obserwacji odpowiednio (trzy obserwacje maj brak warto±ci dla tej zmiennej). w.omit<-na.omit(weather["sunshine"]) length(which(w.omit<9)) Teraz bierzemy pod uwag proporcje Yes i No w tych dwóch nowych zestawach danych. Dla podzbioru obserwacji z Sunshine o warto±ci mniej ni» 9, proporcje s 28% Yes i 72% No. W podgrupie drugiej proporcje wynosz 5% Yes i 95% No. vars<-c("sunshine","raintomorrow") w2.omit<-na.omit(weather[vars]) which((w2.omit$sunshine<9) & (w2.omit$raintomorrow=="yes")) x1<-which(w2.omit$raintomorrow=="yes") x2<-which(w2.omit$sunshine<9) length(intersect(x1,x2))/length(which(w.omit<9)) 42 / 260
43 Drzewa decyzyjne algorytm Nowe zestawy danych b d miaªy 201 i 162 obserwacji odpowiednio (trzy obserwacje maj brak warto±ci dla tej zmiennej). w.omit<-na.omit(weather["sunshine"]) length(which(w.omit<9)) Teraz bierzemy pod uwag proporcje Yes i No w tych dwóch nowych zestawach danych. Dla podzbioru obserwacji z Sunshine o warto±ci mniej ni» 9, proporcje s 28% Yes i 72% No. W podgrupie drugiej proporcje wynosz 5% Yes i 95% No. vars<-c("sunshine","raintomorrow") w2.omit<-na.omit(weather[vars]) which((w2.omit$sunshine<9) & (w2.omit$raintomorrow=="yes")) x1<-which(w2.omit$raintomorrow=="yes") x2<-which(w2.omit$sunshine<9) length(intersect(x1,x2))/length(which(w.omit<9)) 43 / 260
44 Drzewa decyzyjne algorytm Nowe zestawy danych b d miaªy 201 i 162 obserwacji odpowiednio (trzy obserwacje maj brak warto±ci dla tej zmiennej). w.omit<-na.omit(weather["sunshine"]) length(which(w.omit<9)) Teraz bierzemy pod uwag proporcje Yes i No w tych dwóch nowych zestawach danych. Dla podzbioru obserwacji z Sunshine o warto±ci mniej ni» 9, proporcje s 28% Yes i 72% No. W podgrupie drugiej proporcje wynosz 5% Yes i 95% No. vars<-c("sunshine","raintomorrow") w2.omit<-na.omit(weather[vars]) which((w2.omit$sunshine<9) & (w2.omit$raintomorrow=="yes")) x1<-which(w2.omit$raintomorrow=="yes") x2<-which(w2.omit$sunshine<9) length(intersect(x1,x2))/length(which(w.omit<9)) 44 / 260
45 Drzewa decyzyjne algorytm Poprzez podziaª wg tej zmiennej, uzyskali±my lepsz homogeniczno± warto±ci zmiennej celu RainTomorrow. W szczególno±ci drugi zbiór danych (Sunshine 9 ) gromadzi obserwacje, które s bez deszczu nast pnego dnia (95% No). To pozwala nam stwierdzi,»e gdy liczba sªonecznych godzin jest do± wysoka (tj. co najmniej 9 godzin), to jest prawdopodobie«stwo deszczu jest niewielkie (5% Yes). W pierwszym zestawie danych sprawa nie jest tak oczywista. Proporcje (28% Yes i 72% No, w caªym zbiorze Yes 18% i No 82%) z pewno±ci si zmieniªy mamy wi kszy udziaª obserwacji Yes ni» dla oryginalnego zestawu danych, ale nadal obserwacje Yes nie przewa»aj. 45 / 260
46 Drzewa decyzyjne algorytm Poprzez podziaª wg tej zmiennej, uzyskali±my lepsz homogeniczno± warto±ci zmiennej celu RainTomorrow. W szczególno±ci drugi zbiór danych (Sunshine 9 ) gromadzi obserwacje, które s bez deszczu nast pnego dnia (95% No). To pozwala nam stwierdzi,»e gdy liczba sªonecznych godzin jest do± wysoka (tj. co najmniej 9 godzin), to jest prawdopodobie«stwo deszczu jest niewielkie (5% Yes). W pierwszym zestawie danych sprawa nie jest tak oczywista. Proporcje (28% Yes i 72% No, w caªym zbiorze Yes 18% i No 82%) z pewno±ci si zmieniªy mamy wi kszy udziaª obserwacji Yes ni» dla oryginalnego zestawu danych, ale nadal obserwacje Yes nie przewa»aj. 46 / 260
47 Drzewa decyzyjne algorytm Niemniej jednak, mo»na powiedzie,»e gdy obserwujemy Sunshine < 9, to istnieje zwi kszone prawdopodobie«stwo deszczu nast pnego dnia na podstawie naszych historycznych obserwacji. Mamy wtedy 28% szans na deszcz w porównaniu z 18% w stosunku do wszystkich obserwacji. Wybór warto±ci 9 dla zmiennej Sunshine jest tylko jedn mo»liwo±ci spo±ród bardzo wielu ró»nych wyborów. Je±li wybraliby±my warto± 5 dla tej zmiennej, to mieliby±my dwa nowe zestawy danych z proporcjami Yes/No 41%/59% i 12%/88%. Wybieraj c caªkowicie inn zmienn (Cloud3pm) z podziaªem 6, mieliby±my dwa nowe zestawy danych z proporcjami Yes/No 8%/92% i 34%/66%. Innym wyborem mo»e by Pressure3pm z podziaªem Daje to nam proporcje Yes/No 47%/53% i 10%/90%. 47 / 260
48 Drzewa decyzyjne algorytm Niemniej jednak, mo»na powiedzie,»e gdy obserwujemy Sunshine < 9, to istnieje zwi kszone prawdopodobie«stwo deszczu nast pnego dnia na podstawie naszych historycznych obserwacji. Mamy wtedy 28% szans na deszcz w porównaniu z 18% w stosunku do wszystkich obserwacji. Wybór warto±ci 9 dla zmiennej Sunshine jest tylko jedn mo»liwo±ci spo±ród bardzo wielu ró»nych wyborów. Je±li wybraliby±my warto± 5 dla tej zmiennej, to mieliby±my dwa nowe zestawy danych z proporcjami Yes/No 41%/59% i 12%/88%. Wybieraj c caªkowicie inn zmienn (Cloud3pm) z podziaªem 6, mieliby±my dwa nowe zestawy danych z proporcjami Yes/No 8%/92% i 34%/66%. Innym wyborem mo»e by Pressure3pm z podziaªem Daje to nam proporcje Yes/No 47%/53% i 10%/90%. 48 / 260
49 Drzewa decyzyjne algorytm W jaki sposób mo»na podzieli zbiór treningowy? Który podziaª jest najlepszy? Na to pytanie odpowiemy za chwil, teraz zaªó»my,»e dokonali±my ju» tego wyboru i mamy dwa nowe mniejsze zbiory danych. Proces jest powtarzany oddzielnie dla dwóch nowych zestawów danych. Oznacza to,»e dla lewego zbioru (obserwacje maj ce Sunshine < 9) bierzemy pod uwag wszystkie mo»liwe zmienne i podziaªy, aby podzieli ten zestaw danych na dwa mniejsze zestawy danych. Niezale»nie dla prawego zestawu danych (obserwacje maj c Sunshine 9 ) rozwa»amy równie» wszystkie mo»liwe zmienne i podziaªy zestawu danych na dwa mniejsze zestawy danych. 49 / 260
50 Drzewa decyzyjne algorytm W jaki sposób mo»na podzieli zbiór treningowy? Który podziaª jest najlepszy? Na to pytanie odpowiemy za chwil, teraz zaªó»my,»e dokonali±my ju» tego wyboru i mamy dwa nowe mniejsze zbiory danych. Proces jest powtarzany oddzielnie dla dwóch nowych zestawów danych. Oznacza to,»e dla lewego zbioru (obserwacje maj ce Sunshine < 9) bierzemy pod uwag wszystkie mo»liwe zmienne i podziaªy, aby podzieli ten zestaw danych na dwa mniejsze zestawy danych. Niezale»nie dla prawego zestawu danych (obserwacje maj c Sunshine 9 ) rozwa»amy równie» wszystkie mo»liwe zmienne i podziaªy zestawu danych na dwa mniejsze zestawy danych. 50 / 260
51 Drzewa decyzyjne - algorytm Teraz mamy cztery jeszcze mniejsze zbiory danych i proces trwa dalej. Dla ka»dego z czterech zestawów danych ponownie rozwa»amy wszystkie mo»liwe zmienne i podziaªy, wybieraj c najlepszy na ka»dym etapie, dziel c dane, i tak dalej, powtarzaj c proces, a» uznamy,»e podziaª powinien si zatrzyma. Warunki stopu: kiedy zabraknie zmiennych, zabraknie danych lub gdy podziaª zbioru danych nie poprawia proporcji lub wyniku. Widzimy teraz, dlaczego proces ten nazywa mo»na dziel i zwyci»aj lub rekurencyjnym partycjonowaniem. Na ka»dym kroku, zidentykowali±my pytanie, które u»ywamy do podziaªu danych. Powstaªe wówczas dwa zestawy danych odpowiadaj gaª ziom drzewa wychodz cym z tego w zªa. Dla ka»dej gaª zi identykujemy nowe pytanie i podziaª. Dzielimy zbiór wielokrotnie i stosujemy taki sam proces, niezale»nie dla ka»dego z mniejszych zestawów danych, w zwi zku z czym jest to podziaª rekurencyjny. 51 / 260
52 Drzewa decyzyjne - algorytm Teraz mamy cztery jeszcze mniejsze zbiory danych i proces trwa dalej. Dla ka»dego z czterech zestawów danych ponownie rozwa»amy wszystkie mo»liwe zmienne i podziaªy, wybieraj c najlepszy na ka»dym etapie, dziel c dane, i tak dalej, powtarzaj c proces, a» uznamy,»e podziaª powinien si zatrzyma. Warunki stopu: kiedy zabraknie zmiennych, zabraknie danych lub gdy podziaª zbioru danych nie poprawia proporcji lub wyniku. Widzimy teraz, dlaczego proces ten nazywa mo»na dziel i zwyci»aj lub rekurencyjnym partycjonowaniem. Na ka»dym kroku, zidentykowali±my pytanie, które u»ywamy do podziaªu danych. Powstaªe wówczas dwa zestawy danych odpowiadaj gaª ziom drzewa wychodz cym z tego w zªa. Dla ka»dej gaª zi identykujemy nowe pytanie i podziaª. Dzielimy zbiór wielokrotnie i stosujemy taki sam proces, niezale»nie dla ka»dego z mniejszych zestawów danych, w zwi zku z czym jest to podziaª rekurencyjny. 52 / 260
53 Drzewa decyzyjne - algorytm Teraz mamy cztery jeszcze mniejsze zbiory danych i proces trwa dalej. Dla ka»dego z czterech zestawów danych ponownie rozwa»amy wszystkie mo»liwe zmienne i podziaªy, wybieraj c najlepszy na ka»dym etapie, dziel c dane, i tak dalej, powtarzaj c proces, a» uznamy,»e podziaª powinien si zatrzyma. Warunki stopu: kiedy zabraknie zmiennych, zabraknie danych lub gdy podziaª zbioru danych nie poprawia proporcji lub wyniku. Widzimy teraz, dlaczego proces ten nazywa mo»na dziel i zwyci»aj lub rekurencyjnym partycjonowaniem. Na ka»dym kroku, zidentykowali±my pytanie, które u»ywamy do podziaªu danych. Powstaªe wówczas dwa zestawy danych odpowiadaj gaª ziom drzewa wychodz cym z tego w zªa. Dla ka»dej gaª zi identykujemy nowe pytanie i podziaª. Dzielimy zbiór wielokrotnie i stosujemy taki sam proces, niezale»nie dla ka»dego z mniejszych zestawów danych, w zwi zku z czym jest to podziaª rekurencyjny. 53 / 260
54 Drzewa decyzyjne - algorytm Teraz mamy cztery jeszcze mniejsze zbiory danych i proces trwa dalej. Dla ka»dego z czterech zestawów danych ponownie rozwa»amy wszystkie mo»liwe zmienne i podziaªy, wybieraj c najlepszy na ka»dym etapie, dziel c dane, i tak dalej, powtarzaj c proces, a» uznamy,»e podziaª powinien si zatrzyma. Warunki stopu: kiedy zabraknie zmiennych, zabraknie danych lub gdy podziaª zbioru danych nie poprawia proporcji lub wyniku. Widzimy teraz, dlaczego proces ten nazywa mo»na dziel i zwyci»aj lub rekurencyjnym partycjonowaniem. Na ka»dym kroku, zidentykowali±my pytanie, które u»ywamy do podziaªu danych. Powstaªe wówczas dwa zestawy danych odpowiadaj gaª ziom drzewa wychodz cym z tego w zªa. Dla ka»dej gaª zi identykujemy nowe pytanie i podziaª. Dzielimy zbiór wielokrotnie i stosujemy taki sam proces, niezale»nie dla ka»dego z mniejszych zestawów danych, w zwi zku z czym jest to podziaª rekurencyjny. 54 / 260
55 Drzewa decyzyjne - algorytm Na ka»dym etapie procesu, podejmiemy decyzj co do wyboru najlepszej zmiennej i podziaªu na partycje danych. Decyzja mo»e nie by najlepsza w ogólnym kontek±cie budowania tego drzewa, ale gdy podejmiemy tak decyzj, pozostajemy z ni do ko«ca budowania drzewa. Jest to ogólnie okre±lane jako podej±cie zachªanne (greedy approach). 55 / 260
56 Miary Jak mierzy jako± podziaªów zbioru danych? Rattle wykorzystuje poj cie zysku informacyjnego dla podj cia decyzji mi dzy alternatywnymi podziaªami. Poj cie pochodzi z teorii informacji i wykorzystuje poj cie entropii. Entropia oznacza jak wymieszane s nasze dane w odniesieniu do warto±ci zmiennej docelowej. 56 / 260
57 Miary Jak mierzy jako± podziaªów zbioru danych? Rattle wykorzystuje poj cie zysku informacyjnego dla podj cia decyzji mi dzy alternatywnymi podziaªami. Poj cie pochodzi z teorii informacji i wykorzystuje poj cie entropii. Entropia oznacza jak wymieszane s nasze dane w odniesieniu do warto±ci zmiennej docelowej. 57 / 260
58 Miary Jak mierzy jako± podziaªów zbioru danych? Rattle wykorzystuje poj cie zysku informacyjnego dla podj cia decyzji mi dzy alternatywnymi podziaªami. Poj cie pochodzi z teorii informacji i wykorzystuje poj cie entropii. Entropia oznacza jak wymieszane s nasze dane w odniesieniu do warto±ci zmiennej docelowej. 58 / 260
59 Miary Je±li zestaw danych zawiera tylko obserwacje z tak sam warto±ci zmiennej celu (np. zawiera tylko obserwacje, dla których pada nast pnego dnia), to nie mamy zaburzenia, a wi c mamy: brak entropii lub entropi zerow. Je±li dwie warto±ci zmiennej docelowej s równomiernie rozªo»one w obserwacjach (tj. 50 % z zestawu danych to s obserwacje, dla których pada jutro, a pozostaªe 50% to obserwacje, dla których nie ma deszczu jutro), to zestaw danych zawiera maksymaln ilo± zaburzenia (entropii). Maksymalna warto± entropii to 1. Zbiór danych zawieraj cy wymieszane warto±ci zmiennej docelowej, b dzie miaª entropi pomi dzy 0 i / 260
60 Miary Je±li zestaw danych zawiera tylko obserwacje z tak sam warto±ci zmiennej celu (np. zawiera tylko obserwacje, dla których pada nast pnego dnia), to nie mamy zaburzenia, a wi c mamy: brak entropii lub entropi zerow. Je±li dwie warto±ci zmiennej docelowej s równomiernie rozªo»one w obserwacjach (tj. 50 % z zestawu danych to s obserwacje, dla których pada jutro, a pozostaªe 50% to obserwacje, dla których nie ma deszczu jutro), to zestaw danych zawiera maksymaln ilo± zaburzenia (entropii). Maksymalna warto± entropii to 1. Zbiór danych zawieraj cy wymieszane warto±ci zmiennej docelowej, b dzie miaª entropi pomi dzy 0 i / 260
61 Miary Je±li zestaw danych zawiera tylko obserwacje z tak sam warto±ci zmiennej celu (np. zawiera tylko obserwacje, dla których pada nast pnego dnia), to nie mamy zaburzenia, a wi c mamy: brak entropii lub entropi zerow. Je±li dwie warto±ci zmiennej docelowej s równomiernie rozªo»one w obserwacjach (tj. 50 % z zestawu danych to s obserwacje, dla których pada jutro, a pozostaªe 50% to obserwacje, dla których nie ma deszczu jutro), to zestaw danych zawiera maksymaln ilo± zaburzenia (entropii). Maksymalna warto± entropii to 1. Zbiór danych zawieraj cy wymieszane warto±ci zmiennej docelowej, b dzie miaª entropi pomi dzy 0 i / 260
62 Miary Je±li zestaw danych zawiera tylko obserwacje z tak sam warto±ci zmiennej celu (np. zawiera tylko obserwacje, dla których pada nast pnego dnia), to nie mamy zaburzenia, a wi c mamy: brak entropii lub entropi zerow. Je±li dwie warto±ci zmiennej docelowej s równomiernie rozªo»one w obserwacjach (tj. 50 % z zestawu danych to s obserwacje, dla których pada jutro, a pozostaªe 50% to obserwacje, dla których nie ma deszczu jutro), to zestaw danych zawiera maksymaln ilo± zaburzenia (entropii). Maksymalna warto± entropii to 1. Zbiór danych zawieraj cy wymieszane warto±ci zmiennej docelowej, b dzie miaª entropi pomi dzy 0 i / 260
63 Miary Z punktu widzenia teorii informacji, miara 0 (czyli entropia 0), to wskazanie,»e nie potrzebujemy»adnych dodatkowych informacji w celu sklasykowania obserwacji w obr bie zestawu danych - wszystkie obserwacje nale» do tej samej klasy. miara 1 wskazuje,»e potrzebujemy maksymaln, mo»liw liczb dodatkowych informacji w celu sklasykowania naszych obserwacji. Je±li podziaª na obserwacje, w których pada jutro i nie pada jutro jest, ró»ny od 50% / 50%, ale wynosi np. 75% / 25%, to potrzebujemy mniej informacji w celu sklasykowania naszych obserwacji zestaw danych ju» zawiera informacje na temat w jaki sposób klasykowa dane. 63 / 260
64 Miary Z punktu widzenia teorii informacji, miara 0 (czyli entropia 0), to wskazanie,»e nie potrzebujemy»adnych dodatkowych informacji w celu sklasykowania obserwacji w obr bie zestawu danych - wszystkie obserwacje nale» do tej samej klasy. miara 1 wskazuje,»e potrzebujemy maksymaln, mo»liw liczb dodatkowych informacji w celu sklasykowania naszych obserwacji. Je±li podziaª na obserwacje, w których pada jutro i nie pada jutro jest, ró»ny od 50% / 50%, ale wynosi np. 75% / 25%, to potrzebujemy mniej informacji w celu sklasykowania naszych obserwacji zestaw danych ju» zawiera informacje na temat w jaki sposób klasykowa dane. 64 / 260
65 Miary Z punktu widzenia teorii informacji, miara 0 (czyli entropia 0), to wskazanie,»e nie potrzebujemy»adnych dodatkowych informacji w celu sklasykowania obserwacji w obr bie zestawu danych - wszystkie obserwacje nale» do tej samej klasy. miara 1 wskazuje,»e potrzebujemy maksymaln, mo»liw liczb dodatkowych informacji w celu sklasykowania naszych obserwacji. Je±li podziaª na obserwacje, w których pada jutro i nie pada jutro jest, ró»ny od 50% / 50%, ale wynosi np. 75% / 25%, to potrzebujemy mniej informacji w celu sklasykowania naszych obserwacji zestaw danych ju» zawiera informacje na temat w jaki sposób klasykowa dane. 65 / 260
66 Entropia Przyjmijmy,»e mamy zbiór zdarze«s = {x 1,..., x n} (zbiór warto±ci zmiennej kategorialnej celu). Przyjmijmy,»e prawdopodobie«stwo zaj±cia ka»dego zdarzenia (przyj cia danej warto±ci przez zmienn ) jest znane i wynosi p(x i ) = p i (rozkªad warto±ci zmiennej kategorialnej). Mamy p i 0 oraz n i=1 p i = 1. Funkcj I (x i ) = log k p i dla pewnego k > 0 i k 1 nazywamy ilo±ci informacji zdarzenia x i lub entropi indywidualn. Funkcj I mo»emy traktowa jako miar informacji (zaskoczenia) dotycz cej zaj±cia zdarzenia x i. W przypadku kodowania danych w informatyce podstawa k wynosi 2. Im mniej prawdopodobne zdarzenie (rzadziej przyjmowana warto± ), tym wi cej zawiera informacji, a ilo± informacji wynosi 0 dla zdarze«pewnych. 66 / 260
67 Entropia Przyjmijmy,»e mamy zbiór zdarze«s = {x 1,..., x n} (zbiór warto±ci zmiennej kategorialnej celu). Przyjmijmy,»e prawdopodobie«stwo zaj±cia ka»dego zdarzenia (przyj cia danej warto±ci przez zmienn ) jest znane i wynosi p(x i ) = p i (rozkªad warto±ci zmiennej kategorialnej). Mamy p i 0 oraz n i=1 p i = 1. Funkcj I (x i ) = log k p i dla pewnego k > 0 i k 1 nazywamy ilo±ci informacji zdarzenia x i lub entropi indywidualn. Funkcj I mo»emy traktowa jako miar informacji (zaskoczenia) dotycz cej zaj±cia zdarzenia x i. W przypadku kodowania danych w informatyce podstawa k wynosi 2. Im mniej prawdopodobne zdarzenie (rzadziej przyjmowana warto± ), tym wi cej zawiera informacji, a ilo± informacji wynosi 0 dla zdarze«pewnych. 67 / 260
68 Entropia Przyjmijmy,»e mamy zbiór zdarze«s = {x 1,..., x n} (zbiór warto±ci zmiennej kategorialnej celu). Przyjmijmy,»e prawdopodobie«stwo zaj±cia ka»dego zdarzenia (przyj cia danej warto±ci przez zmienn ) jest znane i wynosi p(x i ) = p i (rozkªad warto±ci zmiennej kategorialnej). Mamy p i 0 oraz n i=1 p i = 1. Funkcj I (x i ) = log k p i dla pewnego k > 0 i k 1 nazywamy ilo±ci informacji zdarzenia x i lub entropi indywidualn. Funkcj I mo»emy traktowa jako miar informacji (zaskoczenia) dotycz cej zaj±cia zdarzenia x i. W przypadku kodowania danych w informatyce podstawa k wynosi 2. Im mniej prawdopodobne zdarzenie (rzadziej przyjmowana warto± ), tym wi cej zawiera informacji, a ilo± informacji wynosi 0 dla zdarze«pewnych. 68 / 260
69 Entropia Przyjmijmy,»e mamy zbiór zdarze«s = {x 1,..., x n} (zbiór warto±ci zmiennej kategorialnej celu). Przyjmijmy,»e prawdopodobie«stwo zaj±cia ka»dego zdarzenia (przyj cia danej warto±ci przez zmienn ) jest znane i wynosi p(x i ) = p i (rozkªad warto±ci zmiennej kategorialnej). Mamy p i 0 oraz n i=1 p i = 1. Funkcj I (x i ) = log k p i dla pewnego k > 0 i k 1 nazywamy ilo±ci informacji zdarzenia x i lub entropi indywidualn. Funkcj I mo»emy traktowa jako miar informacji (zaskoczenia) dotycz cej zaj±cia zdarzenia x i. W przypadku kodowania danych w informatyce podstawa k wynosi 2. Im mniej prawdopodobne zdarzenie (rzadziej przyjmowana warto± ), tym wi cej zawiera informacji, a ilo± informacji wynosi 0 dla zdarze«pewnych. 69 / 260
70 Entropia Je±li alfabet S = {x 1, x 2} oraz p 1 = p 2 = 1 2 to 1 I (x 1) = I (x 1) = log 2 = 1. Oznacza to,»e wybranie jednej z 2 mo»liwo±ci o równym prawdopodobie«stwie wymaga 1 bita informacji. Je±li jednak p 1 = 1 4, p2 = 3 4, to I (x1) = 2, I (x2) = log 2 3 = / 260
71 Entropia Je±li alfabet S = {x 1, x 2} oraz p 1 = p 2 = 1 2 to 1 I (x 1) = I (x 1) = log 2 = 1. Oznacza to,»e wybranie jednej z 2 mo»liwo±ci o równym prawdopodobie«stwie wymaga 1 bita informacji. Je±li jednak p 1 = 1 4, p2 = 3 4, to I (x1) = 2, I (x2) = log 2 3 = / 260
72 Entropia Funkcj n H(S) = p(x i ) log 2 p(x i ) (1) i=1 nazywamy entropi stowarzyszon ze zbiorem zdarze«s = {x 1,..., x n}. Entropi mo»emy traktowa jako warto± oczekiwan zmiennej losowej I (x i ). Funkcja ta dla zmiennej binarnej ma maksymaln warto± 1 dla p 1 = p 2 = 1 (patrz rysunek). 2 Funkcja entropii dla zmiennej binarnej H(p)(p = p 1, p 2 = 1 p 1) 72 / 260
73 Entropia Funkcj n H(S) = p(x i ) log 2 p(x i ) (1) i=1 nazywamy entropi stowarzyszon ze zbiorem zdarze«s = {x 1,..., x n}. Entropi mo»emy traktowa jako warto± oczekiwan zmiennej losowej I (x i ). Funkcja ta dla zmiennej binarnej ma maksymaln warto± 1 dla p 1 = p 2 = 1 (patrz rysunek). 2 Funkcja entropii dla zmiennej binarnej H(p)(p = p 1, p 2 = 1 p 1) 73 / 260
74 Kryterium zysku informacyjnego Przejdziemy obecnie do formalnego zdeniowania kryterium zysku informacyjnego oraz przedstawienia metody podziaªu w oparciu o kryterium zysku informacyjnego. Niech S oznacza zbiór s obserwacji. Zaªó»my,»e zmienna celu posiada n ró»nych warto±ci deniuj cych n klas, C i (dla i = 1,..., n). Niech c i oznacza liczb obserwacji ze zbioru S nale» cych do klasy C i. Niech p i oznacza prawdopodobie«stwo,»e dowolna obserwacja nale»y do klasy C i (p i = c i /s). Zgodnie z teori informacji, oczekiwan ilo± informacji niezb dn do zaklasykowania danego przykªadu, mo»emy przedstawi wzorem n H(S) = p(x i ) log 2 p(x i ) (2) i=1 Oczekiwana ilo± informacji niezb dna do zaklasykowania danej obserwacji H(S) jest warto±ci staª dla danego zbioru S. 74 / 260
75 Kryterium zysku informacyjnego Przejdziemy obecnie do formalnego zdeniowania kryterium zysku informacyjnego oraz przedstawienia metody podziaªu w oparciu o kryterium zysku informacyjnego. Niech S oznacza zbiór s obserwacji. Zaªó»my,»e zmienna celu posiada n ró»nych warto±ci deniuj cych n klas, C i (dla i = 1,..., n). Niech c i oznacza liczb obserwacji ze zbioru S nale» cych do klasy C i. Niech p i oznacza prawdopodobie«stwo,»e dowolna obserwacja nale»y do klasy C i (p i = c i /s). Zgodnie z teori informacji, oczekiwan ilo± informacji niezb dn do zaklasykowania danego przykªadu, mo»emy przedstawi wzorem n H(S) = p(x i ) log 2 p(x i ) (2) i=1 Oczekiwana ilo± informacji niezb dna do zaklasykowania danej obserwacji H(S) jest warto±ci staª dla danego zbioru S. 75 / 260
76 Kryterium zysku informacyjnego Przejdziemy obecnie do formalnego zdeniowania kryterium zysku informacyjnego oraz przedstawienia metody podziaªu w oparciu o kryterium zysku informacyjnego. Niech S oznacza zbiór s obserwacji. Zaªó»my,»e zmienna celu posiada n ró»nych warto±ci deniuj cych n klas, C i (dla i = 1,..., n). Niech c i oznacza liczb obserwacji ze zbioru S nale» cych do klasy C i. Niech p i oznacza prawdopodobie«stwo,»e dowolna obserwacja nale»y do klasy C i (p i = c i /s). Zgodnie z teori informacji, oczekiwan ilo± informacji niezb dn do zaklasykowania danego przykªadu, mo»emy przedstawi wzorem n H(S) = p(x i ) log 2 p(x i ) (2) i=1 Oczekiwana ilo± informacji niezb dna do zaklasykowania danej obserwacji H(S) jest warto±ci staª dla danego zbioru S. 76 / 260
77 Kryterium zysku informacyjnego Przejdziemy obecnie do formalnego zdeniowania kryterium zysku informacyjnego oraz przedstawienia metody podziaªu w oparciu o kryterium zysku informacyjnego. Niech S oznacza zbiór s obserwacji. Zaªó»my,»e zmienna celu posiada n ró»nych warto±ci deniuj cych n klas, C i (dla i = 1,..., n). Niech c i oznacza liczb obserwacji ze zbioru S nale» cych do klasy C i. Niech p i oznacza prawdopodobie«stwo,»e dowolna obserwacja nale»y do klasy C i (p i = c i /s). Zgodnie z teori informacji, oczekiwan ilo± informacji niezb dn do zaklasykowania danego przykªadu, mo»emy przedstawi wzorem n H(S) = p(x i ) log 2 p(x i ) (2) i=1 Oczekiwana ilo± informacji niezb dna do zaklasykowania danej obserwacji H(S) jest warto±ci staª dla danego zbioru S. 77 / 260
78 Kryterium zysku informacyjnego Przejdziemy obecnie do formalnego zdeniowania kryterium zysku informacyjnego oraz przedstawienia metody podziaªu w oparciu o kryterium zysku informacyjnego. Niech S oznacza zbiór s obserwacji. Zaªó»my,»e zmienna celu posiada n ró»nych warto±ci deniuj cych n klas, C i (dla i = 1,..., n). Niech c i oznacza liczb obserwacji ze zbioru S nale» cych do klasy C i. Niech p i oznacza prawdopodobie«stwo,»e dowolna obserwacja nale»y do klasy C i (p i = c i /s). Zgodnie z teori informacji, oczekiwan ilo± informacji niezb dn do zaklasykowania danego przykªadu, mo»emy przedstawi wzorem n H(S) = p(x i ) log 2 p(x i ) (2) i=1 Oczekiwana ilo± informacji niezb dna do zaklasykowania danej obserwacji H(S) jest warto±ci staª dla danego zbioru S. 78 / 260
79 Kryterium zysku informacyjnego Zakªadamy,»e zmienna A posiada v ró»nych warto±ci: a 1, a 2,..., a v. Zmienna A dzieli zbiór S na partycje S 1, S 2,..., S v, gdzie S j zawiera obserwacje ze zbioru S, których warto± zmiennej A wynosi a j. Wybieraj c atrybut A jako atrybut testowy tworzymy wierzchoªek wewn trzny drzewa, którego ªuki wychodz ce posiadaj etykiety a 1, a 2,..., a v i ª cz dany wierzchoªek A z wierzchoªkami zawieraj cymi partycje S 1, S 2,..., S v. 79 / 260
80 Kryterium zysku informacyjnego Zakªadamy,»e zmienna A posiada v ró»nych warto±ci: a 1, a 2,..., a v. Zmienna A dzieli zbiór S na partycje S 1, S 2,..., S v, gdzie S j zawiera obserwacje ze zbioru S, których warto± zmiennej A wynosi a j. Wybieraj c atrybut A jako atrybut testowy tworzymy wierzchoªek wewn trzny drzewa, którego ªuki wychodz ce posiadaj etykiety a 1, a 2,..., a v i ª cz dany wierzchoªek A z wierzchoªkami zawieraj cymi partycje S 1, S 2,..., S v. 80 / 260
81 Kryterium zysku informacyjnego Niech s ij oznacza liczb obserwacji z klasy C i w partycji S j. Entropi podziaªu zbioru S na partycje, wedªug zmiennej A deniujemy nast puj cym wzorem E(A) = v j=1 (s 1j + s 2j +... s nj ) H(S j ) (3) s Zauwa»my,»e, entropia jest miar nieuporz dkowania zbioru S zgodnie z atrybutem A. Im mniejsza warto± entropii tym wi ksza czysto± podziaªu zbioru S na partycje, tzn. uzyskane w wyniku podziaªu partycje b d tym czystsze im mniejsza jest warto± entropii. Wspóªczynnik (s 1j +s 2j +...s nj) (suma (s s 1j + s 2j +... s nj ) jest ilo±ci obserwacji w partycji S j. Oznaczamy go jako S j lub s j ). Stanowi on wag j-tej partycji i zdeniowany jest jako iloraz liczby obserwacji w j-tej partycji (posiadaj cych warto± a j atrybutu A) do caªkowitej liczby obserwacji w zbiorze S. 81 / 260
82 Kryterium zysku informacyjnego Niech s ij oznacza liczb obserwacji z klasy C i w partycji S j. Entropi podziaªu zbioru S na partycje, wedªug zmiennej A deniujemy nast puj cym wzorem E(A) = v j=1 (s 1j + s 2j +... s nj ) H(S j ) (3) s Zauwa»my,»e, entropia jest miar nieuporz dkowania zbioru S zgodnie z atrybutem A. Im mniejsza warto± entropii tym wi ksza czysto± podziaªu zbioru S na partycje, tzn. uzyskane w wyniku podziaªu partycje b d tym czystsze im mniejsza jest warto± entropii. Wspóªczynnik (s 1j +s 2j +...s nj) (suma (s s 1j + s 2j +... s nj ) jest ilo±ci obserwacji w partycji S j. Oznaczamy go jako S j lub s j ). Stanowi on wag j-tej partycji i zdeniowany jest jako iloraz liczby obserwacji w j-tej partycji (posiadaj cych warto± a j atrybutu A) do caªkowitej liczby obserwacji w zbiorze S. 82 / 260
83 Kryterium zysku informacyjnego Niech s ij oznacza liczb obserwacji z klasy C i w partycji S j. Entropi podziaªu zbioru S na partycje, wedªug zmiennej A deniujemy nast puj cym wzorem E(A) = v j=1 (s 1j + s 2j +... s nj ) H(S j ) (3) s Zauwa»my,»e, entropia jest miar nieuporz dkowania zbioru S zgodnie z atrybutem A. Im mniejsza warto± entropii tym wi ksza czysto± podziaªu zbioru S na partycje, tzn. uzyskane w wyniku podziaªu partycje b d tym czystsze im mniejsza jest warto± entropii. Wspóªczynnik (s 1j +s 2j +...s nj) (suma (s s 1j + s 2j +... s nj ) jest ilo±ci obserwacji w partycji S j. Oznaczamy go jako S j lub s j ). Stanowi on wag j-tej partycji i zdeniowany jest jako iloraz liczby obserwacji w j-tej partycji (posiadaj cych warto± a j atrybutu A) do caªkowitej liczby obserwacji w zbiorze S. 83 / 260
84 Kryterium zysku informacyjnego Zauwa»my,»e dla danej partycji S j, wyra»enie H(S j ), deniuje oczekiwan ilo± informacji niezb dn do zaklasykowania danej obserwacji w partycji S j do okre±lonej klasy. Oczekiwana ilo± informacji niezb dna do zaklasykowania danej obserwacji jest równa 0 je»eli caªa partycja jest czysta, czyli nale»y do jednej klasy. W przeciwnym razie warto± tego wyra»enia okre±la nam nieuporz dkowanie (nieczysto± ) partycji S j. Zauwa»my,»e denicja entropii podziaªu zbioru, przedstawiona przed chwil jest zagregowan sum wyra»e«h(s j ) dla ka»dej partycji S j. Je»eli podziaª zbioru S na partycje wg atrybutu A tworzy nam partycje czyste to dla ka»dej partycji S j wyra»enie H(S j ) b dzie równe 0 i zagregowana suma równie» b dzie 0. Co oznacza,»e warto± entropii podziaªu zbioru S na partycje czyste b dzie wynosiªa / 260
85 Kryterium zysku informacyjnego Zauwa»my,»e dla danej partycji S j, wyra»enie H(S j ), deniuje oczekiwan ilo± informacji niezb dn do zaklasykowania danej obserwacji w partycji S j do okre±lonej klasy. Oczekiwana ilo± informacji niezb dna do zaklasykowania danej obserwacji jest równa 0 je»eli caªa partycja jest czysta, czyli nale»y do jednej klasy. W przeciwnym razie warto± tego wyra»enia okre±la nam nieuporz dkowanie (nieczysto± ) partycji S j. Zauwa»my,»e denicja entropii podziaªu zbioru, przedstawiona przed chwil jest zagregowan sum wyra»e«h(s j ) dla ka»dej partycji S j. Je»eli podziaª zbioru S na partycje wg atrybutu A tworzy nam partycje czyste to dla ka»dej partycji S j wyra»enie H(S j ) b dzie równe 0 i zagregowana suma równie» b dzie 0. Co oznacza,»e warto± entropii podziaªu zbioru S na partycje czyste b dzie wynosiªa / 260
86 Kryterium zysku informacyjnego Zauwa»my,»e dla danej partycji S j, wyra»enie H(S j ), deniuje oczekiwan ilo± informacji niezb dn do zaklasykowania danej obserwacji w partycji S j do okre±lonej klasy. Oczekiwana ilo± informacji niezb dna do zaklasykowania danej obserwacji jest równa 0 je»eli caªa partycja jest czysta, czyli nale»y do jednej klasy. W przeciwnym razie warto± tego wyra»enia okre±la nam nieuporz dkowanie (nieczysto± ) partycji S j. Zauwa»my,»e denicja entropii podziaªu zbioru, przedstawiona przed chwil jest zagregowan sum wyra»e«h(s j ) dla ka»dej partycji S j. Je»eli podziaª zbioru S na partycje wg atrybutu A tworzy nam partycje czyste to dla ka»dej partycji S j wyra»enie H(S j ) b dzie równe 0 i zagregowana suma równie» b dzie 0. Co oznacza,»e warto± entropii podziaªu zbioru S na partycje czyste b dzie wynosiªa / 260
87 Kryterium zysku informacyjnego Zyskiem informacyjnym Gain(S,A) wynikaj cym z podziaªu zbioru S na partycje, wg atrybutu A nazywamy ró»nic oczekiwanej ilo±ci informacji niezb dnych do zaklasykowania danej obserwacji nale» cej do zbioru S i entropii atrybutu A. Gain(S, A) = H(S) E(A) Zysk informacyjny oznacza oczekiwan redukcj nieuporz dkowania spowodowan znajomo±ci warto±ci atrybutu A. 87 / 260
88 Kryterium zysku informacyjnego Gain(S, A) = H(S) E(A) Warto± opisana przez powy»szy wzór mo»emy wyznaczy dla ró»nych podziaªów. Podziaª, który ma najwi kszy zysk informacyjny (daje najwi ksz redukcj entropii - nieuporz dkowania) jest podziaªem, który wybieramy. W przypadku zmiennej binarnej celu i drzewa binarnego (podziaªy tylko na dwa) mamy H(S) = p log 2 p (1 p) log 2 (1 p), E(A) = S1 s H(S1) + S2 s H(S2). 88 / 260
89 Przykªad indukcji drzew decyzyjnych Dany jest zbiór treningowy zawieraj cy informacj o klientach sklepu komputerowego. Przykªadowy zbiór treningowy sklepu komputerowego 89 / 260
90 Przykªad indukcji drzew decyzyjnych Zmienne opisuj ce klienta zawieraj informacje na temat jego grupy wiekowej, dochodu, statusu, informacji o przynale»no±ci do grupy student. Zmienna celu kupi_komputer zawieraj ca informacje, czy klient potencjalnie dokona zakupu sprz tu komputerowego czy te» nie. Powy»szy przykªad zaczerpni ty zostaª z podr cznika J.Hana, znajduje si równie» w wykªadzie z Eksploracji danych na stronie (http: //wazniak.mimuw.edu.pl/index.php?title=ed-4.2-m slajd24). 90 / 260
91 Przykªad indukcji drzew decyzyjnych Zmienne opisuj ce klienta zawieraj informacje na temat jego grupy wiekowej, dochodu, statusu, informacji o przynale»no±ci do grupy student. Zmienna celu kupi_komputer zawieraj ca informacje, czy klient potencjalnie dokona zakupu sprz tu komputerowego czy te» nie. Powy»szy przykªad zaczerpni ty zostaª z podr cznika J.Hana, znajduje si równie» w wykªadzie z Eksploracji danych na stronie (http: //wazniak.mimuw.edu.pl/index.php?title=ed-4.2-m slajd24). 91 / 260
92 Przykªad indukcji drzew decyzyjnych Rozwa»any przez nas zbiór treningowy S skªada si z 14 obserwacji. Zmienna celu, kupi_komputer, posiada dwie warto±ci (Tak, Nie), st d, wyró»niamy dwie klasy. Klasa C 1 odpowiada warto±ci Tak, natomiast klasa C 2 odpowiada warto±ci Nie. Liczba c 1 obserwacji zbioru S nale» cych do C 1 i wynosi 9. Liczba c 2 obserwacji nale» cych do klasy C 2 wynosi / 260
93 Przykªad indukcji drzew decyzyjnych Rozwa»any przez nas zbiór treningowy S skªada si z 14 obserwacji. Zmienna celu, kupi_komputer, posiada dwie warto±ci (Tak, Nie), st d, wyró»niamy dwie klasy. Klasa C 1 odpowiada warto±ci Tak, natomiast klasa C 2 odpowiada warto±ci Nie. Liczba c 1 obserwacji zbioru S nale» cych do C 1 i wynosi 9. Liczba c 2 obserwacji nale» cych do klasy C 2 wynosi / 260
94 Przykªad indukcji drzew decyzyjnych Rozwa»any przez nas zbiór treningowy S skªada si z 14 obserwacji. Zmienna celu, kupi_komputer, posiada dwie warto±ci (Tak, Nie), st d, wyró»niamy dwie klasy. Klasa C 1 odpowiada warto±ci Tak, natomiast klasa C 2 odpowiada warto±ci Nie. Liczba c 1 obserwacji zbioru S nale» cych do C 1 i wynosi 9. Liczba c 2 obserwacji nale» cych do klasy C 2 wynosi / 260
95 Przykªad indukcji drzew decyzyjnych Rozwa»any przez nas zbiór treningowy S skªada si z 14 obserwacji. Zmienna celu, kupi_komputer, posiada dwie warto±ci (Tak, Nie), st d, wyró»niamy dwie klasy. Klasa C 1 odpowiada warto±ci Tak, natomiast klasa C 2 odpowiada warto±ci Nie. Liczba c 1 obserwacji zbioru S nale» cych do C 1 i wynosi 9. Liczba c 2 obserwacji nale» cych do klasy C 2 wynosi / 260
96 Przykªad indukcji drzew decyzyjnych Podstawiaj c to do wzoru na entropi (oczekiwan ilo± informacji niezb dn do zaklasykowania danej obserwacji nale» cej do zbioru, mamy H(S) = n p(x i ) log 2 p(x i ) = p 1 log 2 p 1 p 2 log 2 p 2 i=1 = 9 14 log log = / 260
97 Przykªad indukcji drzew decyzyjnych W rozwa»anym przez nas przykªadzie mamy 4 zmienne: Wiek, Dochód, Student, Status. 97 / 260
98 Przykªad indukcji drzew decyzyjnych Rozpocznijmy od analizy zmiennej Wiek. Zaªó»my,»e Wiek jest nasz zmienn testow. Podstawiaj c te warto±ci do wyra»enia Wiek dzieli zbiór S na 3 partycje: S1,S2 i S3. Pierwsza partycja S 1 dla warto±ci Wiek<=30 skªada si z pi ciu obserwacji. s 11 = 2 liczba obserwacji z klasy C 1 partycji S 1, s 12 = 3 liczba obserwacji z klasy C 2 partycji S 1. H(S 1) = p log 2 p (1 p) log 2 (1 p) dostaniemy H(S 1) = 2 5 log log = / 260
99 Przykªad indukcji drzew decyzyjnych Rozpocznijmy od analizy zmiennej Wiek. Zaªó»my,»e Wiek jest nasz zmienn testow. Podstawiaj c te warto±ci do wyra»enia Wiek dzieli zbiór S na 3 partycje: S1,S2 i S3. Pierwsza partycja S 1 dla warto±ci Wiek<=30 skªada si z pi ciu obserwacji. s 11 = 2 liczba obserwacji z klasy C 1 partycji S 1, s 12 = 3 liczba obserwacji z klasy C 2 partycji S 1. H(S 1) = p log 2 p (1 p) log 2 (1 p) dostaniemy H(S 1) = 2 5 log log = / 260
100 Przykªad indukcji drzew decyzyjnych Rozpocznijmy od analizy zmiennej Wiek. Zaªó»my,»e Wiek jest nasz zmienn testow. Podstawiaj c te warto±ci do wyra»enia Wiek dzieli zbiór S na 3 partycje: S1,S2 i S3. Pierwsza partycja S 1 dla warto±ci Wiek<=30 skªada si z pi ciu obserwacji. s 11 = 2 liczba obserwacji z klasy C 1 partycji S 1, s 12 = 3 liczba obserwacji z klasy C 2 partycji S 1. H(S 1) = p log 2 p (1 p) log 2 (1 p) dostaniemy H(S 1) = 2 5 log log = / 260
101 Przykªad indukcji drzew decyzyjnych Rozpocznijmy od analizy zmiennej Wiek. Zaªó»my,»e Wiek jest nasz zmienn testow. Podstawiaj c te warto±ci do wyra»enia Wiek dzieli zbiór S na 3 partycje: S1,S2 i S3. Pierwsza partycja S 1 dla warto±ci Wiek<=30 skªada si z pi ciu obserwacji. s 11 = 2 liczba obserwacji z klasy C 1 partycji S 1, s 12 = 3 liczba obserwacji z klasy C 2 partycji S 1. H(S 1) = p log 2 p (1 p) log 2 (1 p) dostaniemy H(S 1) = 2 5 log log = / 260
102 Przykªad indukcji drzew decyzyjnych Partycja S 2 - wiek , skªada si z 4 obserwacji, wszystkie 4 obserwacje nale» do klasy C 1. Partycja ta jest czysta, st d te» warto± wyra»enia H(S 2) = / 260
103 Przykªad indukcji drzew decyzyjnych Partycja S 2 - wiek , skªada si z 4 obserwacji, wszystkie 4 obserwacje nale» do klasy C 1. Partycja ta jest czysta, st d te» warto± wyra»enia H(S 2) = / 260
104 Przykªad indukcji drzew decyzyjnych Partycja S 3 zwi zana jest z warto±ci wiek>40, partycja skªada si z 5 obserwacji, z czego 3 nale» do klasy C 1 i 2 nale» do klasy C 2. St d te» warto± wyra»enia H(S 3) = 2 5 log log = / 260
105 Przykªad indukcji drzew decyzyjnych Partycja S 3 zwi zana jest z warto±ci wiek>40, partycja skªada si z 5 obserwacji, z czego 3 nale» do klasy C 1 i 2 nale» do klasy C 2. St d te» warto± wyra»enia H(S 3) = 2 5 log log = / 260
106 Przykªad indukcji drzew decyzyjnych Wi c entropia podziaªu zbioru S na partycje, wedªug zmiennej Wiek wynosi: E(A) = E(Wiek) = = Zauwa»my,»e wagi wyra»e«we wzorze na entropi s równe: 5/14 poniewa» partycja S 1 skªada si z 5 obs. natomiast caªy zbiór treningowy zawiera 14, 4/14 partycja S 2 skªada si z 4 obs. i partycja S 3 skªada si z 5 obs. Zysk informacyjny wynikaj cy z podziaªu zbioru S wg zmiennej Wiek wynosi H(S) E(Wiek) = = / 260
107 Przykªad indukcji drzew decyzyjnych Wi c entropia podziaªu zbioru S na partycje, wedªug zmiennej Wiek wynosi: E(A) = E(Wiek) = = Zauwa»my,»e wagi wyra»e«we wzorze na entropi s równe: 5/14 poniewa» partycja S 1 skªada si z 5 obs. natomiast caªy zbiór treningowy zawiera 14, 4/14 partycja S 2 skªada si z 4 obs. i partycja S 3 skªada si z 5 obs. Zysk informacyjny wynikaj cy z podziaªu zbioru S wg zmiennej Wiek wynosi H(S) E(Wiek) = = / 260
108 Przykªad indukcji drzew decyzyjnych Wi c entropia podziaªu zbioru S na partycje, wedªug zmiennej Wiek wynosi: E(A) = E(Wiek) = = Zauwa»my,»e wagi wyra»e«we wzorze na entropi s równe: 5/14 poniewa» partycja S 1 skªada si z 5 obs. natomiast caªy zbiór treningowy zawiera 14, 4/14 partycja S 2 skªada si z 4 obs. i partycja S 3 skªada si z 5 obs. Zysk informacyjny wynikaj cy z podziaªu zbioru S wg zmiennej Wiek wynosi H(S) E(Wiek) = = / 260
109 Przykªad indukcji drzew decyzyjnych W analogiczny sposób obliczamy zysk informacyjny dla pozostaªych zmiennych dochód, student status. 109 / 260
110 Przykªad indukcji drzew decyzyjnych Poniewa» Wiek daje najwi kszy zysk informacyjny spo±ród wszystkich deskryptorów, zmienna ta jest wybierana jako pierwsza zmienna testowa. Tworzymy wierzchoªek drzewa o etykiecie Wiek, oraz etykietowane ªuki wychodz ce ª cz ce wierzchoªek Wiek z wierzchoªkami odpowiadaj cymi partycjom S 1,S 2 oraz S 3 utworzonymi zgodnie z podziaªem zbioru S wg zmiennej Wiek. Pierwszy podziaª zbioru wg zmiennej wiek 110 / 260
111 Przykªad indukcji drzew decyzyjnych Poniewa» Wiek daje najwi kszy zysk informacyjny spo±ród wszystkich deskryptorów, zmienna ta jest wybierana jako pierwsza zmienna testowa. Tworzymy wierzchoªek drzewa o etykiecie Wiek, oraz etykietowane ªuki wychodz ce ª cz ce wierzchoªek Wiek z wierzchoªkami odpowiadaj cymi partycjom S 1,S 2 oraz S 3 utworzonymi zgodnie z podziaªem zbioru S wg zmiennej Wiek. Pierwszy podziaª zbioru wg zmiennej wiek 111 / 260
112 Przykªad indukcji drzew decyzyjnych Poniewa» Wiek daje najwi kszy zysk informacyjny spo±ród wszystkich deskryptorów, zmienna ta jest wybierana jako pierwsza zmienna testowa. Tworzymy wierzchoªek drzewa o etykiecie Wiek, oraz etykietowane ªuki wychodz ce ª cz ce wierzchoªek Wiek z wierzchoªkami odpowiadaj cymi partycjom S 1,S 2 oraz S 3 utworzonymi zgodnie z podziaªem zbioru S wg zmiennej Wiek. Pierwszy podziaª zbioru wg zmiennej wiek 112 / 260
113 Przykªad indukcji drzew decyzyjnych Mamy korze«zwi zany ze zmienn testow Wiek, trzy gaª zie etykietowane warto±ciami atrybutu Wiek<=30, oraz >40. Gaª zie te ª cz korze«z wierzchoªkami reprezentuj cymi partycje S 1, S 2 i S 3. Zauwa»my,»e partycja S 2 jest partycj czyst, czyli zawiera obserwacje nale» ce do tej samej klasy kupi_komputer = tak. Przeksztaªcamy zatem ten wierzchoªek w li±, który etykietujemy warto±ci klasy kupi_komputer = tak. Dla pozostaªych partycji S 1 i S 3 kontynuujemy proces partycjonowania i tworzenia drzewa decyzyjnego. 113 / 260
114 Przykªad indukcji drzew decyzyjnych Mamy korze«zwi zany ze zmienn testow Wiek, trzy gaª zie etykietowane warto±ciami atrybutu Wiek<=30, oraz >40. Gaª zie te ª cz korze«z wierzchoªkami reprezentuj cymi partycje S 1, S 2 i S 3. Zauwa»my,»e partycja S 2 jest partycj czyst, czyli zawiera obserwacje nale» ce do tej samej klasy kupi_komputer = tak. Przeksztaªcamy zatem ten wierzchoªek w li±, który etykietujemy warto±ci klasy kupi_komputer = tak. Dla pozostaªych partycji S 1 i S 3 kontynuujemy proces partycjonowania i tworzenia drzewa decyzyjnego. 114 / 260
115 Przykªad indukcji drzew decyzyjnych Mamy korze«zwi zany ze zmienn testow Wiek, trzy gaª zie etykietowane warto±ciami atrybutu Wiek<=30, oraz >40. Gaª zie te ª cz korze«z wierzchoªkami reprezentuj cymi partycje S 1, S 2 i S 3. Zauwa»my,»e partycja S 2 jest partycj czyst, czyli zawiera obserwacje nale» ce do tej samej klasy kupi_komputer = tak. Przeksztaªcamy zatem ten wierzchoªek w li±, który etykietujemy warto±ci klasy kupi_komputer = tak. Dla pozostaªych partycji S 1 i S 3 kontynuujemy proces partycjonowania i tworzenia drzewa decyzyjnego. 115 / 260
116 Przykªad indukcji drzew decyzyjnych Mamy korze«zwi zany ze zmienn testow Wiek, trzy gaª zie etykietowane warto±ciami atrybutu Wiek<=30, oraz >40. Gaª zie te ª cz korze«z wierzchoªkami reprezentuj cymi partycje S 1, S 2 i S 3. Zauwa»my,»e partycja S 2 jest partycj czyst, czyli zawiera obserwacje nale» ce do tej samej klasy kupi_komputer = tak. Przeksztaªcamy zatem ten wierzchoªek w li±, który etykietujemy warto±ci klasy kupi_komputer = tak. Dla pozostaªych partycji S 1 i S 3 kontynuujemy proces partycjonowania i tworzenia drzewa decyzyjnego. 116 / 260
117 Przykªad indukcji drzew decyzyjnych Mamy korze«zwi zany ze zmienn testow Wiek, trzy gaª zie etykietowane warto±ciami atrybutu Wiek<=30, oraz >40. Gaª zie te ª cz korze«z wierzchoªkami reprezentuj cymi partycje S 1, S 2 i S 3. Zauwa»my,»e partycja S 2 jest partycj czyst, czyli zawiera obserwacje nale» ce do tej samej klasy kupi_komputer = tak. Przeksztaªcamy zatem ten wierzchoªek w li±, który etykietujemy warto±ci klasy kupi_komputer = tak. Dla pozostaªych partycji S 1 i S 3 kontynuujemy proces partycjonowania i tworzenia drzewa decyzyjnego. 117 / 260
118 Przykªad indukcji drzew decyzyjnych Mamy korze«zwi zany ze zmienn testow Wiek, trzy gaª zie etykietowane warto±ciami atrybutu Wiek<=30, oraz >40. Gaª zie te ª cz korze«z wierzchoªkami reprezentuj cymi partycje S 1, S 2 i S 3. Zauwa»my,»e partycja S 2 jest partycj czyst, czyli zawiera obserwacje nale» ce do tej samej klasy kupi_komputer = tak. Przeksztaªcamy zatem ten wierzchoªek w li±, który etykietujemy warto±ci klasy kupi_komputer = tak. Dla pozostaªych partycji S 1 i S 3 kontynuujemy proces partycjonowania i tworzenia drzewa decyzyjnego. 118 / 260
119 Przykªad indukcji drzew decyzyjnych Mamy Okazuje si z dalszych oblicze«,»e najlepsz zmienn testow dla partycji S 1 jest Student, charakteryzuj cy si najwi kszym zyskiem informacyjnym, który dzieli partycj S 1 na dwie partycje, które s ju» partycjami czystymi. Dla warto±ci Student = nie otrzymujemy partycj, której wszystkie obserwacje nale» do klasy C 2. Natomiast dla warto±ci Student = tak wszystkie nale» do klasy kupi_komputer = tak. 119 / 260
120 Przykªad indukcji drzew decyzyjnych Mamy Okazuje si z dalszych oblicze«,»e najlepsz zmienn testow dla partycji S 1 jest Student, charakteryzuj cy si najwi kszym zyskiem informacyjnym, który dzieli partycj S 1 na dwie partycje, które s ju» partycjami czystymi. Dla warto±ci Student = nie otrzymujemy partycj, której wszystkie obserwacje nale» do klasy C 2. Natomiast dla warto±ci Student = tak wszystkie nale» do klasy kupi_komputer = tak. 120 / 260
121 Przykªad indukcji drzew decyzyjnych Mamy Okazuje si z dalszych oblicze«,»e najlepsz zmienn testow dla partycji S 1 jest Student, charakteryzuj cy si najwi kszym zyskiem informacyjnym, który dzieli partycj S 1 na dwie partycje, które s ju» partycjami czystymi. Dla warto±ci Student = nie otrzymujemy partycj, której wszystkie obserwacje nale» do klasy C 2. Natomiast dla warto±ci Student = tak wszystkie nale» do klasy kupi_komputer = tak. 121 / 260
122 Przykªad indukcji drzew decyzyjnych Mamy W przypadku partycji S 3 najlepsz zmienn testow jest Status, który dzieli partycj S 3 na kolejne dwie partycje. Pierwsza z nich zawiera wszystkie obserwacje, dla których Status =»onaty. Druga partycja zawiera obserwacje, dla których Status = kawaler. Obie otrzymane partycje s czyste. Partycja zwi zana ze zmienn Status z warto±ci»onaty ma wszystkie obserwacje w klasie C 2. Natomiast w przypadku Status = kawaler, wszystkie obserwacje nale» do klasy C / 260
123 Przykªad indukcji drzew decyzyjnych Mamy W przypadku partycji S 3 najlepsz zmienn testow jest Status, który dzieli partycj S 3 na kolejne dwie partycje. Pierwsza z nich zawiera wszystkie obserwacje, dla których Status =»onaty. Druga partycja zawiera obserwacje, dla których Status = kawaler. Obie otrzymane partycje s czyste. Partycja zwi zana ze zmienn Status z warto±ci»onaty ma wszystkie obserwacje w klasie C 2. Natomiast w przypadku Status = kawaler, wszystkie obserwacje nale» do klasy C / 260
124 Przykªad indukcji drzew decyzyjnych Mamy W przypadku partycji S 3 najlepsz zmienn testow jest Status, który dzieli partycj S 3 na kolejne dwie partycje. Pierwsza z nich zawiera wszystkie obserwacje, dla których Status =»onaty. Druga partycja zawiera obserwacje, dla których Status = kawaler. Obie otrzymane partycje s czyste. Partycja zwi zana ze zmienn Status z warto±ci»onaty ma wszystkie obserwacje w klasie C 2. Natomiast w przypadku Status = kawaler, wszystkie obserwacje nale» do klasy C / 260
125 Przykªad indukcji drzew decyzyjnych Ostateczna posta drzewa decyzyjnego, uzyskanego metod indukcji z wykorzystaniem jako kryterium miary zysku informacyjnego jest przedstawiona na rysunku. Zauwa»my,»e pojawiªy si dwa nowe wierzchoªki (punkty podziaªu) zwi zane ze zmiennymi Status oraz Student. To ko«czy konstrukcj drzewa decyzyjnego i rozwa»any przez nas przykªad. Finalne drzewo decyzyjne 125 / 260
126 Przykªad z u»yciem zbioru weather Drzewo decyzyjne mo»na zbudowa w R oraz w Rattle W Rattle nale»y u»y opcji Tree w Rattle na karcie Model, w R przez rpart () z pakietu rpart (Therneau i Atkinson, 2011). Drzewo decyzyjne dla danych weather 126 / 260
127 Przykªad z u»yciem zbioru weather Drzewo decyzyjne mo»na zbudowa w R oraz w Rattle W Rattle nale»y u»y opcji Tree w Rattle na karcie Model, w R przez rpart () z pakietu rpart (Therneau i Atkinson, 2011). Drzewo decyzyjne dla danych weather 127 / 260
128 Przykªad z u»yciem zbioru weather Drzewo decyzyjne mo»na zbudowa w R oraz w Rattle W Rattle nale»y u»y opcji Tree w Rattle na karcie Model, w R przez rpart () z pakietu rpart (Therneau i Atkinson, 2011). Drzewo decyzyjne dla danych weather 128 / 260
129 Przykªad z u»yciem zbioru weather Widok tekstowy zawiera wiele informacji i b dziemy dalej je analizowa. Wcze±niej jednak mo»emy uzyska szybki podgl d otrzymanego drzewa decyzyjnego za pomoc przycisku Draw. Pojawi si okno, wy±wietlaj ce drzewo. Analizuj c podsumowanie tekstowe drzewa decyzyjnego, zaczynamy w od liczby obserwacji, które byªy wykorzystywane do budowy drzewa (tj. 256): Summary of the Decision Tree model for Classification... n= / 260
130 Przykªad z u»yciem zbioru weather Widok tekstowy zawiera wiele informacji i b dziemy dalej je analizowa. Wcze±niej jednak mo»emy uzyska szybki podgl d otrzymanego drzewa decyzyjnego za pomoc przycisku Draw. Pojawi si okno, wy±wietlaj ce drzewo. Analizuj c podsumowanie tekstowe drzewa decyzyjnego, zaczynamy w od liczby obserwacji, które byªy wykorzystywane do budowy drzewa (tj. 256): Summary of the Decision Tree model for Classification... n= / 260
131 Przykªad z u»yciem zbioru weather Widok tekstowy zawiera wiele informacji i b dziemy dalej je analizowa. Wcze±niej jednak mo»emy uzyska szybki podgl d otrzymanego drzewa decyzyjnego za pomoc przycisku Draw. Pojawi si okno, wy±wietlaj ce drzewo. Analizuj c podsumowanie tekstowe drzewa decyzyjnego, zaczynamy w od liczby obserwacji, które byªy wykorzystywane do budowy drzewa (tj. 256): Summary of the Decision Tree model for Classification... n= / 260
132 Przykªad z u»yciem zbioru weather Teraz przeanalizujemy struktur drzewa w widoku tekstowym. Nast pnie mamy legend, która pomaga czyta t struktur : node), split, n, loss, yval, (yprob) * denotes terminal node 2) Pressure3pm>= No ( ) Legenda wskazuje,»e zostanie wy±wietlony numer w zªa, podziaª (który zazwyczaj jest w postaci warto±ci zmiennej), liczba obserwacji n w tym w ¹le, liczba jednostek bª dnie sklasykowanych (strata - loss), domy±lna klasykacja dla w zªa (yval) - predykacja, rozkªad klas tego w zªa (yprobs). 132 / 260
133 Przykªad z u»yciem zbioru weather Teraz przeanalizujemy struktur drzewa w widoku tekstowym. Nast pnie mamy legend, która pomaga czyta t struktur : node), split, n, loss, yval, (yprob) * denotes terminal node 2) Pressure3pm>= No ( ) Legenda wskazuje,»e zostanie wy±wietlony numer w zªa, podziaª (który zazwyczaj jest w postaci warto±ci zmiennej), liczba obserwacji n w tym w ¹le, liczba jednostek bª dnie sklasykowanych (strata - loss), domy±lna klasykacja dla w zªa (yval) - predykacja, rozkªad klas tego w zªa (yprobs). 133 / 260
134 Przykªad z u»yciem zbioru weather Teraz przeanalizujemy struktur drzewa w widoku tekstowym. Nast pnie mamy legend, która pomaga czyta t struktur : node), split, n, loss, yval, (yprob) * denotes terminal node 2) Pressure3pm>= No ( ) Legenda wskazuje,»e zostanie wy±wietlony numer w zªa, podziaª (który zazwyczaj jest w postaci warto±ci zmiennej), liczba obserwacji n w tym w ¹le, liczba jednostek bª dnie sklasykowanych (strata - loss), domy±lna klasykacja dla w zªa (yval) - predykacja, rozkªad klas tego w zªa (yprobs). 134 / 260
135 Przykªad z u»yciem zbioru weather Teraz przeanalizujemy struktur drzewa w widoku tekstowym. Nast pnie mamy legend, która pomaga czyta t struktur : node), split, n, loss, yval, (yprob) * denotes terminal node 2) Pressure3pm>= No ( ) Legenda wskazuje,»e zostanie wy±wietlony numer w zªa, podziaª (który zazwyczaj jest w postaci warto±ci zmiennej), liczba obserwacji n w tym w ¹le, liczba jednostek bª dnie sklasykowanych (strata - loss), domy±lna klasykacja dla w zªa (yval) - predykacja, rozkªad klas tego w zªa (yprobs). 135 / 260
136 Przykªad z u»yciem zbioru weather Teraz przeanalizujemy struktur drzewa w widoku tekstowym. Nast pnie mamy legend, która pomaga czyta t struktur : node), split, n, loss, yval, (yprob) * denotes terminal node 2) Pressure3pm>= No ( ) Legenda wskazuje,»e zostanie wy±wietlony numer w zªa, podziaª (który zazwyczaj jest w postaci warto±ci zmiennej), liczba obserwacji n w tym w ¹le, liczba jednostek bª dnie sklasykowanych (strata - loss), domy±lna klasykacja dla w zªa (yval) - predykacja, rozkªad klas tego w zªa (yprobs). 136 / 260
137 Przykªad z u»yciem zbioru weather Teraz przeanalizujemy struktur drzewa w widoku tekstowym. Nast pnie mamy legend, która pomaga czyta t struktur : node), split, n, loss, yval, (yprob) * denotes terminal node 2) Pressure3pm>= No ( ) Legenda wskazuje,»e zostanie wy±wietlony numer w zªa, podziaª (który zazwyczaj jest w postaci warto±ci zmiennej), liczba obserwacji n w tym w ¹le, liczba jednostek bª dnie sklasykowanych (strata - loss), domy±lna klasykacja dla w zªa (yval) - predykacja, rozkªad klas tego w zªa (yprobs). 137 / 260
138 Przykªad z u»yciem zbioru weather Teraz przeanalizujemy struktur drzewa w widoku tekstowym. Nast pnie mamy legend, która pomaga czyta t struktur : node), split, n, loss, yval, (yprob) * denotes terminal node 2) Pressure3pm>= No ( ) Legenda wskazuje,»e zostanie wy±wietlony numer w zªa, podziaª (który zazwyczaj jest w postaci warto±ci zmiennej), liczba obserwacji n w tym w ¹le, liczba jednostek bª dnie sklasykowanych (strata - loss), domy±lna klasykacja dla w zªa (yval) - predykacja, rozkªad klas tego w zªa (yprobs). 138 / 260
139 Przykªad z u»yciem zbioru weather node), split, n, loss, yval, (yprob) * denotes terminal node Legenda wskazuje,»e Nast pna linia wskazuje,»e znak * oznacza w zeª li±cia - drzewo nie jest dzielone dla tego w zªa. 139 / 260
140 Przykªad z u»yciem zbioru weather Pierwszy w zeª dla dowolnego drzewa to korze«lub w zeª gªówny (root node), ma on numer 1: node), split, n, loss, yval, (yprob) 1) root No ( ) Reprezentuje on wszystkie obserwacje. Podane informacje mówi nam,»e wi ksz klas dla w zªa gªównego (yval) jest No. Warto± 41 mówi nam, ile z 256 obserwacji b dzie niepoprawnie sklasykowany jako Yes. Nazywamy to strat. Skªadnik yprob informuje o rozkªadzie klas dla obserwacji. Wiemy,»e s to klasy No i Yes. Zatem 84% (czyli 0, jako odsetek) obserwacji maj zmienn celu RainTomorrow w klasie No oraz 16% obserwacji jest w klasie z warto±ci Yes. 140 / 260
141 Przykªad z u»yciem zbioru weather Pierwszy w zeª dla dowolnego drzewa to korze«lub w zeª gªówny (root node), ma on numer 1: node), split, n, loss, yval, (yprob) 1) root No ( ) Reprezentuje on wszystkie obserwacje. Podane informacje mówi nam,»e wi ksz klas dla w zªa gªównego (yval) jest No. Warto± 41 mówi nam, ile z 256 obserwacji b dzie niepoprawnie sklasykowany jako Yes. Nazywamy to strat. Skªadnik yprob informuje o rozkªadzie klas dla obserwacji. Wiemy,»e s to klasy No i Yes. Zatem 84% (czyli 0, jako odsetek) obserwacji maj zmienn celu RainTomorrow w klasie No oraz 16% obserwacji jest w klasie z warto±ci Yes. 141 / 260
142 Przykªad z u»yciem zbioru weather Pierwszy w zeª dla dowolnego drzewa to korze«lub w zeª gªówny (root node), ma on numer 1: node), split, n, loss, yval, (yprob) 1) root No ( ) Reprezentuje on wszystkie obserwacje. Podane informacje mówi nam,»e wi ksz klas dla w zªa gªównego (yval) jest No. Warto± 41 mówi nam, ile z 256 obserwacji b dzie niepoprawnie sklasykowany jako Yes. Nazywamy to strat. Skªadnik yprob informuje o rozkªadzie klas dla obserwacji. Wiemy,»e s to klasy No i Yes. Zatem 84% (czyli 0, jako odsetek) obserwacji maj zmienn celu RainTomorrow w klasie No oraz 16% obserwacji jest w klasie z warto±ci Yes. 142 / 260
143 Przykªad z u»yciem zbioru weather node), split, n, loss, yval, (yprob) 1) root No ( ) Je»eli sam w zeª gªówny potraktowaliby±my jako model, to zawsze podejmowaªby on decyzj,»e jutro nie b dzie pada. Na podstawie szkoleniowego zestawu danych, b dzie on w 84% poprawny. Jest to do± dobry poziom dokªadno±ci, ale model nie jest szczególnie przydatny, poniewa» jeste±my szczególnie zainteresowani, jaki musz by warunki pogodowe, które pozwol sprawdzi, czy b dzie pada jutro. je»eli w korzeniu prognozujemy No, to w yprob pierwsze prawdopodobie«stwo jest zawsze na nie, drugie na tak (nawet, gdy w zeª predykuje Yes.) 143 / 260
144 Przykªad z u»yciem zbioru weather node), split, n, loss, yval, (yprob) 1) root No ( ) Je»eli sam w zeª gªówny potraktowaliby±my jako model, to zawsze podejmowaªby on decyzj,»e jutro nie b dzie pada. Na podstawie szkoleniowego zestawu danych, b dzie on w 84% poprawny. Jest to do± dobry poziom dokªadno±ci, ale model nie jest szczególnie przydatny, poniewa» jeste±my szczególnie zainteresowani, jaki musz by warunki pogodowe, które pozwol sprawdzi, czy b dzie pada jutro. je»eli w korzeniu prognozujemy No, to w yprob pierwsze prawdopodobie«stwo jest zawsze na nie, drugie na tak (nawet, gdy w zeª predykuje Yes.) 144 / 260
145 Przykªad z u»yciem zbioru weather W zeª gªówny jest podzielony na dwa w zªy. Podziaª wykonany jest w oparciu o zmienn Pressure3pm z warto±ci podziaªu W zeª 2 odpowiada warto±ci Pressure3pm >= Mamy 204 obserwacje, które o 3 popoªudniu miaªy pasuj c warto± ci±nienia: node), split, n, loss, yval, (yprob) 2) Pressure3pm>= No ( ) Tylko 16 z 204 obserwacji byªo ¹le sklasykowanych, tzn. z warto±ci inn ni» No (czyli Yes). To odpowiada dokªadno±ci 92% w przewidywaniu,»e nie b dzie jutro pada. 145 / 260
146 Przykªad z u»yciem zbioru weather W zeª gªówny jest podzielony na dwa w zªy. Podziaª wykonany jest w oparciu o zmienn Pressure3pm z warto±ci podziaªu W zeª 2 odpowiada warto±ci Pressure3pm >= Mamy 204 obserwacje, które o 3 popoªudniu miaªy pasuj c warto± ci±nienia: node), split, n, loss, yval, (yprob) 2) Pressure3pm>= No ( ) Tylko 16 z 204 obserwacji byªo ¹le sklasykowanych, tzn. z warto±ci inn ni» No (czyli Yes). To odpowiada dokªadno±ci 92% w przewidywaniu,»e nie b dzie jutro pada. 146 / 260
147 Przykªad z u»yciem zbioru weather W zeª 3 zawiera pozostaªe 52 obserwacje dla których (Pressure3pm < ). Zauwa»my,»e równie» w tym w ¹le mamy decyzj No node), split, n, loss, yval, (yprob) 3) Pressure3pm< No ( ) 147 / 260
148 Przykªad z u»yciem zbioru weather Teraz zajmiemy si podziaªem w zªa 2. Algorytm u»yª zmiennej Cloud3pm do podziaªu z warto±ci 7.5. W zeª 4 ma 195 obserwacji, s to obserwacje z ci±nieniem o 3 popoªudniu wi kszym równym hPa i o pokrywie chmur mniejszej ni» 7.5okta. Pod tymi warunkami nie b dzie pada jutro z prawdopodobie«stwem 95%: 2) Pressure3pm>= No ( ) 4) Cloud3pm< No ( ) * 5) Cloud3pm>= Yes ( ) * W zeª 5 przewiduje,»e b dzie pada jutro. Mamy tu tylko 9 obserwacji, ale cz sto± deszczu wynosi dla nich 67%. St d mo»emy powiedzie,»e je±li ci±nienie jest nie mniejsze ni» hPa oraz pokrywa chmur wynosi nie mniej ni» 7.5okta o 3 popoªudniu, to nast pnego dnia z prawdopodobie«stwem 67% b dzie pada. W zªy 4 i 5 s oznaczone gwiazdk, co znaczy,»e s to w zªy ko«cowe i nie b d dalej dzielone. 148 / 260
149 Przykªad z u»yciem zbioru weather Teraz zajmiemy si podziaªem w zªa 2. Algorytm u»yª zmiennej Cloud3pm do podziaªu z warto±ci 7.5. W zeª 4 ma 195 obserwacji, s to obserwacje z ci±nieniem o 3 popoªudniu wi kszym równym hPa i o pokrywie chmur mniejszej ni» 7.5okta. Pod tymi warunkami nie b dzie pada jutro z prawdopodobie«stwem 95%: 2) Pressure3pm>= No ( ) 4) Cloud3pm< No ( ) * 5) Cloud3pm>= Yes ( ) * W zeª 5 przewiduje,»e b dzie pada jutro. Mamy tu tylko 9 obserwacji, ale cz sto± deszczu wynosi dla nich 67%. St d mo»emy powiedzie,»e je±li ci±nienie jest nie mniejsze ni» hPa oraz pokrywa chmur wynosi nie mniej ni» 7.5okta o 3 popoªudniu, to nast pnego dnia z prawdopodobie«stwem 67% b dzie pada. W zªy 4 i 5 s oznaczone gwiazdk, co znaczy,»e s to w zªy ko«cowe i nie b d dalej dzielone. 149 / 260
150 Przykªad z u»yciem zbioru weather Teraz zajmiemy si podziaªem w zªa 2. Algorytm u»yª zmiennej Cloud3pm do podziaªu z warto±ci 7.5. W zeª 4 ma 195 obserwacji, s to obserwacje z ci±nieniem o 3 popoªudniu wi kszym równym hPa i o pokrywie chmur mniejszej ni» 7.5okta. Pod tymi warunkami nie b dzie pada jutro z prawdopodobie«stwem 95%: 2) Pressure3pm>= No ( ) 4) Cloud3pm< No ( ) * 5) Cloud3pm>= Yes ( ) * W zeª 5 przewiduje,»e b dzie pada jutro. Mamy tu tylko 9 obserwacji, ale cz sto± deszczu wynosi dla nich 67%. St d mo»emy powiedzie,»e je±li ci±nienie jest nie mniejsze ni» hPa oraz pokrywa chmur wynosi nie mniej ni» 7.5okta o 3 popoªudniu, to nast pnego dnia z prawdopodobie«stwem 67% b dzie pada. W zªy 4 i 5 s oznaczone gwiazdk, co znaczy,»e s to w zªy ko«cowe i nie b d dalej dzielone. 150 / 260
151 Przykªad z u»yciem zbioru weather Pozostaªe w zªy 6 i 7 powstaªy z podziaªu w zªa 3 wg zmiennej Sunshine z warto±ci podziaªu 8.85: 3) Pressure3pm< No ( ) 6) Sunshine>= No ( ) * 7) Sunshine< Yes ( ) * Dziel c w zeª 3 w ten sposób dostali±my dwie prawie homogeniczne grupy, w zeª 6 reprezentuje obserwacje z 20% szans na deszcz jutro, natomiast w zeª 7 daje 74% szans na deszcz. W ten sposób zbudowali±my proste drzewo decyzyjne z 7 w zªami i czterema li± mi o maksymalnej gª boko±ci / 260
152 Przykªad z u»yciem zbioru weather Pozostaªe w zªy 6 i 7 powstaªy z podziaªu w zªa 3 wg zmiennej Sunshine z warto±ci podziaªu 8.85: 3) Pressure3pm< No ( ) 6) Sunshine>= No ( ) * 7) Sunshine< Yes ( ) * Dziel c w zeª 3 w ten sposób dostali±my dwie prawie homogeniczne grupy, w zeª 6 reprezentuje obserwacje z 20% szans na deszcz jutro, natomiast w zeª 7 daje 74% szans na deszcz. W ten sposób zbudowali±my proste drzewo decyzyjne z 7 w zªami i czterema li± mi o maksymalnej gª boko±ci / 260
153 Przykªad z u»yciem zbioru weather Nast pna cz ± widoku tekstowego pokazuje kod R u»yty do wygenerowania drzewa: Classification tree: rpart(formula = RainTomorrow ~., data = crs$dataset[crs$train, c(crs$input, crs$target)], method = "class", parms = list(split = "information"), control = rpart.control(usesurrogate = 0, maxsurrogate = 0)) 153 / 260
154 Przykªad z u»yciem zbioru weather Nast pna cz ± widoku tekstowego pokazuje kod R u»yty do wygenerowania drzewa: Classification tree: rpart(formula = RainTomorrow ~., data = crs$dataset[crs$train, c(crs$input, crs$target)], method = "class", parms = list(split = "information"), control = rpart.control(usesurrogate = 0, maxsurrogate = 0)) 154 / 260
155 Przykªad z u»yciem zbioru weather Kod ten mo»na zobaczy te» w zakªadce log. Atrybut formula oznacza,»e chcemy zbudowa model, który przewiduje warto± zmiennej RainTomorrow na podstawie pozostaªych zmiennych (oznaczonych jako ). Zbiór danych to ramka danych crs$dataset, z którego wybieramy indeksy obserwacji nale» ce do zbioru treningowego crs$train. Classification tree: rpart(formula = RainTomorrow ~., data = crs$dataset[crs$train, c(crs$input, crs$target)], method = "class", parms = list(split = "information"), control = rpart.control(usesurrogate = 0, maxsurrogate = 0)) Metoda u»yta bazuje na klasykacji (method), a podziaª na zysku informacyjnym (split). 155 / 260
156 Przykªad z u»yciem zbioru weather Model najcz ±ciej u»ywa kilku zmiennych, nast pna cz ± widoku listuje te zmienne. W naszym wypadku u»yte byªy tylko 3: Variables actually used in tree construction: [1] Cloud3pm Pressure3pm Sunshine 156 / 260
157 Przykªad z u»yciem zbioru weather Root node error: 41/256 = n= 256 CP nsplit rel error xerror xstd Bª d dla caªego zbioru danych wynosi 0.16 (bez podziaªu - je±li dokonaliby±my klasykacji wszystkich obserwacji jako No). Najbardziej interesuj cy jest bª d cross-validation error, czyli kolumna xerror. 157 / 260
158 Przykªad z u»yciem zbioru weather Root node error: 41/256 = n= 256 CP nsplit rel error xerror xstd Bª d dla caªego zbioru danych wynosi 0.16 (bez podziaªu - je±li dokonaliby±my klasykacji wszystkich obserwacji jako No). Najbardziej interesuj cy jest bª d cross-validation error, czyli kolumna xerror. 158 / 260
159 Przykªad z u»yciem zbioru weather Root node error: 41/256 = n= 256 CP nsplit rel error xerror xstd Bior c to jako podstaw (baseline error 1.00), tabela pokazuje wzgl dn zmian tego bª du podczas budowy drzewa. W linii 2, widzimy,»e po pierwszym podziale zbioru danych bª d xerror zredukowaª si do 80% pierwotnej warto±ci. Zauwa»my,»e bª d walidacji krzy»owej (xerror) zmniejsza si wolniej ni» bª d na zbiorze treningowym (error), co jest typowe. 159 / 260
160 Przykªad z u»yciem zbioru weather Root node error: 41/256 = n= 256 CP nsplit rel error xerror xstd Bior c to jako podstaw (baseline error 1.00), tabela pokazuje wzgl dn zmian tego bª du podczas budowy drzewa. W linii 2, widzimy,»e po pierwszym podziale zbioru danych bª d xerror zredukowaª si do 80% pierwotnej warto±ci. Zauwa»my,»e bª d walidacji krzy»owej (xerror) zmniejsza si wolniej ni» bª d na zbiorze treningowym (error), co jest typowe. 160 / 260
161 Przykªad z u»yciem zbioru weather Root node error: 41/256 = n= 256 CP nsplit rel error xerror xstd Warto± CP (complexity parameter - parametr zªo»ono±ci) wyja±nimy za chwil. Teraz zauwa»my,»e im wi cej mamy w zªów, to parametr ten maleje. Warto zauwa»y,»e bª d walidacji krzy»owej zaczyna rosn przy dalszym podziale drzewa, co oznacza,»e algorytm powinien zatrzyma podziaª, poniewa» nie widzimy znacz cej redukcji bª du. 161 / 260
162 Przykªad z u»yciem zbioru weather Root node error: 41/256 = n= 256 CP nsplit rel error xerror xstd Warto± CP (complexity parameter - parametr zªo»ono±ci) wyja±nimy za chwil. Teraz zauwa»my,»e im wi cej mamy w zªów, to parametr ten maleje. Warto zauwa»y,»e bª d walidacji krzy»owej zaczyna rosn przy dalszym podziale drzewa, co oznacza,»e algorytm powinien zatrzyma podziaª, poniewa» nie widzimy znacz cej redukcji bª du. 162 / 260
163 Budowa drzewa za pomoc R Jak ju» wcze±niej wspominali±my w zakªadce Log pokazana jest formuªa j zyka R, która tworzy drzewo decyzyjne Skorzystamy teraz z tradycyjnego algorytmu budowania drzewa, u»ywamy pakietu rpart, który daje funkcj rpart (), która jest implementacj standardowych algorytmów klasykacyjnych i regresyjnych. library(rpart) Tworzymy zmienn weatherds u»ywaj c new.env() (nowe ±rodowisko), która posªu»y jako kontener dla danych i innych informacji: weatherds<-new.env() 163 / 260
164 Budowa drzewa za pomoc R Jak ju» wcze±niej wspominali±my w zakªadce Log pokazana jest formuªa j zyka R, która tworzy drzewo decyzyjne Skorzystamy teraz z tradycyjnego algorytmu budowania drzewa, u»ywamy pakietu rpart, który daje funkcj rpart (), która jest implementacj standardowych algorytmów klasykacyjnych i regresyjnych. library(rpart) Tworzymy zmienn weatherds u»ywaj c new.env() (nowe ±rodowisko), która posªu»y jako kontener dla danych i innych informacji: weatherds<-new.env() 164 / 260
165 Budowa drzewa za pomoc R Jak ju» wcze±niej wspominali±my w zakªadce Log pokazana jest formuªa j zyka R, która tworzy drzewo decyzyjne Skorzystamy teraz z tradycyjnego algorytmu budowania drzewa, u»ywamy pakietu rpart, który daje funkcj rpart (), która jest implementacj standardowych algorytmów klasykacyjnych i regresyjnych. library(rpart) Tworzymy zmienn weatherds u»ywaj c new.env() (nowe ±rodowisko), która posªu»y jako kontener dla danych i innych informacji: weatherds<-new.env() 165 / 260
166 Budowa drzewa za pomoc R Trzy kolumny z zestawu danych s ignorowane w naszych analizach, gdy» nie odgrywaj»adnej roli w modelu. S to te zmienne, które sªu» do okre±lenia obserwacji (data i miejsce) oraz zmienna ryzyka (RISK_MM - ilo± opadu odnotowana w dniu nast pnym). Poni»ej identykujemy indeksy tych zmiennych i zapisujemy indeks ujemny w zmiennej vars, która jest przechowywana w kontenerze: evalq({ data <- weather nobs <- nrow(data) vars <- -grep('^(date Locat RISK)',names(weather)) }, weatherds) evalq pozwala operowa w danym ±rodowisku, grep wyszukuje podany wzorzec 166 / 260
167 Budowa drzewa za pomoc R Trzy kolumny z zestawu danych s ignorowane w naszych analizach, gdy» nie odgrywaj»adnej roli w modelu. S to te zmienne, które sªu» do okre±lenia obserwacji (data i miejsce) oraz zmienna ryzyka (RISK_MM - ilo± opadu odnotowana w dniu nast pnym). Poni»ej identykujemy indeksy tych zmiennych i zapisujemy indeks ujemny w zmiennej vars, która jest przechowywana w kontenerze: evalq({ data <- weather nobs <- nrow(data) vars <- -grep('^(date Locat RISK)',names(weather)) }, weatherds) evalq pozwala operowa w danym ±rodowisku, grep wyszukuje podany wzorzec 167 / 260
168 Budowa drzewa za pomoc R Trzy kolumny z zestawu danych s ignorowane w naszych analizach, gdy» nie odgrywaj»adnej roli w modelu. S to te zmienne, które sªu» do okre±lenia obserwacji (data i miejsce) oraz zmienna ryzyka (RISK_MM - ilo± opadu odnotowana w dniu nast pnym). Poni»ej identykujemy indeksy tych zmiennych i zapisujemy indeks ujemny w zmiennej vars, która jest przechowywana w kontenerze: evalq({ data <- weather nobs <- nrow(data) vars <- -grep('^(date Locat RISK)',names(weather)) }, weatherds) evalq pozwala operowa w danym ±rodowisku, grep wyszukuje podany wzorzec 168 / 260
169 Budowa drzewa za pomoc R Wybieramy losowy podzbiór 70% obserwacji, który b dzie wykorzystany jako dane szkoleniowe. Ziarno losowe jest ustawione za pomoc set.seed () tak, aby±my mogli uzyska tak sam próbk losow dla celów pogl dowych i powtarzalno±ci wyników. evalq({ set.seed(42) train <- sample(nobs, 0.7*nobs) }, weatherds) Dodajemy do ±rodowiska formuª opisuj c model: evalq({ form <- formula(raintomorrow ~.) }, weatherds) 169 / 260
170 Budowa drzewa za pomoc R Wybieramy losowy podzbiór 70% obserwacji, który b dzie wykorzystany jako dane szkoleniowe. Ziarno losowe jest ustawione za pomoc set.seed () tak, aby±my mogli uzyska tak sam próbk losow dla celów pogl dowych i powtarzalno±ci wyników. evalq({ set.seed(42) train <- sample(nobs, 0.7*nobs) }, weatherds) Dodajemy do ±rodowiska formuª opisuj c model: evalq({ form <- formula(raintomorrow ~.) }, weatherds) 170 / 260
171 Budowa drzewa za pomoc R Tworzymy kontener przechowuj cy model, którego kontenerem nadrz dnym b dzie weatherds: weatherrpart <- new.env(parent=weatherds) Budowa samego modelu jest ju» prosta. Zmienne data, train i vars pochodz z kontenera weatherds, a wynik b dzie przechowywany w kontenerze weatherrpart: evalq({ model <- rpart(formula=form, data=data[train, vars]) }, weatherrpart) Do budowy drzewa u»ywamy funkcji rpart ( ), przekazuj c do niej formuªy i dane. 171 / 260
172 Budowa drzewa za pomoc R Tworzymy kontener przechowuj cy model, którego kontenerem nadrz dnym b dzie weatherds: weatherrpart <- new.env(parent=weatherds) Budowa samego modelu jest ju» prosta. Zmienne data, train i vars pochodz z kontenera weatherds, a wynik b dzie przechowywany w kontenerze weatherrpart: evalq({ model <- rpart(formula=form, data=data[train, vars]) }, weatherrpart) Do budowy drzewa u»ywamy funkcji rpart ( ), przekazuj c do niej formuªy i dane. 172 / 260
173 Budowa drzewa za pomoc R evalq({ model <- rpart(formula=form, data=data[train, vars]) }, weatherrpart) Nie musimy dodawa formula= i data= w argumentach funkcji, poniewa» mog one by równie» okre±lone przez pozycj na li±cie argumentów. Wª czamy je w celu zapewnienia jasno±ci dla innych czytaj cych ten kod. Argument formula= identykuje model, który ma powsta. W tym przypadku przekazujemy zmienn form, która byªa wcze±niej zdeniowana. Docelowa zmienna (na lewo od tyldy w formule) to RainTomorrow, a zmienne wej±ciowe skªadaj si ze wszystkich pozostaªych zmiennych w zbiorze danych. Budujemy model, który przewiduje warto± dla RainTomorrow na podstawie dzisiejszych obserwacji pogody. 173 / 260
174 Budowa drzewa za pomoc R evalq({ model <- rpart(formula=form, data=data[train, vars]) }, weatherrpart) Nie musimy dodawa formula= i data= w argumentach funkcji, poniewa» mog one by równie» okre±lone przez pozycj na li±cie argumentów. Wª czamy je w celu zapewnienia jasno±ci dla innych czytaj cych ten kod. Argument formula= identykuje model, który ma powsta. W tym przypadku przekazujemy zmienn form, która byªa wcze±niej zdeniowana. Docelowa zmienna (na lewo od tyldy w formule) to RainTomorrow, a zmienne wej±ciowe skªadaj si ze wszystkich pozostaªych zmiennych w zbiorze danych. Budujemy model, który przewiduje warto± dla RainTomorrow na podstawie dzisiejszych obserwacji pogody. 174 / 260
175 Budowa drzewa za pomoc R evalq({ model <- rpart(formula=form, data=data[train, vars]) }, weatherrpart) Nie musimy dodawa formula= i data= w argumentach funkcji, poniewa» mog one by równie» okre±lone przez pozycj na li±cie argumentów. Wª czamy je w celu zapewnienia jasno±ci dla innych czytaj cych ten kod. Argument formula= identykuje model, który ma powsta. W tym przypadku przekazujemy zmienn form, która byªa wcze±niej zdeniowana. Docelowa zmienna (na lewo od tyldy w formule) to RainTomorrow, a zmienne wej±ciowe skªadaj si ze wszystkich pozostaªych zmiennych w zbiorze danych. Budujemy model, który przewiduje warto± dla RainTomorrow na podstawie dzisiejszych obserwacji pogody. 175 / 260
176 Budowa drzewa za pomoc R evalq({ model <- rpart(formula=form, data=data[train, vars]) }, weatherrpart) Argument data= okre±la zestaw danych szkoleniowych. Przekazujemy do funkcji zmienn data, któr wcze±niej zdeniowali±my. Zestaw szkoleniowy skªada si z obserwacji wymienionych w zmiennej train. Zmienne z zestawu danych, które chcemy wyª czy okre±lone przez vars, która w tym przypadku wymienia jako ujemne liczby caªkowite zmienne do zignorowania. Podsumowuj c train i vars identykuj obserwacje i zmienne do uwzgl dnienia w modelu. 176 / 260
177 Budowa drzewa za pomoc R evalq({ model <- rpart(formula=form, data=data[train, vars]) }, weatherrpart) Argument data= okre±la zestaw danych szkoleniowych. Przekazujemy do funkcji zmienn data, któr wcze±niej zdeniowali±my. Zestaw szkoleniowy skªada si z obserwacji wymienionych w zmiennej train. Zmienne z zestawu danych, które chcemy wyª czy okre±lone przez vars, która w tym przypadku wymienia jako ujemne liczby caªkowite zmienne do zignorowania. Podsumowuj c train i vars identykuj obserwacje i zmienne do uwzgl dnienia w modelu. 177 / 260
178 Budowa drzewa za pomoc R Wynik jest zapisany w zmiennej model ±rodowiska weatherrpart, mo»emy si do niego odwoªywa za pomoc weatherrpart$model: print(weatherrpart$model) 178 / 260
179 Budowa drzewa za pomoc R Aby uzyska informacj o parametrze zªo»ono±ci CP (complexity parameter) u»ywamy plotcp(): printcp(weatherrpart$model) Inn przydatn komend dostarczaj c ciekawych informacji o wyniku jest summary(): summary(weatherrpart$model) Dostarcza ona informacje o procesie budowy modelu, w zªach, itp. 179 / 260
180 Budowa drzewa za pomoc R Aby uzyska informacj o parametrze zªo»ono±ci CP (complexity parameter) u»ywamy plotcp(): printcp(weatherrpart$model) Inn przydatn komend dostarczaj c ciekawych informacji o wyniku jest summary(): summary(weatherrpart$model) Dostarcza ona informacje o procesie budowy modelu, w zªach, itp. 180 / 260
181 Budowa drzewa za pomoc R Funkcje plot() i text() wy±wietlaj drzewo decyzyjne z etykietami: opar <- par(xpd=true) plot(weatherrpart$model) text(weatherrpart$model) par(opar) 181 / 260
182 Budowa drzewa za pomoc R Jest to inny rysunek ni» standardowy w Rattle, który u»ywa funkcji drawtreenodes() z pakietu maptree (White, 2010). Dªugo± linii oznacza bª d dla danej gaª zi drzewa. Rysunek drzewa za pomoc funkcji plot() i text() 182 / 260
183 Budowa drzewa za pomoc R Komenda path.rpart() jest ciekawym dodatkiem dla plot(): path.rpart(weatherrpart$model) Pozwala ona na u»ywanie lewego przycisku myszki Po klikni ciu na w zeª wy±wietla si ±cie»ka do w zªa w formie tekstowej, np po klikni ciu na prawy dolny w zeª dostaniemy: node number: 7 root Pressure3pm< 1012 Sunshine< 8.85 Klawisz Esc ko«czy interakcj. 183 / 260
184 Parametry drzewa Algorytm drzewa decyzyjnego dostarcza zbiór parametrów do tuningu, wpªywaj cego na to jak drzewo jest zbudowane. Domy±lne warto±ci w Rattle cz sto zapewniaj dobre drzewo. S z pewno±ci dobrym punktem wyj±cia i mog dawa zadowalaj cy wynik naszej pracy. Jednak»e, dostrojenie b dzie konieczne, je»eli przykªadowo zmienna docelowa ma bardzo niewiele przykªadów dla okre±lonej interesuj cej grupy lub chcieliby±my zbada szereg alternatywnych drzew. Opiszemy tylko cz ± parametrów i to bez zagª biania si w szczegóªy, ale dokumentacja R dostarcza znacznie wi cej informacji polecenie?rpart. Funkcja rpart () ma dwa argumenty stroj ce algorytm. Ka»dy z nich jest struktur zawieraj ca inne opcje. S to control= params= 184 / 260
185 Parametry drzewa Algorytm drzewa decyzyjnego dostarcza zbiór parametrów do tuningu, wpªywaj cego na to jak drzewo jest zbudowane. Domy±lne warto±ci w Rattle cz sto zapewniaj dobre drzewo. S z pewno±ci dobrym punktem wyj±cia i mog dawa zadowalaj cy wynik naszej pracy. Jednak»e, dostrojenie b dzie konieczne, je»eli przykªadowo zmienna docelowa ma bardzo niewiele przykªadów dla okre±lonej interesuj cej grupy lub chcieliby±my zbada szereg alternatywnych drzew. Opiszemy tylko cz ± parametrów i to bez zagª biania si w szczegóªy, ale dokumentacja R dostarcza znacznie wi cej informacji polecenie?rpart. Funkcja rpart () ma dwa argumenty stroj ce algorytm. Ka»dy z nich jest struktur zawieraj ca inne opcje. S to control= params= 185 / 260
186 Parametry drzewa Algorytm drzewa decyzyjnego dostarcza zbiór parametrów do tuningu, wpªywaj cego na to jak drzewo jest zbudowane. Domy±lne warto±ci w Rattle cz sto zapewniaj dobre drzewo. S z pewno±ci dobrym punktem wyj±cia i mog dawa zadowalaj cy wynik naszej pracy. Jednak»e, dostrojenie b dzie konieczne, je»eli przykªadowo zmienna docelowa ma bardzo niewiele przykªadów dla okre±lonej interesuj cej grupy lub chcieliby±my zbada szereg alternatywnych drzew. Opiszemy tylko cz ± parametrów i to bez zagª biania si w szczegóªy, ale dokumentacja R dostarcza znacznie wi cej informacji polecenie?rpart. Funkcja rpart () ma dwa argumenty stroj ce algorytm. Ka»dy z nich jest struktur zawieraj ca inne opcje. S to control= params= 186 / 260
187 Parametry drzewa Algorytm drzewa decyzyjnego dostarcza zbiór parametrów do tuningu, wpªywaj cego na to jak drzewo jest zbudowane. Domy±lne warto±ci w Rattle cz sto zapewniaj dobre drzewo. S z pewno±ci dobrym punktem wyj±cia i mog dawa zadowalaj cy wynik naszej pracy. Jednak»e, dostrojenie b dzie konieczne, je»eli przykªadowo zmienna docelowa ma bardzo niewiele przykªadów dla okre±lonej interesuj cej grupy lub chcieliby±my zbada szereg alternatywnych drzew. Opiszemy tylko cz ± parametrów i to bez zagª biania si w szczegóªy, ale dokumentacja R dostarcza znacznie wi cej informacji polecenie?rpart. Funkcja rpart () ma dwa argumenty stroj ce algorytm. Ka»dy z nich jest struktur zawieraj ca inne opcje. S to control= params= 187 / 260
188 Parametry drzewa Algorytm drzewa decyzyjnego dostarcza zbiór parametrów do tuningu, wpªywaj cego na to jak drzewo jest zbudowane. Domy±lne warto±ci w Rattle cz sto zapewniaj dobre drzewo. S z pewno±ci dobrym punktem wyj±cia i mog dawa zadowalaj cy wynik naszej pracy. Jednak»e, dostrojenie b dzie konieczne, je»eli przykªadowo zmienna docelowa ma bardzo niewiele przykªadów dla okre±lonej interesuj cej grupy lub chcieliby±my zbada szereg alternatywnych drzew. Opiszemy tylko cz ± parametrów i to bez zagª biania si w szczegóªy, ale dokumentacja R dostarcza znacznie wi cej informacji polecenie?rpart. Funkcja rpart () ma dwa argumenty stroj ce algorytm. Ka»dy z nich jest struktur zawieraj ca inne opcje. S to control= params= 188 / 260
189 Parametry drzewa Korzystamy z nich, jak w przykªadzie: evalq({ control <- rpart.control(minsplit=10, minbucket=5, maxdepth=20, usesurrogate=0, maxsurrogate=0) model <- rpart(formula=form, data=data[train, vars], method="class", parms=list(split="information"), control=control) }, weatherrpart) 189 / 260
190 Parametry drzewa Metoda modelowania okre±lana jest za pomoc parametru method=. Argument wskazuje rodzaj budowanego modelu i jest zale»ny od zmiennej docelowej. Dla celów kategorycznych, na ogóª budujemy modele klasykacyjne, a wi c u»ywamy method="class". Je±li cel jest zmienn numeryczn, to argument b dzie miaª warto± method = "ANOVA", wykorzystywany w analizie wariancji i drzewach regresji. Analiza wariancji (ANOVA) dla klasykacji pojedynczej bada wpªyw jednego czynnika klasykuj cego (podzielonego na wiele poziomów) na warto±ci badanej cechy mierzalnej. 190 / 260
191 Parametry drzewa Metoda modelowania okre±lana jest za pomoc parametru method=. Argument wskazuje rodzaj budowanego modelu i jest zale»ny od zmiennej docelowej. Dla celów kategorycznych, na ogóª budujemy modele klasykacyjne, a wi c u»ywamy method="class". Je±li cel jest zmienn numeryczn, to argument b dzie miaª warto± method = "ANOVA", wykorzystywany w analizie wariancji i drzewach regresji. Analiza wariancji (ANOVA) dla klasykacji pojedynczej bada wpªyw jednego czynnika klasykuj cego (podzielonego na wiele poziomów) na warto±ci badanej cechy mierzalnej. 191 / 260
192 Parametry drzewa Metoda modelowania okre±lana jest za pomoc parametru method=. Argument wskazuje rodzaj budowanego modelu i jest zale»ny od zmiennej docelowej. Dla celów kategorycznych, na ogóª budujemy modele klasykacyjne, a wi c u»ywamy method="class". Je±li cel jest zmienn numeryczn, to argument b dzie miaª warto± method = "ANOVA", wykorzystywany w analizie wariancji i drzewach regresji. Analiza wariancji (ANOVA) dla klasykacji pojedynczej bada wpªyw jednego czynnika klasykuj cego (podzielonego na wiele poziomów) na warto±ci badanej cechy mierzalnej. 192 / 260
193 Parametry drzewa Metoda modelowania okre±lana jest za pomoc parametru method=. Argument wskazuje rodzaj budowanego modelu i jest zale»ny od zmiennej docelowej. Dla celów kategorycznych, na ogóª budujemy modele klasykacyjne, a wi c u»ywamy method="class". Je±li cel jest zmienn numeryczn, to argument b dzie miaª warto± method = "ANOVA", wykorzystywany w analizie wariancji i drzewach regresji. Analiza wariancji (ANOVA) dla klasykacji pojedynczej bada wpªyw jednego czynnika klasykuj cego (podzielonego na wiele poziomów) na warto±ci badanej cechy mierzalnej. 193 / 260
194 Parametry drzewa Argument split= jest u»ywany do wyboru funkcji podziaªu (miary). Argument pojawia si wewn trz argumentu params rpart (), który jest list. Wybór warto±ci split="information" oznacza,»e rpart korzysta z zysku informacyjnego. Domy±lnym ustawieniami s w R: split = "Gini" - indeksu ró»norodno±ci Giniego, a w Rattle"information". 194 / 260
195 Parametry drzewa Argument split= jest u»ywany do wyboru funkcji podziaªu (miary). Argument pojawia si wewn trz argumentu params rpart (), który jest list. Wybór warto±ci split="information" oznacza,»e rpart korzysta z zysku informacyjnego. Domy±lnym ustawieniami s w R: split = "Gini" - indeksu ró»norodno±ci Giniego, a w Rattle"information". 195 / 260
196 Parametry drzewa Argument split= jest u»ywany do wyboru funkcji podziaªu (miary). Argument pojawia si wewn trz argumentu params rpart (), który jest list. Wybór warto±ci split="information" oznacza,»e rpart korzysta z zysku informacyjnego. Domy±lnym ustawieniami s w R: split = "Gini" - indeksu ró»norodno±ci Giniego, a w Rattle"information". 196 / 260
197 Parametry drzewa W przypadku danych weather oba parametry daj te same drzewa. evalq({ rpart(formula=form, data=data[train, vars], parms=list(split="information")) }, weatherrpart) evalq({ rpart(formula=form, data=data[train, vars], parms=list(split="gini")) }, weatherrpart) 197 / 260
198 Parametry drzewa Argument minsplit= podaje minimaln liczb obserwacji, które musz wyst powa w w ¹le drzewa, aby zostaª on dalej dzielony. W zeª nie b dzie dzielony je±li ma mniej ni» minsplit obserwacji. Argument minsplit= pojawia si w argumencie control rpart (). Domy±lna warto± minsplit = 20. W przykªadzie ni»ej, zilustrowano granic mi dzy podziaªem w zªa gªównego naszego drzewa decyzyjnego. Przykªad pokazuje,»e z minsplit = 53 da drzewo, które nie podzieli w zªa gªównego evalq({ rpart(formula=form, data=data[train, vars], control=rpart.control(minsplit=53)) }, weatherrpart) 198 / 260
199 Parametry drzewa Argument minsplit= podaje minimaln liczb obserwacji, które musz wyst powa w w ¹le drzewa, aby zostaª on dalej dzielony. W zeª nie b dzie dzielony je±li ma mniej ni» minsplit obserwacji. Argument minsplit= pojawia si w argumencie control rpart (). Domy±lna warto± minsplit = 20. W przykªadzie ni»ej, zilustrowano granic mi dzy podziaªem w zªa gªównego naszego drzewa decyzyjnego. Przykªad pokazuje,»e z minsplit = 53 da drzewo, które nie podzieli w zªa gªównego evalq({ rpart(formula=form, data=data[train, vars], control=rpart.control(minsplit=53)) }, weatherrpart) 199 / 260
200 Parametry drzewa Argument minsplit= podaje minimaln liczb obserwacji, które musz wyst powa w w ¹le drzewa, aby zostaª on dalej dzielony. W zeª nie b dzie dzielony je±li ma mniej ni» minsplit obserwacji. Argument minsplit= pojawia si w argumencie control rpart (). Domy±lna warto± minsplit = 20. W przykªadzie ni»ej, zilustrowano granic mi dzy podziaªem w zªa gªównego naszego drzewa decyzyjnego. Przykªad pokazuje,»e z minsplit = 53 da drzewo, które nie podzieli w zªa gªównego evalq({ rpart(formula=form, data=data[train, vars], control=rpart.control(minsplit=53)) }, weatherrpart) 200 / 260
201 Parametry drzewa Argument minsplit= podaje minimaln liczb obserwacji, które musz wyst powa w w ¹le drzewa, aby zostaª on dalej dzielony. W zeª nie b dzie dzielony je±li ma mniej ni» minsplit obserwacji. Argument minsplit= pojawia si w argumencie control rpart (). Domy±lna warto± minsplit = 20. W przykªadzie ni»ej, zilustrowano granic mi dzy podziaªem w zªa gªównego naszego drzewa decyzyjnego. Przykªad pokazuje,»e z minsplit = 53 da drzewo, które nie podzieli w zªa gªównego evalq({ rpart(formula=form, data=data[train, vars], control=rpart.control(minsplit=53)) }, weatherrpart) 201 / 260
202 Parametry drzewa Ustawianie minsplit = 52 daje podziaª na Pressure3pm (i dalszy podziaª). Pressure3pm dzieli zbiór danych na dwie cz ±ci, jedna z 204 obserwacjami, a druga z 52 obserwacjami. evalq({ rpart(formula=form, data=data[train, vars], control= rpart.control(minsplit=52)) }, weatherrpart) 202 / 260
203 Parametry drzewa Poniewa» mamy podziaª z jednej strony na 52, wida,»e minsplit = 53 model drzewa, nie dokonuje podziaªu w zªa gªównego. Zmiana warto±ci minsplit = pozwala nam wyeliminowa pewne obliczenia, poniewa» w zªy z niewielk liczb obserwacji b d ogólnie odgrywa mniejsz rol w naszych modelach. W zªy li±ci mog by skonstruowane z mniejsz liczb obserwacji ni» minsplit=, gdy» jest to kontrolowane przez parametr minbucket. Argument minbucket = jest minimaln liczb obserwacji w ka»dym w ¹le li±cia. Domy±lna warto± to 7, lub mniej wi cej jedna trzecia warto±ci minsplit. Je»eli którykolwiek z tych dwóch argumentów (minsplit i minbucket) jest podany i nie ma drugiego, to przyjmuje si»e warto± niepodanego speªnia powy»szy warunek (tj. minbucket = oznacza jedn trzeci minsplit =). 203 / 260
204 Parametry drzewa Poniewa» mamy podziaª z jednej strony na 52, wida,»e minsplit = 53 model drzewa, nie dokonuje podziaªu w zªa gªównego. Zmiana warto±ci minsplit = pozwala nam wyeliminowa pewne obliczenia, poniewa» w zªy z niewielk liczb obserwacji b d ogólnie odgrywa mniejsz rol w naszych modelach. W zªy li±ci mog by skonstruowane z mniejsz liczb obserwacji ni» minsplit=, gdy» jest to kontrolowane przez parametr minbucket. Argument minbucket = jest minimaln liczb obserwacji w ka»dym w ¹le li±cia. Domy±lna warto± to 7, lub mniej wi cej jedna trzecia warto±ci minsplit. Je»eli którykolwiek z tych dwóch argumentów (minsplit i minbucket) jest podany i nie ma drugiego, to przyjmuje si»e warto± niepodanego speªnia powy»szy warunek (tj. minbucket = oznacza jedn trzeci minsplit =). 204 / 260
205 Parametry drzewa Poniewa» mamy podziaª z jednej strony na 52, wida,»e minsplit = 53 model drzewa, nie dokonuje podziaªu w zªa gªównego. Zmiana warto±ci minsplit = pozwala nam wyeliminowa pewne obliczenia, poniewa» w zªy z niewielk liczb obserwacji b d ogólnie odgrywa mniejsz rol w naszych modelach. W zªy li±ci mog by skonstruowane z mniejsz liczb obserwacji ni» minsplit=, gdy» jest to kontrolowane przez parametr minbucket. Argument minbucket = jest minimaln liczb obserwacji w ka»dym w ¹le li±cia. Domy±lna warto± to 7, lub mniej wi cej jedna trzecia warto±ci minsplit. Je»eli którykolwiek z tych dwóch argumentów (minsplit i minbucket) jest podany i nie ma drugiego, to przyjmuje si»e warto± niepodanego speªnia powy»szy warunek (tj. minbucket = oznacza jedn trzeci minsplit =). 205 / 260
206 Parametry drzewa Poniewa» mamy podziaª z jednej strony na 52, wida,»e minsplit = 53 model drzewa, nie dokonuje podziaªu w zªa gªównego. Zmiana warto±ci minsplit = pozwala nam wyeliminowa pewne obliczenia, poniewa» w zªy z niewielk liczb obserwacji b d ogólnie odgrywa mniejsz rol w naszych modelach. W zªy li±ci mog by skonstruowane z mniejsz liczb obserwacji ni» minsplit=, gdy» jest to kontrolowane przez parametr minbucket. Argument minbucket = jest minimaln liczb obserwacji w ka»dym w ¹le li±cia. Domy±lna warto± to 7, lub mniej wi cej jedna trzecia warto±ci minsplit. Je»eli którykolwiek z tych dwóch argumentów (minsplit i minbucket) jest podany i nie ma drugiego, to przyjmuje si»e warto± niepodanego speªnia powy»szy warunek (tj. minbucket = oznacza jedn trzeci minsplit =). 206 / 260
207 Parametry drzewa Poniewa» mamy podziaª z jednej strony na 52, wida,»e minsplit = 53 model drzewa, nie dokonuje podziaªu w zªa gªównego. Zmiana warto±ci minsplit = pozwala nam wyeliminowa pewne obliczenia, poniewa» w zªy z niewielk liczb obserwacji b d ogólnie odgrywa mniejsz rol w naszych modelach. W zªy li±ci mog by skonstruowane z mniejsz liczb obserwacji ni» minsplit=, gdy» jest to kontrolowane przez parametr minbucket. Argument minbucket = jest minimaln liczb obserwacji w ka»dym w ¹le li±cia. Domy±lna warto± to 7, lub mniej wi cej jedna trzecia warto±ci minsplit. Je»eli którykolwiek z tych dwóch argumentów (minsplit i minbucket) jest podany i nie ma drugiego, to przyjmuje si»e warto± niepodanego speªnia powy»szy warunek (tj. minbucket = oznacza jedn trzeci minsplit =). 207 / 260
208 Parametry drzewa Porównajmy dwa przykªady u»ycia minbucket =. Pierwszy ogranicza minimalny rozmiar obserwacji w li±ciu do 10, daj c taki sam model jak uzyskali±my powy»ej. Drugi przykªad zmniejsza t warto± do zaledwie 5 obserwacji. Wynik b dzie zwykle wi kszym drzewem decyzyjnym, poniewa» pozwalamy na w zªy li±ci z mniejsz liczb obserwacji. ops <- options(digits=2) evalq({ rpart(formula=form, data=data[train, vars], control=rpart.control(minbucket=10)) }, weatherrpart) evalq({ rpart(formula=form, data=data[train, vars], control=rpart.control(minbucket=5)) }, weatherrpart) 208 / 260
209 Parametry drzewa Porównajmy dwa przykªady u»ycia minbucket =. Pierwszy ogranicza minimalny rozmiar obserwacji w li±ciu do 10, daj c taki sam model jak uzyskali±my powy»ej. Drugi przykªad zmniejsza t warto± do zaledwie 5 obserwacji. Wynik b dzie zwykle wi kszym drzewem decyzyjnym, poniewa» pozwalamy na w zªy li±ci z mniejsz liczb obserwacji. ops <- options(digits=2) evalq({ rpart(formula=form, data=data[train, vars], control=rpart.control(minbucket=10)) }, weatherrpart) evalq({ rpart(formula=form, data=data[train, vars], control=rpart.control(minbucket=5)) }, weatherrpart) 209 / 260
210 Parametry drzewa Warto± minbucket = mo»e mie wpªyw na wybór zmiennej podziaªu. Zmiana mo»e nast pi, gdy jeden wybór z wy»szymi wynikami ma zbyt maªo obserwacji, co prowadzi do innego wyboru w celu speªnienia minimalnych wymaga«dotycz cych liczby obserwacji w podziale. Cho domy±lnie jest ustawiona warto± minbucket = na jedn trzeci minsplit =, to nie jest wymagane aby minbucket= byªa mniejsza ni» minsplit=. W zeª zawsze ma co najmniej minbucket = obserwacji i b dzie podzielony, je»eli ma co najmniej minsplit = obserwacji i je±li po podziale ka»de z jego dzieci ma przynajmniej minbucket = obserwacji. 210 / 260
211 Parametry drzewa Warto± minbucket = mo»e mie wpªyw na wybór zmiennej podziaªu. Zmiana mo»e nast pi, gdy jeden wybór z wy»szymi wynikami ma zbyt maªo obserwacji, co prowadzi do innego wyboru w celu speªnienia minimalnych wymaga«dotycz cych liczby obserwacji w podziale. Cho domy±lnie jest ustawiona warto± minbucket = na jedn trzeci minsplit =, to nie jest wymagane aby minbucket= byªa mniejsza ni» minsplit=. W zeª zawsze ma co najmniej minbucket = obserwacji i b dzie podzielony, je»eli ma co najmniej minsplit = obserwacji i je±li po podziale ka»de z jego dzieci ma przynajmniej minbucket = obserwacji. 211 / 260
212 Parametry drzewa Warto± minbucket = mo»e mie wpªyw na wybór zmiennej podziaªu. Zmiana mo»e nast pi, gdy jeden wybór z wy»szymi wynikami ma zbyt maªo obserwacji, co prowadzi do innego wyboru w celu speªnienia minimalnych wymaga«dotycz cych liczby obserwacji w podziale. Cho domy±lnie jest ustawiona warto± minbucket = na jedn trzeci minsplit =, to nie jest wymagane aby minbucket= byªa mniejsza ni» minsplit=. W zeª zawsze ma co najmniej minbucket = obserwacji i b dzie podzielony, je»eli ma co najmniej minsplit = obserwacji i je±li po podziale ka»de z jego dzieci ma przynajmniej minbucket = obserwacji. 212 / 260
213 Parametry drzewa Warto± minbucket = mo»e mie wpªyw na wybór zmiennej podziaªu. Zmiana mo»e nast pi, gdy jeden wybór z wy»szymi wynikami ma zbyt maªo obserwacji, co prowadzi do innego wyboru w celu speªnienia minimalnych wymaga«dotycz cych liczby obserwacji w podziale. Cho domy±lnie jest ustawiona warto± minbucket = na jedn trzeci minsplit =, to nie jest wymagane aby minbucket= byªa mniejsza ni» minsplit=. W zeª zawsze ma co najmniej minbucket = obserwacji i b dzie podzielony, je»eli ma co najmniej minsplit = obserwacji i je±li po podziale ka»de z jego dzieci ma przynajmniej minbucket = obserwacji. 213 / 260
214 Parametry drzewa Parametr zªo»ono±ci cp= Jest stosowany do kontrolowania wielko±ci drzewa decyzyjnego i do wyboru optymalnej wysoko±ci drzewa. Kontroluje proces przycinania drzewa decyzyjnego. Zagadnienie b dziemy omawia pó¹niej, ale zauwa»my,»e bez przycinania drzewo mo»e nadmierne dopasowa si do danych szkoleniowych i nie radzi sobie dobrze na nowych danych. Ogólnie, im bardziej zªo»ony model, tym bardziej prawdopodobne jest to,»e zapami taª dane, na których zostaª on przeszkolony i mniej prawdopodobne jest to, aby dopasowaª si do nowych wcze±niej niewidocznych dla niego danych. Z drugiej strony, drzewa decyzyjne s ªatwe w interpretacji i budowa bardziej zªo»onych drzew (tzn. posiadaj cych wiele podziaªów) mo»e by czasem kusz ca (i przydatna). Mo»e zawiera spostrze»enia, które mo»emy nast pnie przetestowa statystycznie. 214 / 260
215 Parametry drzewa Parametr zªo»ono±ci cp= Jest stosowany do kontrolowania wielko±ci drzewa decyzyjnego i do wyboru optymalnej wysoko±ci drzewa. Kontroluje proces przycinania drzewa decyzyjnego. Zagadnienie b dziemy omawia pó¹niej, ale zauwa»my,»e bez przycinania drzewo mo»e nadmierne dopasowa si do danych szkoleniowych i nie radzi sobie dobrze na nowych danych. Ogólnie, im bardziej zªo»ony model, tym bardziej prawdopodobne jest to,»e zapami taª dane, na których zostaª on przeszkolony i mniej prawdopodobne jest to, aby dopasowaª si do nowych wcze±niej niewidocznych dla niego danych. Z drugiej strony, drzewa decyzyjne s ªatwe w interpretacji i budowa bardziej zªo»onych drzew (tzn. posiadaj cych wiele podziaªów) mo»e by czasem kusz ca (i przydatna). Mo»e zawiera spostrze»enia, które mo»emy nast pnie przetestowa statystycznie. 215 / 260
216 Parametry drzewa Parametr zªo»ono±ci cp= Jest stosowany do kontrolowania wielko±ci drzewa decyzyjnego i do wyboru optymalnej wysoko±ci drzewa. Kontroluje proces przycinania drzewa decyzyjnego. Zagadnienie b dziemy omawia pó¹niej, ale zauwa»my,»e bez przycinania drzewo mo»e nadmierne dopasowa si do danych szkoleniowych i nie radzi sobie dobrze na nowych danych. Ogólnie, im bardziej zªo»ony model, tym bardziej prawdopodobne jest to,»e zapami taª dane, na których zostaª on przeszkolony i mniej prawdopodobne jest to, aby dopasowaª si do nowych wcze±niej niewidocznych dla niego danych. Z drugiej strony, drzewa decyzyjne s ªatwe w interpretacji i budowa bardziej zªo»onych drzew (tzn. posiadaj cych wiele podziaªów) mo»e by czasem kusz ca (i przydatna). Mo»e zawiera spostrze»enia, które mo»emy nast pnie przetestowa statystycznie. 216 / 260
217 Parametry drzewa Parametr zªo»ono±ci cp= Jest stosowany do kontrolowania wielko±ci drzewa decyzyjnego i do wyboru optymalnej wysoko±ci drzewa. Kontroluje proces przycinania drzewa decyzyjnego. Zagadnienie b dziemy omawia pó¹niej, ale zauwa»my,»e bez przycinania drzewo mo»e nadmierne dopasowa si do danych szkoleniowych i nie radzi sobie dobrze na nowych danych. Ogólnie, im bardziej zªo»ony model, tym bardziej prawdopodobne jest to,»e zapami taª dane, na których zostaª on przeszkolony i mniej prawdopodobne jest to, aby dopasowaª si do nowych wcze±niej niewidocznych dla niego danych. Z drugiej strony, drzewa decyzyjne s ªatwe w interpretacji i budowa bardziej zªo»onych drzew (tzn. posiadaj cych wiele podziaªów) mo»e by czasem kusz ca (i przydatna). Mo»e zawiera spostrze»enia, które mo»emy nast pnie przetestowa statystycznie. 217 / 260
218 Parametry drzewa Parametr zªo»ono±ci cp= Jest stosowany do kontrolowania wielko±ci drzewa decyzyjnego i do wyboru optymalnej wysoko±ci drzewa. Kontroluje proces przycinania drzewa decyzyjnego. Zagadnienie b dziemy omawia pó¹niej, ale zauwa»my,»e bez przycinania drzewo mo»e nadmierne dopasowa si do danych szkoleniowych i nie radzi sobie dobrze na nowych danych. Ogólnie, im bardziej zªo»ony model, tym bardziej prawdopodobne jest to,»e zapami taª dane, na których zostaª on przeszkolony i mniej prawdopodobne jest to, aby dopasowaª si do nowych wcze±niej niewidocznych dla niego danych. Z drugiej strony, drzewa decyzyjne s ªatwe w interpretacji i budowa bardziej zªo»onych drzew (tzn. posiadaj cych wiele podziaªów) mo»e by czasem kusz ca (i przydatna). Mo»e zawiera spostrze»enia, które mo»emy nast pnie przetestowa statystycznie. 218 / 260
219 Parametry drzewa U»ywaj c parametru cp = regulujemy minimaln korzy±, która musi by uzyskana w ka»dym podziale drzewa decyzyjnego. To oszcz dza czas, eliminuj c podziaªy, które dodaj niewielk warto± do modelu. Domy±lnie cp=0.01. Warto± 0 zbuduje kompletne drzewo o maksymalnej gª boko±ci, uwzgl dniaj c warto±ci parametrów minsplit = i minbucket =. Ró»ne warto±ci CP daj ró»ne rozmiary drzewa. Szukamy liczby podziaªów gdzie suma xerror ( krzy»owego bª du walidacji w stosunku do bª du gªównego) i xstd jest minimalna. 219 / 260
220 Parametry drzewa U»ywaj c parametru cp = regulujemy minimaln korzy±, która musi by uzyskana w ka»dym podziale drzewa decyzyjnego. To oszcz dza czas, eliminuj c podziaªy, które dodaj niewielk warto± do modelu. Domy±lnie cp=0.01. Warto± 0 zbuduje kompletne drzewo o maksymalnej gª boko±ci, uwzgl dniaj c warto±ci parametrów minsplit = i minbucket =. Ró»ne warto±ci CP daj ró»ne rozmiary drzewa. Szukamy liczby podziaªów gdzie suma xerror ( krzy»owego bª du walidacji w stosunku do bª du gªównego) i xstd jest minimalna. 220 / 260
221 Parametry drzewa U»ywaj c parametru cp = regulujemy minimaln korzy±, która musi by uzyskana w ka»dym podziale drzewa decyzyjnego. To oszcz dza czas, eliminuj c podziaªy, które dodaj niewielk warto± do modelu. Domy±lnie cp=0.01. Warto± 0 zbuduje kompletne drzewo o maksymalnej gª boko±ci, uwzgl dniaj c warto±ci parametrów minsplit = i minbucket =. Ró»ne warto±ci CP daj ró»ne rozmiary drzewa. Szukamy liczby podziaªów gdzie suma xerror ( krzy»owego bª du walidacji w stosunku do bª du gªównego) i xstd jest minimalna. 221 / 260
222 Parametry drzewa U»ywaj c parametru cp = regulujemy minimaln korzy±, która musi by uzyskana w ka»dym podziale drzewa decyzyjnego. To oszcz dza czas, eliminuj c podziaªy, które dodaj niewielk warto± do modelu. Domy±lnie cp=0.01. Warto± 0 zbuduje kompletne drzewo o maksymalnej gª boko±ci, uwzgl dniaj c warto±ci parametrów minsplit = i minbucket =. Ró»ne warto±ci CP daj ró»ne rozmiary drzewa. Szukamy liczby podziaªów gdzie suma xerror ( krzy»owego bª du walidacji w stosunku do bª du gªównego) i xstd jest minimalna. 222 / 260
223 Parametry drzewa Polecenie plotcp () jest u»yteczne do wizualizacji warto±ci CP. W poni»szym przykªadzie, budujemy peªne drzewo decyzyjne z cp= i minbucket= równymi zero. Bª d w porównaniu do parametru zªo»ono±ci. 223 / 260
224 Parametry drzewa set.seed(41) evalq({ control <- rpart.control(cp=0, minbucket=0) model <- rpart(formula=form, data=data[train, vars], control=control) }, weatherrpart) print(weatherrpart$model$cptable) plotcp(weatherrpart$model) grid() 224 / 260
225 Parametry drzewa Wykres przedstawia typowe zachowanie podczas budowy modelu. Gdy przyst pujemy do budowy zªo»onego modelu, bª d (o± Y) pocz tkowo maleje. Nast pnie staje si pªaski. Gdy model staje si bardziej zªo»ony, wska¹nik bª du zaczyna wzrasta. B dziemy chcieli wybra model, w którym bª d jest najni»szy. W oparciu o zasad wyboru prostszych modeli, mo»emy wybra pierwszy z dolnych punktów, a tym samym mo»emy ustawi u nas cp= / 260
226 Parametry drzewa Czasami proporcje klas w zbiorze treningowym nie odpowiadaj ich prawdziwym proporcjom w populacji. Mo»emy informowa Rattle i R o proporcji populacji, a otrzymany model b dzie im odpowiadaª. Wszystkie prawdopodobie«stwa b d zmodykowane, aby odpowiada rzeczywistym prawdopodobie«stwom klas, a nie proporcjom w szkoleniowym zestawie danych. Argument priors mo»e by równie» zastosowany do "podniesienia wagi" szczególnie wa»nej klasy nadaj c jej wi ksze prawdopodobie«stwo. W Rattle, prawdopodobie«stwa a priori s wyra»one jako lista numerów, które sumuj si do 1. Lista musi by tej samej dªugo±ci, co liczba unikatowych klas w szkoleniowym zestawie danych. Przykªadem binarnego zaklasykowania jest np. 0.6,0.4. To przekªada si na prior = c (0.6,0.4). 226 / 260
227 Parametry drzewa Czasami proporcje klas w zbiorze treningowym nie odpowiadaj ich prawdziwym proporcjom w populacji. Mo»emy informowa Rattle i R o proporcji populacji, a otrzymany model b dzie im odpowiadaª. Wszystkie prawdopodobie«stwa b d zmodykowane, aby odpowiada rzeczywistym prawdopodobie«stwom klas, a nie proporcjom w szkoleniowym zestawie danych. Argument priors mo»e by równie» zastosowany do "podniesienia wagi" szczególnie wa»nej klasy nadaj c jej wi ksze prawdopodobie«stwo. W Rattle, prawdopodobie«stwa a priori s wyra»one jako lista numerów, które sumuj si do 1. Lista musi by tej samej dªugo±ci, co liczba unikatowych klas w szkoleniowym zestawie danych. Przykªadem binarnego zaklasykowania jest np. 0.6,0.4. To przekªada si na prior = c (0.6,0.4). 227 / 260
228 Parametry drzewa Czasami proporcje klas w zbiorze treningowym nie odpowiadaj ich prawdziwym proporcjom w populacji. Mo»emy informowa Rattle i R o proporcji populacji, a otrzymany model b dzie im odpowiadaª. Wszystkie prawdopodobie«stwa b d zmodykowane, aby odpowiada rzeczywistym prawdopodobie«stwom klas, a nie proporcjom w szkoleniowym zestawie danych. Argument priors mo»e by równie» zastosowany do "podniesienia wagi" szczególnie wa»nej klasy nadaj c jej wi ksze prawdopodobie«stwo. W Rattle, prawdopodobie«stwa a priori s wyra»one jako lista numerów, które sumuj si do 1. Lista musi by tej samej dªugo±ci, co liczba unikatowych klas w szkoleniowym zestawie danych. Przykªadem binarnego zaklasykowania jest np. 0.6,0.4. To przekªada si na prior = c (0.6,0.4). 228 / 260
229 Parametry drzewa Czasami proporcje klas w zbiorze treningowym nie odpowiadaj ich prawdziwym proporcjom w populacji. Mo»emy informowa Rattle i R o proporcji populacji, a otrzymany model b dzie im odpowiadaª. Wszystkie prawdopodobie«stwa b d zmodykowane, aby odpowiada rzeczywistym prawdopodobie«stwom klas, a nie proporcjom w szkoleniowym zestawie danych. Argument priors mo»e by równie» zastosowany do "podniesienia wagi" szczególnie wa»nej klasy nadaj c jej wi ksze prawdopodobie«stwo. W Rattle, prawdopodobie«stwa a priori s wyra»one jako lista numerów, które sumuj si do 1. Lista musi by tej samej dªugo±ci, co liczba unikatowych klas w szkoleniowym zestawie danych. Przykªadem binarnego zaklasykowania jest np. 0.6,0.4. To przekªada si na prior = c (0.6,0.4). 229 / 260
230 Parametry drzewa Czasami proporcje klas w zbiorze treningowym nie odpowiadaj ich prawdziwym proporcjom w populacji. Mo»emy informowa Rattle i R o proporcji populacji, a otrzymany model b dzie im odpowiadaª. Wszystkie prawdopodobie«stwa b d zmodykowane, aby odpowiada rzeczywistym prawdopodobie«stwom klas, a nie proporcjom w szkoleniowym zestawie danych. Argument priors mo»e by równie» zastosowany do "podniesienia wagi" szczególnie wa»nej klasy nadaj c jej wi ksze prawdopodobie«stwo. W Rattle, prawdopodobie«stwa a priori s wyra»one jako lista numerów, które sumuj si do 1. Lista musi by tej samej dªugo±ci, co liczba unikatowych klas w szkoleniowym zestawie danych. Przykªadem binarnego zaklasykowania jest np. 0.6,0.4. To przekªada si na prior = c (0.6,0.4). 230 / 260
231 Parametry drzewa Poni»szy przykªad ilustruje, w jaki sposób mo»emy u»ywa tego argumentu do faworyzowania konkretnej klasy docelowej, która nie zostaªaby w inny sposób przewidywana przez model (poniewa» model okazuje si by tylko w zªem gªównym zawsze przewiduj cym No). Zaczynamy od utworzenia obiektu zbioru danych wausds, skªadaj cego si z wi kszego zestawu danych pogody, weatheraus wausds <- new.env() evalq({ data <- weatheraus nobs <- nrow(data) form <- formula(raintomorrow ~ RainToday) target <- all.vars(form)[1] set.seed(42) train <- sample(nobs, 0.5*nobs) }, wausds) 231 / 260
232 Parametry drzewa Nast pnie budujemy drzewo decyzyjne: wausrpart <- new.env(parent=wausds) evalq({ model <- rpart(formula=form, data=data[train,]) model }, wausrpart) Jest to rzeczywi±cie tylko jeden w zeª. Poni»sza tabela pokazuje proporcje obserwacji przypisane do poszczególnych klas: evalq({ freq <- table(data[train, target]) round(100*freq/length(train), 2) }, wausrpart) No Yes Funkcja table() zlicza cz stotliwo±ci dla warto±ci typu factor. 232 / 260
233 Parametry drzewa Teraz budujemy model z innymi warto±ciami prawdopodobie«stw: evalq({ model <- rpart(formula=form, data=data[train,], parm=list(prior=c(0.5, 0.5))) model }, wausrpart) Domy±lne warto±ci parametru prior s ustawione na proporcje klas w zbiorze treningowym. 233 / 260
234 Parametry drzewa Macierz strat (loss matrix) sªu»y do specycznego pomiaru ró»nego rodzaju bª dów (lub straty). Odnosi si to do tego, co jest znane jako false positives (faªszywe odpowiedzi pozytywne - lub bª dy typu I) i false negatives (faªszywe negatywy lub bª dy typu II), gdy mówimy o zadaniu dwuklasowym. Cz sto jeden rodzaj bª du jest bardziej znacz cy, ni» inny rodzaj bª du. Na przykªad dla oszustw (fraud detection), model, który identykuje zbyt wiele faªszywych alarmów jest lepszy ni» model, który identykuje zbyt wiele faªszywych negatywów (bo wtedy ominie zbyt wiele prawdziwych oszustów). W medycynie, false positive oznacza to,»e zdiagnozowali±my zdrowego pacjenta jako chorego, natomiast false negative oznacza,»e zdiagnozowali±my chorego pacjenta jako zdrowego. 234 / 260
235 Parametry drzewa Macierz strat (loss matrix) sªu»y do specycznego pomiaru ró»nego rodzaju bª dów (lub straty). Odnosi si to do tego, co jest znane jako false positives (faªszywe odpowiedzi pozytywne - lub bª dy typu I) i false negatives (faªszywe negatywy lub bª dy typu II), gdy mówimy o zadaniu dwuklasowym. Cz sto jeden rodzaj bª du jest bardziej znacz cy, ni» inny rodzaj bª du. Na przykªad dla oszustw (fraud detection), model, który identykuje zbyt wiele faªszywych alarmów jest lepszy ni» model, który identykuje zbyt wiele faªszywych negatywów (bo wtedy ominie zbyt wiele prawdziwych oszustów). W medycynie, false positive oznacza to,»e zdiagnozowali±my zdrowego pacjenta jako chorego, natomiast false negative oznacza,»e zdiagnozowali±my chorego pacjenta jako zdrowego. 235 / 260
236 Parametry drzewa Domy±lna strata dla ka»dego true/false positives/negatives wynosi 1 - wszystkie one maj równy wpªyw na zysk lub strat. W przypadku rzadkiej i niedostatecznie reprezentowanej klasy (jak oszustwa) mo»emy uzna,»e wynik false negatives jest cztery lub nawet dziesi razy gorszy ni» false positive. Zatem nale»y ukierunkowa dziaªanie algorytmu na odszukiwanie wszystkich przypadków pozytywnych (positive). Poni»sza tabela przedstawia terminologi (pokazuje przewidywania wzgl dem warto±ci rzeczywistych): observed predicted TN FP 1 FN TP 236 / 260
237 Parametry drzewa Domy±lna strata dla ka»dego true/false positives/negatives wynosi 1 - wszystkie one maj równy wpªyw na zysk lub strat. W przypadku rzadkiej i niedostatecznie reprezentowanej klasy (jak oszustwa) mo»emy uzna,»e wynik false negatives jest cztery lub nawet dziesi razy gorszy ni» false positive. Zatem nale»y ukierunkowa dziaªanie algorytmu na odszukiwanie wszystkich przypadków pozytywnych (positive). Poni»sza tabela przedstawia terminologi (pokazuje przewidywania wzgl dem warto±ci rzeczywistych): observed predicted TN FP 1 FN TP 237 / 260
238 Parametry drzewa Domy±lna strata dla ka»dego true/false positives/negatives wynosi 1 - wszystkie one maj równy wpªyw na zysk lub strat. W przypadku rzadkiej i niedostatecznie reprezentowanej klasy (jak oszustwa) mo»emy uzna,»e wynik false negatives jest cztery lub nawet dziesi razy gorszy ni» false positive. Zatem nale»y ukierunkowa dziaªanie algorytmu na odszukiwanie wszystkich przypadków pozytywnych (positive). Poni»sza tabela przedstawia terminologi (pokazuje przewidywania wzgl dem warto±ci rzeczywistych): observed predicted TN FP 1 FN TP 238 / 260
239 Parametry drzewa Domy±lna strata dla ka»dego true/false positives/negatives wynosi 1 - wszystkie one maj równy wpªyw na zysk lub strat. W przypadku rzadkiej i niedostatecznie reprezentowanej klasy (jak oszustwa) mo»emy uzna,»e wynik false negatives jest cztery lub nawet dziesi razy gorszy ni» false positive. Zatem nale»y ukierunkowa dziaªanie algorytmu na odszukiwanie wszystkich przypadków pozytywnych (positive). Poni»sza tabela przedstawia terminologi (pokazuje przewidywania wzgl dem warto±ci rzeczywistych): observed predicted TN FP 1 FN TP 239 / 260
240 Parametry drzewa Zauwa»my,»e nie okre±lamy»adnych wag w macierzy strat dla true positives (TP) i true negatives (TN), macierz ta musi mie zera na przek tnej i warto±ci dodatnie poza. Aby okre±li macierz w interfejsie Rattle, musimy dostarczy list w postaci: 0, FP, FN, 0 (bª d w Rattle). Ogólnie, macierz straty musi mie te same wymiary, co liczba klas (tj. liczba poziomów zmiennej celu) w szkoleniowym zestawie danych. Dla klasykacji binarnej musimy dostarczy cztery numery z zerami na przek tnej. Przykªadem jest ci g cyfr 0, 10, 1, 0, który mo»e by interpretowany nast puj co: warto± rzeczywista 0 przewidywana jako 1 (tj. false positives) jest dziesi razy bardziej niepo» dana ni» false negatives. Jest to wykorzystywane do budowy w rz dach macierzy strat, któr podajemy do rpart () jako parametr loss = matrix ( c ( 0,10,1,0 ), byrow = TRUE, nrow = 2 ). 240 / 260
241 Parametry drzewa Zauwa»my,»e nie okre±lamy»adnych wag w macierzy strat dla true positives (TP) i true negatives (TN), macierz ta musi mie zera na przek tnej i warto±ci dodatnie poza. Aby okre±li macierz w interfejsie Rattle, musimy dostarczy list w postaci: 0, FP, FN, 0 (bª d w Rattle). Ogólnie, macierz straty musi mie te same wymiary, co liczba klas (tj. liczba poziomów zmiennej celu) w szkoleniowym zestawie danych. Dla klasykacji binarnej musimy dostarczy cztery numery z zerami na przek tnej. Przykªadem jest ci g cyfr 0, 10, 1, 0, który mo»e by interpretowany nast puj co: warto± rzeczywista 0 przewidywana jako 1 (tj. false positives) jest dziesi razy bardziej niepo» dana ni» false negatives. Jest to wykorzystywane do budowy w rz dach macierzy strat, któr podajemy do rpart () jako parametr loss = matrix ( c ( 0,10,1,0 ), byrow = TRUE, nrow = 2 ). 241 / 260
242 Parametry drzewa Zauwa»my,»e nie okre±lamy»adnych wag w macierzy strat dla true positives (TP) i true negatives (TN), macierz ta musi mie zera na przek tnej i warto±ci dodatnie poza. Aby okre±li macierz w interfejsie Rattle, musimy dostarczy list w postaci: 0, FP, FN, 0 (bª d w Rattle). Ogólnie, macierz straty musi mie te same wymiary, co liczba klas (tj. liczba poziomów zmiennej celu) w szkoleniowym zestawie danych. Dla klasykacji binarnej musimy dostarczy cztery numery z zerami na przek tnej. Przykªadem jest ci g cyfr 0, 10, 1, 0, który mo»e by interpretowany nast puj co: warto± rzeczywista 0 przewidywana jako 1 (tj. false positives) jest dziesi razy bardziej niepo» dana ni» false negatives. Jest to wykorzystywane do budowy w rz dach macierzy strat, któr podajemy do rpart () jako parametr loss = matrix ( c ( 0,10,1,0 ), byrow = TRUE, nrow = 2 ). 242 / 260
243 Parametry drzewa Zauwa»my,»e nie okre±lamy»adnych wag w macierzy strat dla true positives (TP) i true negatives (TN), macierz ta musi mie zera na przek tnej i warto±ci dodatnie poza. Aby okre±li macierz w interfejsie Rattle, musimy dostarczy list w postaci: 0, FP, FN, 0 (bª d w Rattle). Ogólnie, macierz straty musi mie te same wymiary, co liczba klas (tj. liczba poziomów zmiennej celu) w szkoleniowym zestawie danych. Dla klasykacji binarnej musimy dostarczy cztery numery z zerami na przek tnej. Przykªadem jest ci g cyfr 0, 10, 1, 0, który mo»e by interpretowany nast puj co: warto± rzeczywista 0 przewidywana jako 1 (tj. false positives) jest dziesi razy bardziej niepo» dana ni» false negatives. Jest to wykorzystywane do budowy w rz dach macierzy strat, któr podajemy do rpart () jako parametr loss = matrix ( c ( 0,10,1,0 ), byrow = TRUE, nrow = 2 ). 243 / 260
244 Parametry drzewa Zauwa»my,»e nie okre±lamy»adnych wag w macierzy strat dla true positives (TP) i true negatives (TN), macierz ta musi mie zera na przek tnej i warto±ci dodatnie poza. Aby okre±li macierz w interfejsie Rattle, musimy dostarczy list w postaci: 0, FP, FN, 0 (bª d w Rattle). Ogólnie, macierz straty musi mie te same wymiary, co liczba klas (tj. liczba poziomów zmiennej celu) w szkoleniowym zestawie danych. Dla klasykacji binarnej musimy dostarczy cztery numery z zerami na przek tnej. Przykªadem jest ci g cyfr 0, 10, 1, 0, który mo»e by interpretowany nast puj co: warto± rzeczywista 0 przewidywana jako 1 (tj. false positives) jest dziesi razy bardziej niepo» dana ni» false negatives. Jest to wykorzystywane do budowy w rz dach macierzy strat, któr podajemy do rpart () jako parametr loss = matrix ( c ( 0,10,1,0 ), byrow = TRUE, nrow = 2 ). 244 / 260
245 Parametry drzewa Zauwa»my,»e nie okre±lamy»adnych wag w macierzy strat dla true positives (TP) i true negatives (TN), macierz ta musi mie zera na przek tnej i warto±ci dodatnie poza. Aby okre±li macierz w interfejsie Rattle, musimy dostarczy list w postaci: 0, FP, FN, 0 (bª d w Rattle). Ogólnie, macierz straty musi mie te same wymiary, co liczba klas (tj. liczba poziomów zmiennej celu) w szkoleniowym zestawie danych. Dla klasykacji binarnej musimy dostarczy cztery numery z zerami na przek tnej. Przykªadem jest ci g cyfr 0, 10, 1, 0, który mo»e by interpretowany nast puj co: warto± rzeczywista 0 przewidywana jako 1 (tj. false positives) jest dziesi razy bardziej niepo» dana ni» false negatives. Jest to wykorzystywane do budowy w rz dach macierzy strat, któr podajemy do rpart () jako parametr loss = matrix ( c ( 0,10,1,0 ), byrow = TRUE, nrow = 2 ). 245 / 260
246 Parametry drzewa Macierz straty b dzie miaªa wpªyw na wybór zmiennej, dla których mo»na podzieli zestaw danych w ka»dym w ¹le, daj c wi cej wagi w stosownych przypadkach. Korzystanie z macierzy strat jest cz sto wskazane, gdy budowa drzewa decyzyjnego ko«czy si tylko jednym w zªem gªównym (cz sto dlatego»e pozytywna klasa stanowi mniej ni» 5% populacji - i najbardziej dokªadny model b dzie przewidywa wszystko jako 0). 246 / 260
247 Parametry drzewa Macierz straty b dzie miaªa wpªyw na wybór zmiennej, dla których mo»na podzieli zestaw danych w ka»dym w ¹le, daj c wi cej wagi w stosownych przypadkach. Korzystanie z macierzy strat jest cz sto wskazane, gdy budowa drzewa decyzyjnego ko«czy si tylko jednym w zªem gªównym (cz sto dlatego»e pozytywna klasa stanowi mniej ni» 5% populacji - i najbardziej dokªadny model b dzie przewidywa wszystko jako 0). 247 / 260
248 Parametry drzewa Parametr maxdepth= sªu»y do ograniczenia wysoko±ci drzewa. Jego domy±lna warto± to 30. Korze«jest traktowany jako gª boko± 0. Funkcja rpart () udost pnia wiele innych parametrów, które nie s dost pne przez RattleGUI, np. maxcompete=. Cz sto przydatna mo»e by obserwacja nie tylko zmiennej, która daªa najlepszy podziaª na w ¹le, ale tak»e drugiej, trzeciej najlepszej. Ten parametr kontroluje liczb najlepszych podanych opcji. 248 / 260
249 Parametry drzewa Parametr maxdepth= sªu»y do ograniczenia wysoko±ci drzewa. Jego domy±lna warto± to 30. Korze«jest traktowany jako gª boko± 0. Funkcja rpart () udost pnia wiele innych parametrów, które nie s dost pne przez RattleGUI, np. maxcompete=. Cz sto przydatna mo»e by obserwacja nie tylko zmiennej, która daªa najlepszy podziaª na w ¹le, ale tak»e drugiej, trzeciej najlepszej. Ten parametr kontroluje liczb najlepszych podanych opcji. 249 / 260
250 Drzewa decyzyjne uwagi Drzewa decyzyjne s u»ywane od dawna. Dostarczaj one serii pyta«, gdzie nast pne pytanie zale»y od odpowiedzi na poprzednie. Tradycyjne algorytmy drzew decyzyjnych mog zawodzi z powodu przeuczenia oraz mog wykazywa odchylenie w kierunku wyboru zmiennych z wieloma mo»liwymi podziaªami (to znaczy zmiennymi typu kategorialnego). Hothorn et al. (2006) wprowadziª pewn popraw w podej±ciu prezentowanym tutaj do budowy drzewa decyzyjnego, zwan warunkow indukcj drzew (conditional inference trees). 250 / 260
251 Drzewa decyzyjne uwagi Drzewa decyzyjne s u»ywane od dawna. Dostarczaj one serii pyta«, gdzie nast pne pytanie zale»y od odpowiedzi na poprzednie. Tradycyjne algorytmy drzew decyzyjnych mog zawodzi z powodu przeuczenia oraz mog wykazywa odchylenie w kierunku wyboru zmiennych z wieloma mo»liwymi podziaªami (to znaczy zmiennymi typu kategorialnego). Hothorn et al. (2006) wprowadziª pewn popraw w podej±ciu prezentowanym tutaj do budowy drzewa decyzyjnego, zwan warunkow indukcj drzew (conditional inference trees). 251 / 260
252 Drzewa decyzyjne uwagi Drzewa decyzyjne s u»ywane od dawna. Dostarczaj one serii pyta«, gdzie nast pne pytanie zale»y od odpowiedzi na poprzednie. Tradycyjne algorytmy drzew decyzyjnych mog zawodzi z powodu przeuczenia oraz mog wykazywa odchylenie w kierunku wyboru zmiennych z wieloma mo»liwymi podziaªami (to znaczy zmiennymi typu kategorialnego). Hothorn et al. (2006) wprowadziª pewn popraw w podej±ciu prezentowanym tutaj do budowy drzewa decyzyjnego, zwan warunkow indukcj drzew (conditional inference trees). 252 / 260
253 Drzewa decyzyjne uwagi Drzewa decyzyjne s u»ywane od dawna. Dostarczaj one serii pyta«, gdzie nast pne pytanie zale»y od odpowiedzi na poprzednie. Tradycyjne algorytmy drzew decyzyjnych mog zawodzi z powodu przeuczenia oraz mog wykazywa odchylenie w kierunku wyboru zmiennych z wieloma mo»liwymi podziaªami (to znaczy zmiennymi typu kategorialnego). Hothorn et al. (2006) wprowadziª pewn popraw w podej±ciu prezentowanym tutaj do budowy drzewa decyzyjnego, zwan warunkow indukcj drzew (conditional inference trees). 253 / 260
254 Drzewa decyzyjne uwagi Rattle daje wybór tradycyjnych i warunkowych algorytmów. Warunkowo indukowane drzewa lepiej radz sobie z przeuczeniem. Drzewa tego typu tworzone s za pomoc funkcji ctree() z pakietu party (Hothorn et al., 2006 [?]). W Rattle mo»emy wybra opcj Conditional w zakªadce Model. W R mamy library(party) weatherctree <- new.env(parent=weatherds) evalq({ model <- ctree(formula=form, data=data[train, vars]) }, weatherctree) weatherctree$model plot(weatherctree$model) 254 / 260
255 Drzewa decyzyjne uwagi Rattle daje wybór tradycyjnych i warunkowych algorytmów. Warunkowo indukowane drzewa lepiej radz sobie z przeuczeniem. Drzewa tego typu tworzone s za pomoc funkcji ctree() z pakietu party (Hothorn et al., 2006 [?]). W Rattle mo»emy wybra opcj Conditional w zakªadce Model. W R mamy library(party) weatherctree <- new.env(parent=weatherds) evalq({ model <- ctree(formula=form, data=data[train, vars]) }, weatherctree) weatherctree$model plot(weatherctree$model) 255 / 260
256 Drzewa decyzyjne uwagi Rattle daje wybór tradycyjnych i warunkowych algorytmów. Warunkowo indukowane drzewa lepiej radz sobie z przeuczeniem. Drzewa tego typu tworzone s za pomoc funkcji ctree() z pakietu party (Hothorn et al., 2006 [?]). W Rattle mo»emy wybra opcj Conditional w zakªadce Model. W R mamy library(party) weatherctree <- new.env(parent=weatherds) evalq({ model <- ctree(formula=form, data=data[train, vars]) }, weatherctree) weatherctree$model plot(weatherctree$model) 256 / 260
257 Drzewa decyzyjne uwagi Rattle daje wybór tradycyjnych i warunkowych algorytmów. Warunkowo indukowane drzewa lepiej radz sobie z przeuczeniem. Drzewa tego typu tworzone s za pomoc funkcji ctree() z pakietu party (Hothorn et al., 2006 [?]). W Rattle mo»emy wybra opcj Conditional w zakªadce Model. W R mamy library(party) weatherctree <- new.env(parent=weatherds) evalq({ model <- ctree(formula=form, data=data[train, vars]) }, weatherctree) weatherctree$model plot(weatherctree$model) 257 / 260
258 Drzewa decyzyjne uwagi Mo»emy zobaczy wynik, który jest w zmiennej model: Wykres warunkowego drzewa decyzyjnego Wykres jest raczej czytelny, np. w zeª 3 przewiduje z du»ym prawd. deszcz, a w zeª 6 opisuje warunki, dla których raczej nie pada jutro. 258 / 260
Metody dowodzenia twierdze«
Metody dowodzenia twierdze«1 Metoda indukcji matematycznej Je±li T (n) jest form zdaniow okre±lon w zbiorze liczb naturalnych, to prawdziwe jest zdanie (T (0) n N (T (n) T (n + 1))) n N T (n). 2 W przypadku
Systemy decyzyjne Wykªad 5: Drzewa decyzyjne
Nguyen Hung Son () W5: Drzewa decyzyjne 1 / 38 Systemy decyzyjne Wykªad 5: Drzewa decyzyjne Nguyen Hung Son Przykªad: klasyfikacja robotów Nguyen Hung Son () W5: Drzewa decyzyjne 2 / 38 Przykªad: drzewo
Metodydowodzenia twierdzeń
1 Metodydowodzenia twierdzeń Przez zdanie rozumiemy dowolne stwierdzenie, które jest albo prawdziwe, albo faªszywe (nie mo»e by ono jednocze±nie prawdziwe i faªszywe). Tradycyjnie b dziemy u»ywali maªych
Ekonometria - wykªad 8
Ekonometria - wykªad 8 3.1 Specykacja i werykacja modelu liniowego dobór zmiennych obja±niaj cych - cz ± 1 Barbara Jasiulis-Goªdyn 11.04.2014, 25.04.2014 2013/2014 Wprowadzenie Ideologia Y zmienna obja±niana
Metoda tablic semantycznych. 1 Metoda tablic semantycznych
1 Zarówno metoda tablic semantycznych, jak i rezolucji, to dosy sprawny algorytm do badania speªnialni±ci formuª, a wi c i tautologii. Chodzi w niej o wskazanie, je±li istnieje, modelu dla formuªy. Opiera
Algorytmy zwiazane z gramatykami bezkontekstowymi
Algorytmy zwiazane z gramatykami bezkontekstowymi Rozpoznawanie j zyków bezkontekstowych Problem rozpoznawania j zyka L polega na sprawdzaniu przynale»no±ci sªowa wej±ciowego x do L. Zakªadamy,»e j zyk
Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych.
Wykªad jest prowadzony w oparciu o podr cznik Analiza matematyczna 2. Denicje, twierdzenia, wzory M. Gewerta i Z. Skoczylasa. Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych. Denicja Mówimy,»e funkcja
WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14
WST P DO TEORII INFORMACJI I KODOWANIA Grzegorz Szkibiel Wiosna 2013/14 Spis tre±ci 1 Kodowanie i dekodowanie 4 1.1 Kodowanie a szyfrowanie..................... 4 1.2 Podstawowe poj cia........................
Podstawy modelowania w j zyku UML
Podstawy modelowania w j zyku UML dr hab. Bo»ena Wo¹na-Szcze±niak Akademia im. Jan Dªugosza bwozna@gmail.com Wykªad 8 Diagram pakietów I Diagram pakietów (ang. package diagram) jest diagramem strukturalnym,
Elementy Modelowania Matematycznego Wykªad 1 Prawdopodobie«stwo
Spis tre±ci Elementy Modelowania Matematycznego Wykªad 1 Prawdopodobie«stwo Romuald Kotowski Katedra Informatyki Stosowanej PJWSTK 2009 Spis tre±ci Spis tre±ci 1 2 3 4 5 Spis tre±ci Spis tre±ci 1 2 3 4
x y x y x y x + y x y
Algebra logiki 1 W zbiorze {0, 1} okre±lamy dziaªania dwuargumentowe,, +, oraz dziaªanie jednoargumentowe ( ). Dziaªanie x + y nazywamy dodawaniem modulo 2, a dziaªanie x y nazywamy kresk Sheera. x x 0
i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski 5 kwietnia 2017
i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski Uniwersytet Šódzki, Wydziaª Matematyki i Informatyki UŠ piotr@fulmanski.pl http://fulmanski.pl/zajecia/prezentacje/festiwalnauki2017/festiwal_wmii_2017_
JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1
J zyki formalne i operacje na j zykach J zyki formalne s abstrakcyjnie zbiorami sªów nad alfabetem sko«czonym Σ. J zyk formalny L to opis pewnego problemu decyzyjnego: sªowa to kody instancji (wej±cia)
Lab. 02: Algorytm Schrage
Lab. 02: Algorytm Schrage Andrzej Gnatowski 5 kwietnia 2015 1 Opis zadania Celem zadania laboratoryjnego jest zapoznanie si z jednym z przybli»onych algorytmów sªu» cych do szukania rozwi za«znanego z
Ekonometria Bayesowska
Ekonometria Bayesowska Wykªad 6: Bayesowskie ª czenie wiedzy (6) Ekonometria Bayesowska 1 / 21 Plan wykªadu 1 Wprowadzenie 2 Oczekiwana wielko± modelu 3 Losowanie próby modeli 4 wiczenia w R (6) Ekonometria
5. (8 punktów) EGZAMIN MAGISTERSKI, r Matematyka w ekonomii i ubezpieczeniach
Matematyka w ekonomii i ubezpieczeniach ( Niezale»ne szkody maja rozkªady P (X i = k) = exp( 1)/k!, P (Y i = k) = 4+k ) k (1/3) 5 (/3) k, k = 0, 1,.... Niech S = X 1 +... + X 500 + Y 1 +... + Y 500. Skªadka
ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Ukªady równa«liniowych
dr Krzysztof yjewski Mechatronika; S-I 0 in» 7 listopada 206 Ukªady równa«liniowych Informacje pomocnicze Denicja Ogólna posta ukªadu m równa«liniowych z n niewiadomymi x, x, x n, gdzie m, n N jest nast
CAŠKOWANIE METODAMI MONTE CARLO Janusz Adamowski
III. CAŠKOWAIE METODAMI MOTE CARLO Janusz Adamowski 1 1 azwa metody Podstawowym zastosowaniem w zyce metody Monte Carlo (MC) jest opis zªo-»onych ukªadów zycznych o du»ej liczbie stopni swobody. Opis zªo»onych
Relacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X.
Relacje 1 Relacj n-argumentow nazywamy podzbiór ϱ X 1 X 2... X n. Je±li ϱ X Y jest relacj dwuargumentow (binarn ), to zamiast (x, y) ϱ piszemy xϱy. Relacj binarn okre±lon w zbiorze X nazywamy podzbiór
ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15
ANALIZA NUMERYCZNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Metoda Eulera 3 1.1 zagadnienia brzegowe....................... 3 1.2 Zastosowanie ró»niczki...................... 4 1.3 Output do pliku
Rekurencyjne struktury danych
Andrzej Jastrz bski Akademia ETI Dynamiczny przydziaª pami ci Pami, która jest przydzielana na pocz tku dziaªania procesu to: pami programu czyli instrukcje programu pami statyczna zwi zana ze zmiennymi
Matematyka dyskretna dla informatyków
UNIWERSYTET IM. ADAMA MICKIEWICZA W POZNANIU Jerzy Jaworski, Zbigniew Palka, Jerzy Szyma«ski Matematyka dyskretna dla informatyków uzupeænienia Pozna«007 A Notacja asymptotyczna Badaj c du»e obiekty kombinatoryczne
1 Bª dy i arytmetyka zmiennopozycyjna
1 Bª dy i arytmetyka zmiennopozycyjna Liczby w pami ci komputera przedstawiamy w ukªadzie dwójkowym w postaci zmiennopozycyjnej Oznacza to,»e s one postaci ±m c, 01 m < 1, c min c c max, (1) gdzie m nazywamy
1 Klasy. 1.1 Denicja klasy. 1.2 Skªadniki klasy.
1 Klasy. Klasa to inaczej mówi c typ który podobnie jak struktura skªada si z ró»nych typów danych. Tworz c klas programista tworzy nowy typ danych, który mo»e by modelem rzeczywistego obiektu. 1.1 Denicja
Podstawy matematyki dla informatyków
Podstawy matematyki dla informatyków Wykªad 6 10 listopada 2011 W poprzednim odcinku... Zbiory A i B s równoliczne (tej samej mocy ), gdy istnieje bijekcja f : A 1 1 B. Piszemy A B lub A = B. na Moc zbioru
Liczenie podziaªów liczby: algorytm Eulera
Liczenie podziaªów liczby: algorytm Eulera Wojciech Rytter Podziaªy liczb s bardzo skomplikowanymi obiektami kombinatorycznymi, przedstawimy dwa algorytmy liczenia takich oblektów. Pierwszy prosty algorytm
1 Metody iteracyjne rozwi zywania równania f(x)=0
1 Metody iteracyjne rozwi zywania równania f()=0 1.1 Metoda bisekcji Zaªó»my,»e funkcja f jest ci gªa w [a 0, b 0 ]. Pierwiastek jest w przedziale [a 0, b 0 ] gdy f(a 0 )f(b 0 ) < 0. (1) Ustalmy f(a 0
WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14
WST P DO TEORII INFORMACJI I KODOWANIA Grzegorz Szkibiel Wiosna 203/4 Spis tre±ci Kodowanie i dekodowanie 4. Kodowanie a szyfrowanie..................... 4.2 Podstawowe poj cia........................
2 Liczby rzeczywiste - cz. 2
2 Liczby rzeczywiste - cz. 2 W tej lekcji omówimy pozostaªe tematy zwi zane z liczbami rzeczywistymi. 2. Przedziaªy liczbowe Wyró»niamy nast puj ce rodzaje przedziaªów liczbowych: (a) przedziaªy ograniczone:
A = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy.
Logika i teoria mnogo±ci, konspekt wykªad 12 Teoria mocy, cz ± II Def. 12.1 Ka»demu zbiorowi X przyporz dkowujemy oznaczany symbolem X obiekt zwany liczb kardynaln (lub moc zbioru X) w taki sposób,»e ta
Elementarna statystyka
Elementarna statystyka Alexander Bendikov 26 marca 2017 Klasyczny model: eksperyment o jednakowo prawdopodobnych wynikach Zaªo»enia: 1 Przestrze«próbek S ma sko«czenie wiele wyników ω 1, ω 2,..., ω n,
Wykªad 6: Model logitowy
Wykªad 6: Model logitowy Ekonometria Stosowana SGH Model logitowy 1 / 18 Plan wicze«1 Modele zmiennej jako±ciowej idea 2 Model logitowy Specykacja i interpretacja parametrów Dopasowanie i restrykcje 3
ALGORYTMY SORTOWANIA DANYCH
ALGORYTMY SORTOWANIA DANYCH W zagadnieniu sortowania danych rozpatrywa b dziemy n liczb caªkowitych, b d cych pierwotnie w losowej kolejno±ci, które nale»y uporz dkowa nierosn co. Oczywi±cie sortowa mo»emy
Ciaªa i wielomiany. 1 Denicja ciaªa. Ciaªa i wielomiany 1
Ciaªa i wielomiany 1 Ciaªa i wielomiany 1 Denicja ciaªa Niech F b dzie zbiorem, i niech + (dodawanie) oraz (mno»enie) b d dziaªaniami na zbiorze F. Denicja. Zbiór F wraz z dziaªaniami + i nazywamy ciaªem,
Przekroje Dedekinda 1
Przekroje Dedekinda 1 O liczbach wymiernych (tj. zbiorze Q) wiemy,»e: 1. zbiór Q jest uporz dkowany relacj mniejszo±ci < ; 2. zbiór liczb wymiernych jest g sty, tzn.: p, q Q : p < q w : p < w < q 3. 2
Lekcja 9 - LICZBY LOSOWE, ZMIENNE
Lekcja 9 - LICZBY LOSOWE, ZMIENNE I STAŠE 1 Liczby losowe Czasami spotkamy si z tak sytuacj,»e b dziemy potrzebowa by program za nas wylosowaª jak ± liczb. U»yjemy do tego polecenia: - liczba losowa Sprawd¹my
Statystyka matematyczna - ZSTA LMO
Statystyka matematyczna - ZSTA LMO Šukasz Smaga Wydziaª Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza w Poznaniu Wykªad 4 Šukasz Smaga (WMI UAM) ZSTA LMO Wykªad 4 1 / 18 Wykªad 4 - zagadnienia
Wnioskowanie Boolowskie i teoria zbiorów przybli»onych
Wnioskowanie Boolowskie i teoria zbiorów przybli»onych 4 Zbiory przybli»one Wprowadzenie do teorii zbiorów przybli»onych Zªo»ono± problemu szukania reduktów 5 Wnioskowanie Boolowskie w obliczaniu reduktów
Indeksowane rodziny zbiorów
Logika i teoria mnogo±ci, konspekt wykªad 7 Indeksowane rodziny zbiorów Niech X b dzie przestrzeni zbiorem, którego podzbiorami b d wszystkie rozpatrywane zbiory, R rodzin wszystkich podzbiorów X za± T
Listy i operacje pytania
Listy i operacje pytania Iwona Polak iwona.polak@us.edu.pl Uniwersytet l ski Instytut Informatyki pa¹dziernika 07 Który atrybut NIE wyst puje jako atrybut elementów listy? klucz elementu (key) wska¹nik
Uczenie Wielowarstwowych Sieci Neuronów o
Plan uczenie neuronu o ci gªej funkcji aktywacji uczenie jednowarstwowej sieci neuronów o ci gªej funkcji aktywacji uczenie sieci wielowarstwowej - metoda propagacji wstecznej neuronu o ci gªej funkcji
Wst p do sieci neuronowych, wykªad 14 Zespolone sieci neuronowe
Wst p do sieci neuronowych, wykªad 14 Zespolone sieci neuronowe M. Czoków, J. Piersa Faculty of Mathematics and Computer Science, Nicolaus Copernicus University, Toru«, Poland 2011-18-02 Motywacja Liczby
O pewnym zadaniu olimpijskim
O pewnym zadaniu olimpijskim Michaª Seweryn, V LO w Krakowie opiekun pracy: dr Jacek Dymel Problem pocz tkowy Na drugim etapie LXII Olimpiady Matematycznej pojawiª si nast puj cy problem: Dla ka»dej liczby
ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Listy Inne przykªady Rozwi zywanie problemów. Listy w Mathematice. Marcin Karcz. Wydziaª Matematyki, Fizyki i Informatyki.
Wydziaª Matematyki, Fizyki i Informatyki 10 marca 2008 Spis tre±ci Listy 1 Listy 2 3 Co to jest lista? Listy List w Mathematice jest wyra»enie oddzielone przecinkami i zamkni te w { klamrach }. Elementy
Informatyka. z przedmiotu RACHUNEK PRAWDOPODOBIE STWA
Informatyka Zbiór przykªadowych prac kontrolnych oraz przykªadowych zada«egzaminacyjnych z przedmiotu RACHUNEK PRAWDOPODOBIE STWA Sprawdzian 1, M09-02 Zadanie 1 (1p) W rzucie dwiema kostkami obliczy prawdopodobie«stwo
Ekonometria. wiczenia 2 Werykacja modelu liniowego. Andrzej Torój. Instytut Ekonometrii Zakªad Ekonometrii Stosowanej
Ekonometria wiczenia 2 Werykacja modelu liniowego (2) Ekonometria 1 / 33 Plan wicze«1 Wprowadzenie 2 Ocena dopasowania R-kwadrat Skorygowany R-kwadrat i kryteria informacyjne 3 Ocena istotno±ci zmiennych
KLASYCZNE ZDANIA KATEGORYCZNE. ogólne - orzekaj co± o wszystkich desygnatach podmiotu szczegóªowe - orzekaj co± o niektórych desygnatach podmiotu
➏ Filozoa z elementami logiki Na podstawie wykªadów dra Mariusza Urba«skiego Sylogistyka Przypomnij sobie: stosunki mi dzy zakresami nazw KLASYCZNE ZDANIA KATEGORYCZNE Trzy znaczenia sªowa jest trzy rodzaje
Vincent Van GOGH: M»czyzna pij cy li»ank kawy. Radosªaw Klimek. J zyk programowania Java
J zyk programowania JAVA c 2011 Vincent Van GOGH: M»czyzna pij cy li»ank kawy Zadanie 6. Napisz program, który tworzy tablic 30 liczb wstawia do tej tablicy liczby od 0 do 29 sumuje te elementy tablicy,
Drzewa Gomory-Hu Wprowadzenie. Drzewa Gomory-Hu. Jakub Š cki. 14 pa¹dziernika 2009
Wprowadzenie Drzewa Gomory-Hu Jakub Š cki 14 pa¹dziernika 2009 Wprowadzenie 1 Wprowadzenie Podstawowe poj cia i fakty 2 Istnienie drzew Gomory-Hu 3 Algorytm budowy drzew 4 Problemy otwarte Wprowadzenie
X WARMI SKO-MAZURSKIE ZAWODY MATEMATYCZNE 18 maja 2012 (szkoªy ponadgimnazjalne)
X WARMI SKO-MAZURSKIE ZAWODY MATEMATYCZNE 18 maja 2012 (szkoªy ponadgimnazjalne) Zadanie 1 Obecnie u»ywane tablice rejestracyjne wydawane s od 1 maja 2000r. Numery rejestracyjne aut s tworzone ze zbioru
Ekonometria Bayesowska
Ekonometria Bayesowska Wykªad 9: Metody numeryczne: MCMC Andrzej Torój 1 / 17 Plan wykªadu Wprowadzenie 1 Wprowadzenie 3 / 17 Plan prezentacji Wprowadzenie 1 Wprowadzenie 3 3 / 17 Zastosowanie metod numerycznych
ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Podstawy statystycznego modelowania danych Analiza prze»ycia
Podstawy statystycznego modelowania danych Analiza prze»ycia Tomasz Suchocki Uniwersytet Przyrodniczy we Wrocªawiu Katedra Genetyki i Ogólnej Hodowli Zwierz t Plan wykªadu 1. Wprowadzenie 2. Hazard rate
XVII Warmi«sko-Mazurskie Zawody Matematyczne
1 XVII Warmi«sko-Mazurskie Zawody Matematyczne Kategoria: klasa VIII szkoªy podstawowej i III gimnazjum Olsztyn, 16 maja 2019r. Zad. 1. Udowodnij,»e dla dowolnych liczb rzeczywistych x, y, z speªniaj cych
ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
CCNA Subnetting Guide
CCNA Subnetting Guide Kataßzyna Mazur January 17, 2015 Contents Classful Networks (Sieci Klasowe) 2 Opis klas adresów 3 Subnetting Based on Network Requirements (Dzielenie sieci ze wzgl du na wymagan ilo±
Zbiory i odwzorowania
Zbiory i odwzorowania 1 Sposoby okre±lania zbiorów 1) Zbiór wszystkich elementów postaci f(t), gdzie t przebiega zbiór T : {f(t); t T }. 2) Zbiór wszystkich elementów x zbioru X speªniaj cych warunek ϕ(x):
Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA. W obu podpunktach zakªadamy,»e kolejno± ta«ców jest wa»na.
Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA Zadanko 1 (12p.) Na imprezie w Noc Kupaªy s 44 dziewczyny. Nosz one 11 ró»nych imion, a dla ka»dego imienia s dokªadnie 4 dziewczyny o tym imieniu przy czym ka»da
Ekonometria. wiczenia 8 Modele zmiennej jako±ciowej. Andrzej Torój. Instytut Ekonometrii Zakªad Ekonometrii Stosowanej
Ekonometria wiczenia 8 Modele zmiennej jako±ciowej (8) Ekonometria 1 / 25 Plan wicze«1 Modele zmiennej jako±ciowej 2 Model logitowy Specykacja i interpretacja parametrów Dopasowanie i restrykcje 3 Predykcja
Wykªad 4. Funkcje wielu zmiennych.
Wykªad jest prowadzony w oparciu o podr cznik Analiza matematyczna 2. Denicje, twierdzenia, wzory M. Gewerta i Z. Skoczylasa. Wykªad 4. Funkcje wielu zmiennych. Zbiory na pªaszczy¹nie i w przestrzeni.
In»ynierskie zastosowania statystyki wiczenia
Uwagi: 27012014 poprawiono kilka literówek, zwi zanych z przedziaªami ufno±ci dla wariancji i odchylenia standardowego In»ynierskie zastosowania statystyki wiczenia Przedziaªy wiarygodno±ci, testowanie
Jednowarstwowe Sieci Neuronowe jako. klasykatory do wielu klas. (c) Marcin Sydow
Plan dyskretny perceptron i jego ograniczenia inne funkcje aktywacji wielo-klasykacja przy pomocy jedno-warstwowe sieci neuronowej ograniczenia jedno-warstwowej sieci neuronowej miary ewaluacyjne dla klasykacji
1. Wprowadzenie do C/C++
Podstawy Programowania - Roman Grundkiewicz - 013Z Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub
Wyra»enia logicznie równowa»ne
Wyra»enia logicznie równowa»ne Denicja. Wyra»enia rachunku zda«nazywamy logicznie równowa»nymi, gdy maj równe warto±ci logiczne dla dowolnych warto±ci logicznych zmiennych zdaniowych. 1 Przykªady: Wyra»enia
Zadania z kolokwiów ze Wst pu do Informatyki. Semestr II.
Zadania z kolokwiów ze Wst pu do Informatyki. Semestr II. Poni»sze zadania s wyborem zada«z kolokwiów ze Wst pu do Informatyki jakie przeprowadziªem w ci gu ostatnich lat. Marek Zawadowski Zadanie 1 Napisz
Janusz Adamowski METODY OBLICZENIOWE FIZYKI Zastosowanie eliptycznych równa«ró»niczkowych
Janusz Adamowski METODY OBLICZENIOWE FIZYKI 1 Rozdziaª 9 RÓWNANIA ELIPTYCZNE 9.1 Zastosowanie eliptycznych równa«ró»niczkowych cz stkowych 9.1.1 Problemy z warunkami brzegowymi W przestrzeni dwuwymiarowej
Równania ró»niczkowe I rz du (RRIR) Twierdzenie Picarda. Anna D browska. WFTiMS. 23 marca 2010
WFTiMS 23 marca 2010 Spis tre±ci 1 Denicja 1 (równanie ró»niczkowe pierwszego rz du) Równanie y = f (t, y) (1) nazywamy równaniem ró»niczkowym zwyczajnym pierwszego rz du w postaci normalnej. Uwaga 1 Ogólna
Materiaªy do Repetytorium z matematyki
Materiaªy do Repetytorium z matematyki 0/0 Dziaªania na liczbach wymiernych i niewymiernych wiczenie Obliczy + 4 + 4 5. ( + ) ( 4 + 4 5). ( : ) ( : 4) 4 5 6. 7. { [ 7 4 ( 0 7) ] ( } : 5) : 0 75 ( 8) (
Rozkªady i warto± oczekiwana
Rozkªady i warto± oczekiwana Piotr Wilkin Zmienne losowe i rozkªady. Wst p Zmienn losow nazywamy zmienn X przyjmuj c dowolne warto±ci z pewnego zbioru D, która speªnia wªasno± y D P (X = y) = (innymi sªowy
3. (8 punktów) EGZAMIN MAGISTERSKI, Biomatematyka
EGZAMIN MAGISTERSKI, 26.06.2017 Biomatematyka 1. (8 punktów) Rozwój wielko±ci pewnej populacji jest opisany równaniem: dn dt = rn(t) (1 + an(t), b gdzie N(t) jest wielko±ci populacji w chwili t, natomiast
W poprzednim odcinku... Podstawy matematyki dla informatyków. Relacje równowa»no±ci. Zbiór (typ) ilorazowy. Klasy abstrakcji
W poprzednim odcinku... Podstawy matematyki dla informatyków Rodzina indeksowana {A t } t T podzbiorów D to taka funkcja A : T P(D),»e A(t) = A t, dla dowolnego t T. Wykªad 3 20 pa¹dziernika 2011 Produkt
Wst p do sieci neuronowych 2010/2011 wykªad 7 Algorytm propagacji wstecznej cd.
Wst p do sieci neuronowych 2010/2011 wykªad 7 Algorytm propagacji wstecznej cd. M. Czoków, J. Piersa Faculty of Mathematics and Computer Science, Nicolaus Copernicus University, Toru«, Poland 2010-11-23
Funkcja kwadratowa, wielomiany oraz funkcje wymierne
Funkcja kwadratowa, wielomiany oraz funkcje wymierne Šukasz Dawidowski Nocne powtórki maturalne 28 kwietnia 2014 r. Troch teorii Funkcj f : R R dan wzorem: f (x) = ax 2 + bx + c gdzie a 0 nazywamy funkcj
PRZYPOMNIENIE Ka»d przestrze«wektorow V, o wymiarze dim V = n < nad ciaªem F mo»na jednoznacznie odwzorowa na przestrze«f n n-ek uporz dkowanych:
Plan Spis tre±ci 1 Homomorzm 1 1.1 Macierz homomorzmu....................... 2 1.2 Dziaªania............................... 3 2 Ukªady równa«6 3 Zadania 8 1 Homomorzm PRZYPOMNIENIE Ka»d przestrze«wektorow
P tle. Rozdziaª Wst p. 4.2 P tle P tla for(...);
Rozdziaª 4 P tle 4.1 Wst p Niniejszy rozdziaª zawiera opis p tli w j zyku C, wraz z przykªadowymi programami oraz ich obja±nieniem. 4.2 P tle P tla to element j zyka programowania, pozwalaj cy na wielokrotne,
STRUKTURY DANYCH. dane wej±ciowe problemu, ewentualne dane po±rednie, dane wynikowe (czyli rozwi zanie problemu).
STRUKTURY DANYCH Jak ju» zostaªo wspomniane, do rozwi zania ró»nego rodzaju problemów sªu» odpowiednie algorytmy (które implementujemy przy pomocy ró»nego rodzaju j zyków programowania wy»szego rz du).
Lekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz
Lekcja 8 - ANIMACJA 1 Polecenia Za pomoc Baltiego mo»emy tworzy animacj, tzn. sprawia by obraz na ekranie wygl daª jakby si poruszaª. Do animowania przedmiotów i tworzenia animacji posªu» nam polecenia
Informacje pomocnicze
Funkcje wymierne. Równania i nierówno±ci wymierne Denicja. (uªamki proste) Wyra»enia postaci Informacje pomocnicze A gdzie A d e R n N (dx e) n nazywamy uªamkami prostymi pierwszego rodzaju. Wyra»enia
Ekonometria. wiczenia 1 Regresja liniowa i MNK. Andrzej Torój. Instytut Ekonometrii Zakªad Ekonometrii Stosowanej
Ekonometria wiczenia 1 Regresja liniowa i MNK (1) Ekonometria 1 / 25 Plan wicze«1 Ekonometria czyli...? 2 Obja±niamy ceny wina 3 Zadania z podr cznika (1) Ekonometria 2 / 25 Plan prezentacji 1 Ekonometria
Biostatystyka, # 5 /Weterynaria I/
Biostatystyka, # 5 /Weterynaria I/ dr n. mat. Zdzisªaw Otachel Uniwersytet Przyrodniczy w Lublinie Katedra Zastosowa«Matematyki i Informatyki ul. Gª boka 28, bud. CIW, p. 221 e-mail: zdzislaw.otachel@up.lublin.pl
Bash i algorytmy. Elwira Wachowicz. 20 lutego
Bash i algorytmy Elwira Wachowicz elwira@ifd.uni.wroc.pl 20 lutego 2012 Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Bash i algorytmy 20 lutego 2012 1 / 16 Inne przydatne polecenia Polecenie Dziaªanie Przykªad
Elementy geometrii analitycznej w przestrzeni
Wykªad 3 Elementy geometrii analitycznej w przestrzeni W wykªadzie tym wi kszy nacisk zostaª poªo»ony raczej na intuicyjne rozumienie deniowanych poj, ni» ±cisªe ich zdeniowanie. Dlatego niniejszy wykªad
Dynamiczne wªasno±ci algorytmu propagacji przekona«
BP propagacji przekona«4. Interdyscyplinarne Warsztaty Matematyczne Wydziaª Fizyki Politechnika Warszawska B dlewo, 26 maja, 2013 BP 1 2 3 4 5 6 BP Rysunek: Zbiór zmiennych losowych. BP Rysunek: Zbiór
Wst p do informatyki. Systemy liczbowe. Piotr Fulma«ski. 21 pa¹dziernika 2010. Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska
Wst p do informatyki Systemy liczbowe Piotr Fulma«ski Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska 21 pa¹dziernika 2010 Spis tre±ci 1 Liczby i ich systemy 2 Rodzaje systemów liczbowych
Uczenie Maszynowe: reprezentacja wiedzy, wybór i ocena modelu, drzewa decyzjne
Uczenie Maszynowe: reprezentacja, wybór i ocena modelu, drzewa decyzjne Plan reprezentacja reguªy decyzyjne drzewa decyzyjne i algorytm ID3 zªo»ono± modelu wybór i ocena modelu przetrenowanie i sposoby
Hotel Hilberta. Zdumiewaj cy ±wiat niesko«czono±ci. Marcin Kysiak. Festiwal Nauki, 20.09.2011. Instytut Matematyki Uniwersytetu Warszawskiego
Zdumiewaj cy ±wiat niesko«czono±ci Instytut Matematyki Uniwersytetu Warszawskiego Festiwal Nauki, 20.09.2011 Nasze do±wiadczenia hotelowe Fakt oczywisty Hotel nie przyjmie nowych go±ci, je»eli wszystkie
DREAM5 Challenges. Metody i rezultaty. Praktyki wakacyjne 2010 sesja sprawozdawcza
DREAM5 Challenges Metody i rezultaty Julia Herman-I»ycka Jacek Jendrej Praktyki wakacyjne 2010 sesja sprawozdawcza Plan prezentacji 1 Czym jest uczenie maszynowe 2 Motywacja i sformuªowanie problemów 3
1 Poj cia pomocnicze. Przykªad 1. A A d
Poj cia pomocnicze Otoczeniem punktu x nazywamy dowolny zbiór otwarty zawieraj cy punkt x. Najcz ±ciej rozwa»amy otoczenia kuliste, tj. kule o danym promieniu ε i ±rodku x. S siedztwem punktu x nazywamy
Teoria grafów i jej zastosowania. 1 / 126
Teoria grafów i jej zastosowania. 1 / 126 Mosty królewieckie W Królewcu, na rzece Pregole znajduj si dwie wyspy poª czone ze sob, a tak»e z brzegami za pomoc siedmiu mostów, tak jak pokazuje rysunek 2
1. Wprowadzenie do C/C++
Podstawy Programowania :: Roman Grundkiewicz :: 014 Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub
Algorytmy grafowe 2. Andrzej Jastrz bski. Akademia ETI. Politechnika Gda«ska Algorytmy grafowe 2
Algorytmy grafowe 2 Andrzej Jastrz bski Akademia ETI Minimalne drzewo spinaj ce Drzewem nazywamy spójny graf nie posiadaj cy cyklu. Liczba wierzchoªków drzewa jest o jeden wi ksza od liczby jego kraw dzi.
MODEL HAHNFELDTA I IN. ANGIOGENEZY NOWOTWOROWEJ Z UWZGL DNIENIEM LEKOOPORNO CI KOMÓREK NOWOTWOROWYCH
MODEL HAHNFELDTA I IN. ANGIOGENEZY NOWOTWOROWEJ Z UWZGL DNIENIEM LEKOOPORNO CI KOMÓREK NOWOTWOROWYCH Urszula Fory± Zakªad Biomatematyki i Teorii Gier, Instytut Matematyki Stosowanej i Mechaniki, Wydziaª
Teoria grafów i sieci 1 / 58
Teoria grafów i sieci 1 / 58 Literatura 1 B.Korte, J.Vygen, Combinatorial optimization 2 D.Jungnickel, Graphs, Networks and Algorithms 3 M.Sysªo, N.Deo Metody optymalizacji dyskretnej z przykªadami w Turbo
Elementarna statystyka Dwie próby: porównanie dwóch proporcji (Two-sample problem: comparing two proportions)
Elementarna statystyka Dwie próby: porównanie dwóch proporcji (Two-sample problem: comparing two proportions) Alexander Bendikov Uniwersytet Wrocªawski 25 maja 2016 Elementarna statystyka Dwie próby: porównanie
Lekcja 9 Liczby losowe, zmienne, staªe
Lekcja 9 Liczby losowe, zmienne, staªe Akademia im. Jana Dªugosza w Cz stochowie Liczby losowe Czasami potrzebujemy by program za nas wylosowaª liczb. U»yjemy do tego polecenia liczba losowa: Liczby losowe
Elementarna statystyka Wnioskowanie o regresji (Inference 2 czerwca for regression) / 13
Elementarna statystyka Wnioskowanie o regresji (Inference for regression) Alexander Bendikov Uniwersytet Wrocªawski 2 czerwca 2016 Elementarna statystyka Wnioskowanie o regresji (Inference 2 czerwca for
Wska¹niki, tablice dynamiczne wielowymiarowe
Rozdziaª 11 Wska¹niki, tablice dynamiczne wielowymiarowe 11.1 Wst p Identycznie, jak w przypadku tablic statycznych, tablica dynamiczna mo»e by tablic jedno-, dwu-, trójitd. wymiarow. Tablica dynamiczna