P
OLITECHNIKA
´
S
L ˛
ASKA
W
YDZIAŁ
I
N ˙
ZYNIERII
B
IOMEDYCZNEJ
Sprawozdanie
Maszyna Wektorów podpieraj ˛
acych SVM.
Autor: Anna Zieli ´nska
Prowadz ˛
acy ´cwiczenie: dr in˙z. Joanna Czajkowska
Gliwice, 26 marca 2012
Spis treści
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
Spis rysunków
Klasyfikacja genów dla danych typów białaczki. Kolorem czerwonym
zaznaczono błędną klasyfikację.
. . . . . . . . . . . . . . . . . . . . .
5
1. Opis zawartości
Celem ćwiczenia było odnalezienie genów, które umożliwiałyby rozróżnienie 3
typów białaczki:
• ALL-B- ostra białaczka limfoblastyczna prekursorowa limfocytów B
• ALL-T- ostra białaczka limfoblastyczna T-komórkowa
• AML- ostra białaczka szpikowa
Następnie poszczególne geny, dzięki maszynie wektórów podpierających należało
zakwalifikować w oparciu o metodę klasa- reszta. Geny wybrane dla poszczególnych
typów białaczki:
• GB DEF = FLT3/FLK2 ligand mRNA’- dla białaczki AML
• HOXA9 Homeo box A9- pozwala na rozróżnienie białaczki ALL-T od ALL-B
• PTPRM Protein tyrosine phosphatase, receptor type, mu polypeptide’- ALL-T
• GATA3 GATA-binding protein 3’- dla białaczki ALL-B
2. Kod programu
c l e a r a l l
;
c l o s e a l l
;
load
03 SVM Dane do genow
g e n e=gene ’ ;
d a t a=data ’ ;
c e c h y = [ d a t a ( : , 6 4 6 1 ) , d a t a ( : , 5 4 6 6 ) , d a t a ( : , 4 3 1 5 ) , d a t a ( : , 3 1 8 9 ) ] ; %wybór c e c h do k l a s y f i k a c j i
AML = ismember ( l a b e l , ’AML ’ ) ;
ALL T=ismember ( l a b e l , ’ALL−T ’ ) ;
ALL B=ismember ( l a b e l , ’ALL−B ’ ) ;
[ t r 1 , t e 1 ] = c r o s s v a l i n d ( ’ holdOut ’ ,AML) ;
t r 1=t r 1&AML;
[ t r 2 , t e 2 ] = c r o s s v a l i n d ( ’ holdOut ’ , ALL T ) ;
t r 2=t r 2&ALL T ;
[ t r 3 , t e 3 ] = c r o s s v a l i n d ( ’ holdOut ’ , ALL B ) ;
t r 3=t r 3&ALL B ;
t r=t r 1 | t r 2 | t r 3 ;
t e =˜ t r ;
svmStr1 = s v m t r a i n ( c e c h y ( t r , : ) ,AML( t r ) , ’ s h o w p l o t ’ , f a l s e ,
’ K e r n e l F u n c t i o n ’ , ’ r b f ’ , ’ RBF Sigma ’ , 0 . 5 , ’ b o x c o n s t r a i n t ’ , 1 0 0 0 ) ;
svmStr2 = s v m t r a i n ( c e c h y ( t r , : ) , ALL T ( t r ) , ’ s h o w p l o t ’ , f a l s e ,
’ K e r n e l F u n c t i o n ’ , ’ r b f ’ , ’ RBF Sigma ’ , 0 . 5 , ’ b o x c o n s t r a i n t ’ , 1 0 0 0 ) ;
svmStr3 = s v m t r a i n ( c e c h y ( t r , : ) , ALL B ( t r ) , ’ s h o w p l o t ’ , f a l s e ,
’ K e r n e l F u n c t i o n ’ , ’ r b f ’ , ’ RBF Sigma ’ , 0 . 5 , ’ b o x c o n s t r a i n t ’ , 1 0 0 0 ) ;
c l 1 = s v m c l a s s i f y ( svmStr1 , c e c h y ( t e , : ) , ’ s h o w p l o t ’ , f a l s e ) ;
c l 2 = s v m c l a s s i f y ( svmStr2 , c e c h y ( t e , : ) , ’ s h o w p l o t ’ , f a l s e ) ;
c l 3 = s v m c l a s s i f y ( svmStr3 , c e c h y ( t e , : ) , ’ s h o w p l o t ’ , f a l s e ) ;
w y n i k i =[ c l 1 c l 2 c l 3 AML( t e ) ALL T ( t e ) ALL B ( t e ) ]
3. Wyniki podziału
Rys. 3.1:
Klasyfikacja genów dla danych typów białaczki. Kolorem czerwonym zazna-
czono błędną klasyfikację.
6
3. Wyniki podziału
Dla każdego typu białaczki wylosowano dane uczące, które następnie zostały
połączone w jeden wektor i za pomocą programu zostały zaklasyfikowane.
4. Wnioski
Nieprawidłowa klasyfikacja w tabeli zostala oznaczona kolorem czerwonym. Na
podstawie wzoru: s =
poprawne
wszystkie
∗ 100% można obliczyć skuteczność klasyfikatora,
która wynosi: s =
10
35
∗ 100% = 71, 43%.
Na podstawie wyniku widać, że na ogół program poprawnie klasyfikował dane
geny, jednak 71% skuteczności nie jest wynikiem w pełni zadowalającym. Widać by-
ło, że klasyfikator miał duże problemy z odróżnieniem białaczki typu AML z ALL-B,
co może być przyczyną tego, że cechy jednego z genów, najprawdopodobniej HO-
XA9 leżą na granicy wartości przyjmowanych dla obu tych białaczek, rozwiązaniem
mógłby być dobór następnego genu, ktory odróżniałby białaczkę typu AML i ALL-B
od siebie.
Do sklasyfikowania różnych typów białaczki najlepiej użyć kilku genów, nie na-
leży jednak przesadzać ani w jedną, ani w drugą stronę, jeżeli damy zbyt mało
informacji, program nie będzie w stanie odróżnić od siebie cech różnych białaczek,
natomiast jeżeli podamy ich za dużo możliwe, że program będzie miał problem z kla-
syfikacją, ponieważ będzie się uczył na dużej grupie cech, a niektóre z nich mogłyby
się pokryć, co może prowadzić do niepotrzebnych błędów.