Indukowane Reguły Decyzyjne I Wykład 8
IRD Wykład 8 Plan Powtórka Krzywa ROC = Receiver Operating Characteristic Wybór modelu Statystyka AUC ROC = pole pod krzywą ROC Wybór punktu odcięcia Reguły decyzyjne Istotność zmiennych 2
W trakcie budowy drzewa Braki danych Pomijamy obserwacje przy budowie i ocenie testów Tworzymy odrębny wynik testu NULL Wypełniamy brak danych Wartością kodującą Stałą wartością (mediana, średnia, moda itp.) Według rozkładu Przypisujemy obserwacje do wszystkich węzłów potomnych z odpowiednimi wagami 3
Przykład mammografia 4
Przykład mammografia 5
Braki danych Przy klasyfikacji nowych obserwacji gdy nie ma odrębnej wartości "null" Przypisujemy obserwację do wszystkich węzłów potomnych z wagami równymi proporcjom węzłów Odczytujemy rozkłady we wszystkich liściach, do których trafiają obserwacje z wagami Wyznaczamy średnią ważoną odczytanych rozkładów 6
Liczba kategorii 2 kategorie >2 kategorii Ocena jakości klasyfikatora - Klasa pozytywna (np. d=1, TAK itd.) - Klasa negatywna (np. d=0, NIE itd.) - Odrębne klasy tylko macierz błędów - Klasa pozytywna 1 wybrana kategoria, której rozpoznawalność jest szczególnie istotna - Klasa negatywna pozostałe kategorie 7
Macierz błędów Real Predicted Klasa 1 Klasa 2 Klasa k Klasa 1 n 11 n 12 n 1k Klasa 2 n 21 n 22 n 2k Klasa k N k1 n k2 n kk Idealny klasyfikator to taki, dla którego n ij =0 jeżeli i j 8
Podstawowe statystyki TP True Positive Liczba obserwacji poprawnie zaklasyfikowanych do klasy pozytywnej FP False Positive Liczba obserwacji błędnie zaklasyfikowanych do klasy pozytywnej TN True Negative Liczba obserwacji poprawnie zaklasyfikowanych do klasy negatywnej FN False Negative Liczba obserwacji błędnie zaklasyfikowanych do klasy negatywnej 9
Statystyki pochodne SE Sensitivity (czułość) = TPR True Positive Rate SE= TP TP+FN zdolność klasyfikatora do prawidłowego określania klasy pozytywnej Predicted Real 1 0 1 TP FN 0 FP TN 10
Statystyki pochodne SP Specificity (specyficzność) = TNR True Negative Rate SP= TN TN+FP zdolność klasyfikatora do prawidłowego określania klasy negatywnej Predicted Real 1 0 1 TP FN 0 FP TN 11
Statystyki pochodne cd. FPR False Positive Rate FPR= FP FP+TN =1 SP częstość błędnej klasyfikacji do klasy pozytywnej Predicted Real 1 0 1 TP FN 0 FP TN 12
Statystyki pochodne cd. FNR False Negative Rate FNR= FN FN+TP =1 SE częstość błędnej klasyfikacji do klasy negatywnej Predicted Real 1 0 1 TP FN 0 FP TN 13
Statystyki pochodne cd. ACC Accuracy, sprawność klasyfikatora ACC= TP+TN TP+TN+FP+FN prawdopodobieństwo poprawnej klasyfikacji Predicted Real 1 0 1 TP FN 0 FP TN 14
Macierz błędów 3 klasy: Predicted Real Klasa 1 Klasa 2 Klasa 3 Klasa 1 n 11 n 12 n 13 Klasa 2 n 21 n 22 n 23 Klasa 3 n 31 n 32 n 33 2 klasy: Real Predicted Klasa 1 Klasa 2 Klasa 1 n 11 n 12 Klasa 2 n 21 n 22 Predicted Real Klasa 1 Klasa 2 Klasa 1 TP FN Klasa 2 FP TN 15
Macierze kosztów i zysków Macierz kosztów Real Predicted Klasa 1 Klasa 2 Klasa 1 0-15 Klasa 2-5 0 Macierz zysków i strat Real Predicted Klasa 1 Klasa 2 Klasa 1 10-15 Klasa 2-5 0 16
Macierze kosztów i zysków Liczymy koszty błędnej klasyfikacji Predicted Real Klasa 1 Klasa 2 Klasa 1 0-15 Klasa 2-5 0 * Predicted Real Klasa 1 Klasa 2 Klasa 1 24 8 Klasa 2 6 96 Predicted Real Klasa 1 Klasa 2 Klasa 1 0-120 Klasa 2-30 0 Koszt = -150 17
Macierze kosztów i zysków Liczymy zyski i straty z klasyfikacji Predicted Real Klasa 1 Klasa 2 Klasa 1 10-15 Klasa 2-5 0 * Predicted Real Klasa 1 Klasa 2 Klasa 1 24 8 Klasa 2 6 96 Predicted Real Klasa 1 Klasa 2 Klasa 1 240-120 Klasa 2-30 0 Zysk = 90 18
Etykietowanie (+ - - +) Próg odcięcia: Liść dostaje etykietę "+", jeżeli udział obserwacji z tą etykietą przekracza próg odcięcia α 0.8 < α 0.75 < α 0.8 0.4 < α 0.75 0.17 < α 0.4 α 0.17 0.8 0.4 0.17 0.75 - - - - + - - - + + - + + + + + 19
Krzywa ROC SE 1 0 1 1-SP Porządkujemy liście według odsetka trafień Każdy liść jest reprezentowany przez odcinek łącząc je otrzymujemy krzywą ROC. 20
IRD Wykład 8 Plan Powtórka Krzywa ROC = Receiver Operating Characteristic Wybór modelu Statystyka AUC ROC = pole pod krzywą ROC Wybór punktu odcięcia Reguły decyzyjne Istotność zmiennych 21
Etykiety i krzywa ROC Przykład: 100 obserwacji, dwie klasy: 0 (60), 1(40) Real Predicted, α=0.9 1 0 1 0 40 0 0 60 Real Predicted, α=0.75 1 0 1 32 8 0 20 40 Real Predicted, α=0.5 1 0 1 36 4 0 40 20 Real Predicted, α=0.1 1 0 1 40 0 0 60 0 22
Krzywa ROC Real Predicted, α=0.75 1 0 SE 1 α = 0.75 α = 0.5 α = 0.1 Real Predicted, α=0 1 0 1 40 0 0 60 0 1 32 8 0 20 40 0.5 Real Predicted, α=0.5 1 0 1 36 4 Real Predicted, α=1 1 0 0 40 20 1 0 40 0 0 60 α = 0.9 0.5 1 1-SP 23
24 Przykład choroba serca
Krzywa ROC przykład 90,8% 9,9% 79,2% 19,4% 85,7% 58,3% 25 11,8%
90,8% 9,9% 79,2% 19,4% 85,7% 58,3% 11,8% α 0 26
Macierze błędów α < 0.099 actual /predicted 1 2 1 0 150 α < 0.118 2 0 121 actual /predicted 1 2 1 91 59 2 10 111 SE= 121 121 =1 1 SP=1 0 150 =1 SE= 111 121 =0.92 1 SP=1 91 150 =0.39 27
Macierze błędów α < 0.194 actual /predicted 1 2 1 106 44 α < 0.583 2 12 109 actual /predicted 1 2 1 131 19 2 18 103 SE= 109 121 =0.9 1 SP=1 106 150 =0.29 SE= 103 121 =0.85 1 SP=1 131 150 =0.13 28
Macierze błędów α < 0.792 actual /predicted 1 2 1 136 14 2 25 96 SE= 96 121 =0.79 1 SP=1 136 150 =0.09 α < 0.857 actual /predicted 1 2 1 141 9 2 44 77 SE= 77 121 =0.64 1 SP=1 141 150 =0.06 29
Macierze błędów α < 0.908 actual /predicted 1 2 1 144 6 2 62 59 α 0.908 actual /predicted 1 2 1 150 0 2 121 0 SE= 59 121 =0.49 1 SP=1 144 150 =0.04 SE= 0 121 =0 1 SP=1 150 150 =0 30
Konstrukcja krzywej ROC α < SE 1-SP 0.099 1 1 0.118 0.92 0.39 0.194 0.90 0.29 0.583 0.85 0.13 0.792 0.79 0.09 0.857 0.64 0.06 0.908 0.48 0.04 1 0 0 ROCA = 0,89 31
Plan Powtórka Krzywa ROC IRD Wykład 8 Wybór modelu Statystyka AUC ROC = pole pod krzywą ROC Wybór punktu odcięcia Reguły decyzyjne Istotność zmiennych 32
Krzywa ROC Separacja: 1. Bardzo dobra 2. Dobra 3. Słaba 4. Zła 5. Przypadkowa 33
Krzywa ROC SE 1 Najlepszy klasyfikator Najsłabszy klasyfikator 1 1-SP 34
IRD Wykład 8 Plan Powtórka Krzywa ROC = Receiver Operating Characteristic Wybór modelu Statystyka AUC ROC = pole pod krzywą ROC Wybór punktu odcięcia Reguły decyzyjne Istotność zmiennych 35
Krzywa ROC Pole pod krzywą ROC = AUC Współczynnik Gini ego SE 1 Gini = 2AUC-1 AUC AUC Klasyfikator 0.9 < AUC znakomity 0.8 < AUC <= 0.9 bardzo dobry 0.7 < AUC <= 0.8 dobry 0.5 < AUC <= 0.7 słaby AUC = 0.5 losowy 1 1-SP 36
Przykład - Irysy predicted --> / actual Iris-versicolor Other Iris-versicolor 47 3 Other 1 99 SE=TPR 0,94 SP=TNR 0,99 FPR 0,01 FNR 0,06 ACC 0,9733 37
Iris-versicolor Przykład - Irysy ROC Area = 0.9886 Gini Coefficient = 0.9772 38
Przykład - Irysy predicted --> / actual Iris-setosa Other Iris-setosa 50 0 Other 0 100 SE=TPR 1 SP=TNR 1 FPR 0 FNR 0 ACC 1 39
Iris-setosa Przykład - Irysy ROC Area = 1 Gini Coefficient = 1 Klasyfikator idealny 40
Krzywa ROC SE 1 Najlepszy klasyfikator Najsłabszy klasyfikator 1 1-SP 41
Krzywa ROC ocena modelu Sytuacja oczywista SE 1 AUC1>AUC2 Sytuacja problematyczna SE 1 1 1-SP AUC1=AUC2 1 1-SP 42
Choroba serca drzewo 1 Entropia Wszystkie zmienne ROCA = 0.9188 43
Choroba serca drzewo 2 Entropia Bez zmiennej " thal" ROCA = 0.8741 44
Porównanie drzew 1 2 45
Choroba serca drzewo 3 Gain ratio Wszystkie zmienne ROCA = 0.8849 46
Porównanie drzew 2 3 47
Choroba serca drzewo 4 Gain ratio Bez zmiennej " thal" ROCA = 0.9251 48
Porównanie drzew 2 3 4 49
Porównanie drzew 1 4 50
IRD Wykład 8 Plan Powtórka Krzywa ROC = Receiver Operating Characteristic Wybór modelu Statystyka AUC ROC = pole pod krzywą ROC Wybór punktu odcięcia Reguły decyzyjne Istotność zmiennych 51
Macierz kosztów Koszty łączne Wybór punktu odcięcia actual /predicted 1 2 1 0 1 2 5 0 Macierz kosztów * macierz błędów, np.: α<0.099 actual /predicted 1 2 1 0 150 2 0 121 * actual /predicted 1 2 1 0 1 2 5 0 52
Wybór punktu odcięcia koszty α < 0.099 1 2 1 0 150 2 0 121 α < 0.118 1 2 1 91 59 2 10 111 α < 0.099 1 2 1 0 150 2 0 0 suma 150 α < 0.118 1 2 1 0 59 2 50 0 suma 109 53
Wybór punktu odcięcia koszty α < 0.194 1 2 1 106 44 2 12 109 α < 0.583 1 2 1 131 19 2 18 103 α < 0.194 1 2 1 0 44 2 60 0 suma 104 α < 0.583 1 2 1 0 19 2 90 0 suma 109 54
Wybór punktu odcięcia koszty α < 0.792 1 2 1 136 14 2 25 96 α < 0.857 1 2 1 141 9 2 44 77 α < 0.792 1 2 1 0 14 2 125 0 suma 139 α < 0.857 1 2 1 0 9 2 220 0 suma 229 55
Wybór punktu odcięcia koszty α < 0.908 1 2 1 144 6 2 62 59 α 0.908 1 2 1 150 0 2 121 0 α < 0.908 1 2 1 0 6 2 310 0 suma 316 α 0.908 1 2 1 0 0 2 605 0 suma 605 56
Trafienia i omyłki - ROC 57
Przykład mammografia Liczność %0 Liczność %1 70,00% 60,00% 50,00% 40,00% 30,00% 20,00% 10,00% 0,00% 58
Choroba serca drzewo 3 Prawidłowe decyzje Błędne decyzje 59
IRD Wykład 8 Plan Powtórka Krzywa ROC = Receiver Operating Characteristic Wybór modelu Statystyka AUC ROC = pole pod krzywą ROC Wybór punktu odcięcia Reguły decyzyjne Istotność zmiennych 60
Reguły decyzyjne W dowolnej ścieżce (od korzenia do liścia) niech: t 1, t 2,..., t m testy występujące na tej ścieżce r 1, r 2,..., r m wyniki testów odpowiadające gałęziom na tej ścieżce, gdzie r 1 T t1, r 2 T t2,..., r m T tm d C etykieta związana z liściem Wtedy ścieżka jest równoważna z regułą decyzyjną: t 1 (x)=r 1 t 2 (x)=r 2... t m (x)=r m c(x)=d Uwaga! Ponieważ dla każdego liścia istnieje ścieżka łącząca ten liść z korzeniem, więc zbiór reguł związanych ze ścieżkami klasyfikuje wszystkie przykłady z dziedziny X. 61
Reguły decyzyjne Tworzone podczas budowy klasyfikatora Określają kategorię dla każdego obiektu Przypisanie danej kategorii dla obiektu zależy od prawdopodobieństwa a posteriori, że obiekt do niej należy Zatem reguły możemy także zapisać w postaci: Jeżeli P(kategoria X=d)>α, to kategoria X=d 62
Reguły decyzyjne Przykład 2 kategorie o etykietach 0, 1 Reguły decyzyjne mogą mieć postać Jeżeli P(kategoria X=1)>0.5, to kategoria X=1 Jeżeli P(kategoria X=1)>0.75, to kategoria X=1 Jeżeli P(kategoria X=1)>0.95, to kategoria X=1 Liczba α punkt (próg) odcięcia / cut-off Dla różnych punktów odcięcia uzyskujemy różne macierze błędów i RÓŻNE REGUŁY DECYZYJNE 63
Przykład choroba serca 58,3% 64 α =?
Przykład choroba serca α = 0.5 => Reguła: If thal IN (6, 7) AND major_vessels < 0.500 AND exerc_ind_angina IN (0) AND age < 51.000 then 2 Inne progi: α = 0.4 / α = 0.3 / α = 0.2 / α = 0.55 α = 0.6 => Reguła: If thal IN (6, 7) AND major_vessels < 0.500 AND exerc_ind_angina IN (0) AND age < 51.000 then 1 Inne progi: α = 0.65 / α = 0.7 / α = 0.75 65
Własności krzywej ROC Krzywa obrazuje jakość metody / modelu na zbiorze testowym dla różnych progów wykorzystywanych w klasyfikacji Krzywa agreguje wszystkie możliwe progi Nachylenie krzywej reprezentuje rozkład prawdopodobieństwa Przekątna -> Klasyfikator losowy Wypukłość reprezentuje gorsze efekty klasyfikacji niż w wypadku klasyfikatora losowego 66
Podsumowanie ważne pojęcia Braki danych Uzupełnianie Nie uzupełnianie Ważenie Ocena jakości klasyfikatora Macierz błędów Macierz kosztów / zysków Statystyki TPR, FPR, TNR, FNR, SE, SP, ACC Krzywa ROC Wnioskowanie o jakości klasyfikatora na podstawie ROC Porównywanie różnych klasyfikatorów 67
IRD Wykład 8 Plan Powtórka Krzywa ROC = Receiver Operating Characteristic Wybór modelu Statystyka AUC ROC = pole pod krzywą ROC Wybór punktu odcięcia Reguły decyzyjne Istotność zmiennych 68
Choroby serca - dane resting_electroc_res resting_electroc_res Id Value Count Count % Target Target % 0 0 131 48,34 46 35,11 1 1 2 0,74 1 50 2 2 138 50,92 74 53,62 160 140 120 100 Count Target % 60 50 40 80 30 thal Count Target % 60 40 20 0 0 1 2 20 10 0 180 80,00 160 70,00 140 120 100 80 60 40 20 0 3 6 7 60,00 50,00 40,00 30,00 20,00 10,00 0,00 thal Id Value Count Count % Target Target % 0 3 153 56,46 34 22,22 1 6 14 5,17 8 57,14 2 7 104 38,38 79 75,96 69
Choroby serca - dane chest_pain_type Id Value Count Count % Target Target % 0 1 20 7,38 5 25,00 1 2 42 15,50 7 16,67 2 3 79 29,15 17 21,52 chest_pain_type 3 4 130 47,97 92 70,77 140 Count Target % 80,00 120 70,00 100 60,00 80 50,00 40,00 60 30,00 40 20,00 20 10,00 0 1 2 3 4 0,00 70
Istotność zmiennych - ROC ROCA Name (heart_disease=2) heart_disease 1 Thal 0,7637 chest_pain_type 0,7614 major_vessels 0,7491 max_heart_rate 0,7443 oldpeak 0,7332 exerc_ind_angina 0,7002 slope_peak_st 0,6997 age 0,6752 serum_cholest 0,6645 sex 0,6407 resting_electroc_res 0,5925 resting_blood_pres 0,5853 fasting_blood_sug 0,5064 71
72
Macierz błędów Obliczanie interpretacja Kolokwium Współczynniki TPR, FPR, TNR, FNR, SE, SP, ACC ROC Dobór etykiet w drzewie decyzyjnym 73