1. Dodawać kolejno jedną nową cechę by zobaczyć czy jej nie pomineliśmy.
2. Dorobić inne medyczne bazy danych
Cancer oraz dodawanie nowych cech
Cancer class1: 68/286
reguły klasyfikują wektory klasy pierwszej
(class1)
poprawna klasyfikacja wektorów klasy
zerowej (class0) oznacza nie
zaklasyfikowanie wektora klasy zero
przez regułę do klasy jeden
uwagi ogólne: z reguł usunąłem już nieistotne (zawsze spełnione) przesłanki
opis: reguły umieszczone w liniach,
przesłanki oddzielane symbolami algebraicznymi
/\ \/
poniżej podałem ilości wektorów poprawnie
klasyfikowanych dla każdej
reguły oraz macierz nakrywania tych
reguł - diagonalna to odpowiednio
ilości wektorów klasyfikowanych tylko
przez jedną regułę,
pozadiagonalna - wektory klasyfikowane
przez co najmniej dwie reguły,
dodatkowa liczba na dole za macierzą
to ewentualne wektory pokryte
przez wrzystkie trzy reguły, dalsze
dwie liczby to całkowita ilość
poprawnie klasyfikowanych wektorów odpowiednio
klasy 1 i 0.
A dalej to samo dla błędnej klasyfikacji.
--asa5--
deg_malig = 3 /\ node_caps = yes
deg_malig = [2-3] /\ inv_nodes = [9-26] (not [0-8]) /\ age = not [40-69]
breast = left /\ inv_nodes = [3-26] (not [0-2]) /\ age = not [40-59]
23/2/18 => 31 (p++) + 193 (p--) = 224 -> 78,32%
poprawnie
7/0/3 => 54 (p+-) + 8 (p-+) = 62
-> 21,68% błędnie
--asa50--
deg_malig = 3 /\ node_caps = yes
deg_malig = 3 /\ age = not [30-59]
breast = left /\ inv_nodes = [3-26] (not [0-2]) /\ age = not [50-59]
23/10/18 => 36 + 189 = 224 -> 78,32% poprawnie
7/7/3 => 49 + 13 = 62 ->
21,68% błędnie
--asa51--
deg_malig = 3 /\ node_caps = yes
inv_nodes = [9-26] (not [0-8]) /\ age = not [40-69]
breast = left /\ inv_nodes = [3-26] (not [0-2]) /\ age = not [50-59]
23/4/18 => 31 + 193 = 224 -> 78,32% poprawnie
7/0/3 => 54 + 8 = 62 -> 21,68%
błędnie
--asa52--
deg_malig = 3 /\ node_caps = yes
deg_malig = 3 /\ age = not [40-69]
breast = left /\ inv_nodes = [3-26] (not [0-2]) /\ age = not [40-59]
23/18/18 => 40 + 184 = 224 -> 78,32% poprawnie
7/11/3 => 45 + 17 = 62 -> 21,68%
błędnie
--asa54--
deg_malig = 3 /\ node_caps = yes
deg_malig = 3 /\ age = not [40-59]
breast = left /\ inv_nodes = [3-26] (not [0-2]) /\ age = not [50-59]
23/18/18 => 40 + 184 = 224 -> 78,32% poprawnie
7/11/3 => 45 + 17 = 62 -> 21,68%
błędnie
=============================================================================
--ASA5_00--
deg_malig = 3 /\ inv_nodes = [3-26] (not [0-2]) /\ tumor_size = [5-44]
--ASA5_01--
deg_malig = 3 /\ inv_nodes = [3-26] (not [0-2]) /\ tumor_size = [10-44]
--ASA5_02--
deg_malig = 3 /\ inv_nodes = [3-26] (not [0-2]) /\ tumor_size = [0-44]
27 + 192 = 219 -> 76,57%
58 + 9 = 67 -> 23,43%
=============================================================================
--asa1_001--
deg_malig = 3 /\ inv_nodes = [3-11] /\ tumor_size = [20-44]
inv_nodes = [9-26] /\ age = not [40-49] /\ menopause = premeno
breast = left /\ inv_nodes = [3-26] (not [0-2]) /\ age = not [50-59]
19/4/18 => 35 + 193 = 228 -> 79,72% poprawnie
6/0/3 => 50 + 8 = 58 -> 20,28%
błędnie
--asa1_002--
deg_malig = 3 /\ inv_nodes = [3-11] /\ tumor_size = [15-54]
inv_nodes = [9-26] /\ age = not [40-49] /\ menopause = premeno
breast = left /\ inv_nodes = [3-26] (not [0-2]) /\ age = not [50-59]
20/4/18 => 35 + 193 = 228 -> 79,72% poprawnie
7/0/3 => 50 + 8 = 58 -> 20,28%
błędnie
--asa1_003--
deg_malig = 3 /\ inv_nodes = [3-11] /\ tumor_size = [10-54]
deg_malig = [2-3] /\ inv_nodes = [9-26] /\ age = not [40-49] /\ menopause = lt40 or premeno (not ge40)
breast = left /\ inv_nodes = [3-26] (not [0-2]) /\ age = not [50-59]
21/4/18 => 35 + 193 = 228 -> 79,72% poprawnie
7/0/3 => 50 + 8 = 58 -> 20,28%
błędnie
-----------------------------------------------------------------------------
--asa1_010--
deg_malig = 3 /\ inv_nodes = [3-11] /\ tumor_size = [15-39]
deg_malig = 3 /\ inv_nodes = [3-26] /\ age = not [30-49] /\ tumor_size = [35-44]
breast = left /\ inv_nodes = [3-26] (not [0-2]) /\ age = not [50-59]
17/5/18 => 33 + 194 = 227 -> 79,72% poprawnie
4/1/3 => 52 + 7 = 59 -> 20,28%
błędnie
--asa1_011--
deg_malig = 3 /\ inv_nodes = [3-14] /\ tumor_size = [20-34]
inv_nodes = [6-26] /\ age = not [30-49] /\ tumor_size = [35-54]
breast = left /\ inv_nodes = [3-26] (not [0-2]) /\ age = not [50-59]
16/5/18 => 33 + 194 = 227 -> 79,72% poprawnie
4/2/3 => 52 + 7 = 59 -> 20,28%
błędnie
--asa1_012--
deg_malig = 3 /\ inv_nodes = [3-8] /\ tumor_size = [2-34]
inv_nodes = [6-26] /\ age = not [30-49] /\ tumor_size = [35-54]
breast = left /\ inv_nodes = [3-26] (not [0-2]) /\ age = not [50-59]
12/5/18 => 31 + 196 = 227 -> 79,72% poprawnie
tylko 4 wspólne
2/2/3 => 54 + 5 = 59 -> 20,28%
błędnie tylko 2 wspólne
=============================================================================
ASA - REZULTATY: autor Grzegorz Zal
THYROID:
ASA - dziala bardzo dobrze (choc nie zawsze), co dalo sie dostrzec zupelnie przypadkowo startujac z jedna bledna granica - ASA odrazu znalazla blad. Rozwiazanie startowe (juz bez bledu w jednej z granic) dla ASA bylo zbyt optymalne - rozwiazanie sie nie zmienia.
Jedyne co udalo sie zrobic to zmniejszyc ilosc bledow na zbiorze treningowym z 12 do 11, co jest wynikiem rozsuniecia granicy 0.029 dla TSH w obu regulach dla klasy 1 odpowiednio 0.030045 i 0.02984 co powoduje drobna szczeline, w ktora wpada jeden z blednych przypadkow, moze to jednak pogorszyc klasyfikacje na zbiorze testowym.
Dostawiajac dowolny przedzial dla cechy TT4 (F19) w regule dla klasy 2 i przeprowadzajac optymalizacje otrzymujemy reguly:
dla klasy 1 dwie:
TSH >= 0.03048 /\ FTI < 0.06416
TSH in [0.00617, 0.02953) /\ T3 < 0.02322 /\
FTI < 0.06406
i dla klasy 2 jedna:
on_thyroxine=0 /\ thyroid_surgery=0
/\ TSH >= 0.00602 /\ FTI in [0.06427, 0.18671)
/\ TT4 < 0.14852
(gdzie dolna granica dla TT4 zostala usunieta bo cecha nie przyjmuje nigdy nizszych wartosci - co jeszcze nie znaczy ze ta granica jest niepotrzebna! - o czym dalej jeszcze napisze)
daje to odpowiednio 4 bledy na zbiorze treningowym i 24 na zbiorze testowym czyli odpowiednio dokladnosc 99.89% i 99.3%
Identyczne rezultaty dla zbioru treningowego uzyskuje sie zmieniajac w regule dla klasy 2 granice przedzialu dla cechy TTF (F19) - tzn. TT4 in [0.05, 0.1505), co na zbiorze testowym daje 22 bledy czyli 99.36%
mozna jeszcze przesunac nawet granice 0.05 -> 0.055 powoduje to, ze na zbiorze treningowym pojawia sie jeden blad wiecej, a na testowym 3 mniej (nawet 5 mniej - co wynika z tego, ze rozwiazanie z cecha 19 dla klasy drugiej dla pozostalych cech jest minimalnie rozne co zwieksza ilosc bledow dla testowego o 2)
Czyli dodanie TT4 usuwa 7 błędów.
WD: Jeśli zostawić TT4 in (0.05, 0.1505) to mamy 21 błędów na testowym
zbiorze
Moim wlasnym zdaniem najlepszym rozwiazaniem jest takie: (pomijajac
pierwszy wspomniany efekt z granica 0.029 dla TSH)
dla klasy 1 dwie:
TSH >= 0.029 /\ FTI < 0.0644
TSH in [0.0061, 0.029) /\ T3 < 0.023 /\
FTI < 0.0644
i dla klasy 2 jedna:
on_thyroxine=0 /\ thyroid_surgery=0
/\ TSH >= 0.0061 /\ FTI in [0.0644, 0.18) /\
TT4 in [0.055, 0.1505)
daje ono odpowiednio 6 i 17 błędów czyli 99.84% i 99.5%, ale to jest wynik trenowania na zbiorze testowym! Jeśli szukać innych minimów oprócz globalnego to da się znaleźć to rozwiązanie na zbiorze treningowym też.
Apropos wynikow Weissa:
te ktore mam nie sa lepsze niz te od ktorych startowalem z ASA: na
razie nie ustosunkowuje sie do nich.
APPENDICTIS:
zaczynajac od regul ponizej (numery w nawiasach oznaczaja numery cech)
rule_1 12.6 < (4) < 18.9
rule_2 6650 < (3)
rule_3 81.6 < (6)
------------------------------------------------------------------------
rule_4
(2) < 51.4 \/ 64.4 < (2) <
71.6
(3) < 6650 \/ 38 <
(6) < 54.5
25.2 < (4)
rule_5
(2) < 51.4 \/ 64.4 < (2) <
71.6
(3) < 6650
38 < (6) < 54.5
rule_6 60 < (2) < 64.4
\/ 82.4 < (2)
(3) < 6650
25.2 < (4)
38 < (6) < 54.5
Te 3 reguły zmniejszają błąd tylko o 3 przypadki.
------------------------------------------------------------------------
Udało się tak samo jak w prologu z pierwszych trzech uzyskac tylko
dwie:
rule_1 12.6 < (4) < 60
rule_2 6650 < (3)
przy czym wartości granic wyszły nieco inne ale wynik ten sam.
Z regulami 4, 5 i 6 nic nie udalo sie zrobic (narazie).
Weiss: MNEA>6600 OR MBPA > 11
Dokładność: PVM 1/2 rules
8.5%
10.4%
Błąd 8.5% taki jak u nas.
==================================================================
ASA optymalizacja i dodawanie cech
==================================================================
rule_1 12.6 =< (MBAP) < 18.9
rule_2 6650 < (MNEA)
rule_3 81.6 < (HNEP)
9 błędów na 106 wektorach
dokładność 91.509434 %, czyli błąd 8.490566 %
==================================================================
rule_1 12.6 =< (MBAP) < 60
rule_2 6650 < (MNEA)
9 błędów na 106 wektorach (inne błędy - na innych wektorach)
dokładność 91.509434 %, czyli błąd 8.490566 %
==================================================================
Nowe wyniki z dodawania cech
==================================================================
dodany przedział dla cechy HNEA do reguły 2
rule_1 12.6 =< (MBAP) < 60
rule_2 6650 < (MNEA)
2857 =< (HNEA) < 22178
8 błędów na 106 wektorach
dokładność 92,452830 %, czyli błąd 7.547169 %
==================================================================
dodane zaprzeczenie przedziału dla cechy HNEA do reguły 2
rule_1 12.6 =< (MBAP) < 60
rule_2 6650 < (MNEA)
(HNEA) < 6980 \/ (HNEA) >= 7577
8 błędów na 106 wektorach
dokładność 92,452830 %, czyli błąd 7.547169 %
==================================================================
dodane zaprzeczenie przedziału dla cechy HNEA do reguły 2
rule_1 30.15 =< (MBAP) < 51,39
rule_2 6804 < (MNEA)
(HNEA) < 9557 \/ (HNEA) >= 9872
7 błędów na 106 wektorach
dokładność 93,396226 %, czyli błąd 6,6037735 %
------------------------------------------------------------------
rule_2 6804 < (MNEA)
(HNEA) < 9557 \/ (HNEA) >= 9872
10 błędów na 106 wektorach
dokładność 90,56604 %, czyli błąd 9,43396 %
==================================================================
dodany przedział dla cechy HNEA do reguły 1
rule_1 12.6 =< (MBAP) < 60
3896 =<
(HNEA) < 15486
rule_2 6650 < (MNEA)
8 błędów na 106 wektorach
dokładność 92,452830 %, czyli błąd 7.547169 %
==================================================================
dodany przedział dla cechy HNEA do reguły 1
rule_1 11.1 =< (MBAP) < 60
3845 =<
(HNEA) < 21646
rule_2 6650 < (MNEA)
8 błędów na 106 wektorach
dokładność 92,452830 %, czyli błąd 7.547169 %
==================================================================
dodane zaprzeczenie przedziału dla cechy HNEA do reguły 1
rule_1 12.6 =< (MBAP) < 60
(HNEA) < 3565 \/ (HNEA) >= 4006
rule_2 6650 < (MNEA)
7 błędów na 106 wektorach
dokładność 93,396226 %, czyli błąd 6,6037735 %
==================================================================
dodane zaprzeczenie przedziału dla cechy HNEA do reguły 1
rule_1 11.1 =< (MBAP) < 60
(HNEA) < 3515 \/ (HNEA) >= 4357
rule_2 6650 < (MNEA)
7 błędów na 106 wektorach
dokładność 93,396226 %, czyli błąd 6,6037735 %
==================================================================