Destek Vektör Makineleri ve Çok Katmanlı Algılayıcılar ile Göğüs Kanseri Teşhisi

Projenin Kodları

Raporu indir

1. Çalışmanın Özeti

Bu çalışmada, göğüs kanseri öznitelik vektörlerinin, destek vektör makineleri ve yapay sinir ağları(çok katmanlı algılayıcı) ile sınıflandırılmasına dayalı bir gögüs kanseri teşhisi yapılmaktadır. Teşhis için kullanılan yapay sinir ağları çok katmanlı algılayıcılar(Multi Layer Perceptron)’dır. Destek vektör makinaları(Support Vector Machine ) SVM-Lineer, SVM-Polinomsal ve SVM-Radyal Tabanlı modellerdir. Sınıflandırma işleminde kullanılacak olan gögüs kanseri verileri Wisconsin Diagnostic Breast Cancer (WDBC)  datasetidir. Oluşturulan veri formatı WEKA paket programında uygulanmıştır. Çalışmada doğru teşhis başarısı, MLP’de %97.90, SVM-Lineer‘de %95.44  SVM-Polinomsal’da %72.24 ve  SVM-Radyal Tabanlı’da %62.75 olarak ölçülerek en yüksek başarı %97.90 ile MLP(Çok Katmanlı Algılayıcılar) öğrenme yöntemi ile ölçülmüştür. Bu yöntemin ROC eğrisi altında kalan alan değeri 0.9931 olarak hesaplanmıştır.

2. Uygulama

2.1.Veri ve Kütüphanelerin Hazırlanışı

2.1.1. Veri Seti

Çalışmanın gögüs kanseri verileri Wisconsin Diagnostic Breast Cancer (WDBC)  dataseti ile değerlendirilmiştir. Dataset(http://archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wisconsin+(Diagnostic)) adresinden indirilip Notepad++ programı yardımı ile datasette bulunan sütunlar ile öznitelik sayısı tespit edilmiştir. Her satırdaki verilerin ilk değeri incelediğinde toplam 2 sınıfın bulunduğu M ile ifade edilen sınıfın malignant yani kötü huylu, B ile ifade edilen sınıfında benign yani iyi huylu anlamına geldiği anlaşılıp, programla düzenlerek WEKA paket programında kullanılabilmesi için arff dosya tipine dönüştürülmüştür. Öznitelik sayısı 30 dir. Bu özniteliklerden bazıları; her bir hücre çekirdeği için, yarıçapı, doku, çevre, alan, düzgünlük, kompaktlık, konkavite, içbükey noktaları, simetri, fraktal boyutu gibi özniteliklerdir. Gögüs kanseri verisi 569 tanedir. Bu verilerden 212 tanesi sonuç olarak kötü huylu, 357 tanesi de iyi huylu olan kanser türüdür.

2.1.2.Kütüphanelerin Hazırlanışı

MLP(Çok Katmanlı Algılayıcılar) ögrenme yöntemi kütüphanesi WEKA paket programında hazır bulunmaktadır. SVM(Destek vektor makineleri) kütüphanesi (http://www.csie.ntu.edu.tw/~cjlin/libsvm/) adresinden indirilip WEKA’nın kurulu olduğu yere yerleştirilmiştir. Bu aşamadan sonra ortam değişkenlerine yeni bir sistem değişkeni olan CLASSPATH ve değişken değeri olarakta libsvm kütüphanesinin konumu yazılarak eklenmiştir. Böylece WEKA’da SVM-Lineer, SVM-Polinomsal ve SVM-Radyal Tabanlı modeller kullanılır hale getirilmiştir.

2.2.En Başarılı Yöntemin Seçimi

WEKA paket program kullanılarak öğrenme yöntemleri incelenmiştir. MLP, SVM-Lineer, SVM-Polinomsal ve SV-Radyal Tabanlı yöntemlerin hepsinde 10-fold çapraz doğrulama (cross validation) yöntemi ile değerlendirilmiştir. Her yöntem kendi parametreleri değiştirilerek en uygun model araştırılmıştır.

2.2.1. MLP Yöntemi ile Başarı

MLP yönteminde gizli katmandaki düğüm sayısı, öğrenme katsayısı, momentum parametreler değiştirilerek en başarılı yöntem aranmaktadır. Tablo 1’de parametrelerin değerleri listelenirken, her satır bu değerleri temsil eden bir değişkene atandı. Bu değişkenlere varsayılan olarak gizli katmandaki düğüm sayısı 16, öğrenme katsayısına 0.3 ve momentum 0.2 değerleri verildi. Buradaki değerler WEKA paket programındaki optimum değerleridir. Gizli katmandaki düğüm sayısı normalde a değerini taşır. Bu değer toplam sınıf sayısı ve öznitelik sayısının yarısı olan ( (2+30)/2 ) 16 değerine eşittir. Her bir parametre sırasıyla artılıp ve azaltılıp parametre değerlerini tutan tabloya aktarıldı. Tablo 2 her durumun doğru örneklendirme sayısı ve yüzde, yanlış örneklendirme sayısı ve yüzdesini yansıtmaktadır. Tablo 3 ise her durum için hata matrisini yani tahmin edilen değerler ile gerçek değerleri belirtmektedir.

Tablo 1: MLP için Parametre Değerleri Tablosu

Değerleri Temsil Eden Değişken

Gizli katmandaki düğüm sayısı

Öğrenme Katsayısı

Momentum

MLP-A

a=16

0.3

0.2

MLP-B1

2a=32

0.3

0.2

MLP-B2

a/2=8

0.3

0.2

MLP-C1

a=16

0.03

0.2

MLP-C2

a=16

0.5

0.2

MLP-D1

a=16

0.3

0.1

MLP-D2

a=16

0.3

0.3

Tablo 2: MLP’deki Her Durum için Doğru ve Yanlış Sınıflandırma Oranları

Değerleri Temsil Eden Değişken

Doğru Sınıflandırılmış Örnekler

Yanlış Sınıflandırılmış Örnekler

Doğru Yüzdesi

%

Yanlış Yüzdesi %

MLP-A

550

19

96,66

3.33

MLP-B1

549

20

96,49

3.51

MLP-B2

548

21

96.14

3.86

MLP-C1

557

12

97.90

2.10

MLP-C2

546

23

95.96

4.04

MLP-D1

549

20

96.49

3.51

MLP-D2

547

22

96.14

3.86

 Tablo 3: MLP ‘deki her durum için Hata Matrisi

Değerleri Temsil Eden Değişken

 

 

Tahmin Edilen Tür

MLP-A

Kötü Huylu

İyi Huylu

Gerçek Tür

201

11

Kötü Huylu

9

348

İyi Huylu

 

MLP-B1

Kötü Huylu

İyi Huylu

Gerçek Tür

197

15

Kötü Huylu

7

350

İyi Huylu

 

MLP-B2

Kötü Huylu

İyi Huylu

Gerçek Tür

201

11

Kötü Huylu

10

347

İyi Huylu

 

MLP-C1

Kötü Huylu

İyi Huylu

Gerçek Tür

202

10

Kötü Huylu

2

355

İyi Huylu

MLP-C2

Kötü Huylu

İyi Huylu

Gerçek Tür

200

12

Kötü Huylu

11

346

İyi Huylu

 

MLP-D1

Kötü Huylu

İyi Huylu

Gerçek Tür

201

11

Kötü Huylu

9

348

İyi Huylu

 

MLP-D2

Kötü Huylu

İyi Huylu

Gerçek Tür

199

13

Kötü Huylu

9

348

İyi Huylu

 2.2.2. SVM Yöntemi ile Başarı

SVM yönteminde C düzenleştirme faktörü ve kernel’ların parametreleri değiştirilerek en başarılı yöntem aranmaktadır. Tablo 4’te parametrelerin değerleri listelenirken, her satır bu değerleri temsil eden bir değişkene atandı. Bu değişkenlerden C düzenleştirme faktörü değeri varsayılan olarak 1.0  değerleri verildi. Bu değer WEKA paket programında optimum değerdir. Tablo 5 her durumun doğru örneklendirme sayısı ve yüzde, yanlış örneklendirme sayısı ve yüzdesini yansıtmaktadır. Tablo 6 ise her durum için hata matrisini yani tahmin edilen değerler ile gerçek değerleri belirtmektedir.

Tablo 4: SVM için Parametre Değerleri Tablosu

Değerleri Temsil Eden Değişken

C düzenleştirme faktörü

Kernel parametreleri

SVM-L-X1

1.0

Lineer

SVM-L-X2

2.0

Lineer

SVM-P-Y1

1.0

Polinomsal

SVM-P-Y2

2.0

Polinomsal

SVM-RT-Z1

1.0

Radyal Tabanlı

SVM-RT-Z2

2.0

Radyal Tabanlı

Tablo 5: SVM’deki Her Durum için Doğru ve Yanlış Sınıflandırma Oranları

Değerleri Temsil Eden Değişken

Doğru Sınıflandırılmış Örnekler

Yanlış Sınıflandırılmış Örnekler

Doğru Yüzdesi

%

Yanlış Yüzdesi %

SVM-L-X1

543

26

95,44

4.56

SVM-L-X2

543

26

95,44

4.56

 

SVM-P-Y1

406

163

71,36

28.64

SVM-P-Y2

411

158

72.24

27.76

 

 

 

 

 

SVM-RT-Z1

357

212

62,75

37.25

SVM-RT-Z2

357

212

62.75

37.25

Tablo 6: MLP ‘deki her durum için Hata Matrisi

Değerleri Temsil Eden Değişken

Tahmin Edilen Tür

 

   SVM-L-X1

Kötü Huylu

İyi Huylu

Gerçek Tür

196

16

Kötü Huylu

10

347

İyi Huylu

 

SVM-L-X2

Kötü Huylu

İyi Huylu

Gerçek Tür

195

17

Kötü Huylu

9

348

İyi Huylu

SVM-P-Y1

Kötü Huylu

İyi Huylu

Gerçek Tür

142

70

Kötü Huylu

93

264

İyi Huylu

SVM-P-Y2

Kötü Huylu

İyi Huylu

Gerçek Tür

148

64

Kötü Huylu

94

263

İyi Huylu

 

SVM-RT-Z1

Kötü Huylu

İyi Huylu

Gerçek Tür

0

212

Kötü Huylu

0

357

İyi Huylu

 

SVM-RT-Z2

Kötü Huylu

İyi Huylu

Gerçek Tür

0

212

Kötü Huylu

0

357

İyi Huylu

 2.3. En Başarılı Yöntemlerin ROC Eğrileri ve ROC Area Değerleri

MLP, SVM-lineer, SVM-polinomsal ve SV-Radyal Tabanlı öğrenme yöntemlerinin parametreleri değiştirilerek kendi aralarında en başarılı sonuçlar elde edildi. Her modelin en iyi değerlerin duyarlılık (sensitivity) ve özgüllük (specificity) değerleri hesaplanarak ROC Eğrileri çizildi ve ROC Area değerleri hesaplandı. Bu değerler sırası ile şöyledir:

 2.3.1. MLP Yönteminin ROC eğrisi ve ROC Area Değeri

Parametreleri değiştirilerek elde edilen en başarılı MLP yöntemi MLP-C1 diye adlandırılan gizli katmandaki düğüm sayısı 16(a), öğrenme katsayısı 0.03 ve momentumu 0.2 olan değerlere sahip yöntem olmuştur. Bu modelin duyarlılık, özgüllük ve ROC Area değeri hesaplanıp, ROC eğrisi çizilmiştir.

Duyarlılık  = TP / (TP + FN) = 0.990
Özgüllük    =TN / (TN + FP) = 0.973
ROC Area değeri = 0.9931

Şekil 1: En İyi MLP Yönteminin ROC eğrisi

2.3.2. SVM-Lineer Yönteminin ROC eğrisi ve ROC Area Değeri

Parametreleri değiştirilerek elde edilen en başarılı SVM-Lineer yöntemi SVM-L-X1 diye adlandırılan C düzenleştirme faktörü  1.0 olan değerine sahip yöntem olmuştur. Bu modelin duyarlılık, özgüllük ve ROC Area değeri hesaplanıp, ROC eğrisi çizilmiştir.

Duyarlılık  = TP / (TP + FN) = 0.951
Özgüllük    = TN / (TN + FP) = 0.956
ROC Area değeri = 0.9483

Şekil 2: En İyi SVM-Lineer Yöntemin ROC eğrisi

2.3.3. SVM-Polinomsal Yönteminin ROC eğrisi ve ROC Area Değeri

Parametreleri değiştirilerek elde edilen en başarılı SVM-Polinomsal yöntemi SVM-P-Y2 diye adlandırılan C düzenleştirme faktörü 2.0 olan değerine sahip yöntem olmuştur. Bu modelin duyarlılık, özgüllük ve ROC Area değeri hesaplanıp, ROC eğrisi çizilmiştir.

Duyarlılık  = TP / (TP + FN) = 0.612
Özgüllük    = TN / (TN + FP) = 0.804
ROC Area değeri = 0.7174

Şekil 3: En İyi SVM-Polinomsal Yöntemin ROC eğrisi

2.3.4. SVM- Radyal Tabanlı Yönteminin ROC eğrisi ve ROC Area Değeri

Parametreleri değiştirilerek elde edilen en başarılı SVM-Radyal Tabanlı yöntemi SVM-RT-Z1 diye adlandırılan C düzenleştirme faktörü 1.0 olan değerine sahip yöntem olmuştur. Bu modelin duyarlılık, özgüllük ve ROC Area değeri hesaplanıp, ROC eğrisi çizilmiştir.

Duyarlılık  = TP / (TP + FN) = 0
Özgüllük     = TN / (TN + FP) = 0.627
ROC Area değeri = 0.5

Şekil 4: En İyi SVM-Radyal Tabanlı Yöntemin ROC eğrisi

3.Sonuçlar

Çalışmada Wisconsin Diagnostic Breast Cancer (WDBC)  datasti kullanılarak en başarılı gögüs kanseri teşhisini yapan MLP, SVM-Lineer, SVM-Polinomsal ve SVM-Radyal Tabanlı modelleri başarı oranları detaylı olarak analiz edilmiştir.

MLP yöntemi incelenirken önce WEKA paket program tarafından varsayılan parametrelerle başarı ölçümü yapıldı. Bu parametreler gizli katmandaki düğüm sayısı a yani sınıf sayısı ve öznitelik sayısının toplamının yarısına eşit olan 16 sayısı, öğrenme katsayısı 0.3 ve momentum değeride 0.2 olarak belirlenmiştir. Varsayılan parametrelerle başarı yüzdesi %96.66 olarak ölçülmüştür. Daha sonra her parametre sırayla artırılıp azaltılarak gözlemlenmiştir.

Gizli katmandaki düğüm sayısı 32 ye yükseltilince başarı azalarak %96.43’ e düşmüştür. Gizli katmandaki düğüm sayısı 8 e indirilince başarı azalarak %96.14‘ e düşmüştür. Böylece gizli katmandaki düğüm sayısının etkisi şöyledir varsayılan olarak WEKA’dan alınan 16 değeri en yüksek başarının elde edildiği gizli katmandaki düğüm sayısıdır.

Öğrenme katsayısı 0.03 e indirilince başarı artarak %97.90’e yükselmiştir. Öğrenme katsayısı 0.5 e yükseltilince başarı azalarak %95.96’e düşmüştür. Bu öğrenme katsayısındaki azaltma öğrenme süresini uzatsa da başarının artmasını sağlamıştır. Azaltma değeri sık değiştirilerek elde edilmiştir. Böylece öğrenme katsayısı için en başarılı değer 0.03 olarak tespit edilmiştir.

Momentum değeri 0.1 e indirilince başarı azalarak %96.49’e düşmüştür. Momentum değeri 0.3 e yükseltilince başarı azalarak %96.14’e düşmüştür. Böylece momentum değerinin etkisi şöyledir varsayılan olarak WEKA’dan alınan 0.2 değeri en yüksek başarının elde edildiği momentum değeridir. MLP yöntemi için en yüksek başarıların elde edildiği parametreler birleştirilerek elde edilen başarı %97.90 olarak tespit edilmiştir.

SVM yöntemi incelenirken bu yöntemin parametreleri olan C düzenleştirme faktörü 0.1 ve kernel parametreleri linear, polynomial ve radyal basis’dir. Her kernel parametresi için C düzenleştirme faktörü değiştirilerek başarı yüzdesindeki değişim gözlemlenmiştir.

SVM-Lineer modeli için C düzenleştirme faktörü 0.1 iken elde edilen başarı %95,44 olarak ölçülmüştür. C düzenleştirme faktörü 0.2 olarak değiştirildiğinde başarı değişmeyerek %95,44 olmuştur. Böylece C düzenleştirme faktörünün parametrelerindeki değişiklik SVM-Lineer modeli için etki etmediği gözlemlenmiştir.

SVM-Polinomsal modeli için C düzenleştirme faktörü 0.1 iken elde edilen başarı %71,36 olarak ölçülmüştür. C düzenleştirme faktörü 0.2 olarak değiştirildiğinde başarı artarak %72.24 olmuştur. Böylece C düzenleştirme faktörünün 0.2 değeri SVM-Polinomsal modeli için en yüksek başarının elde edildiği değeridir.

SVM-Radyal Tabanlı modeli için C düzenleştirme faktörü 0.1 iken elde edilen başarı %62,75 olarak ölçülmüştür. C düzenleştirme faktörü 0.2 olarak değiştirildiğinde başarı değişmeyerek %62,75 olmuştur. Böylece C düzenleştirme faktörünün parametrelerindeki değişiklik SVM-Radyal Tabanlı modeli için etki etmediği gözlemlenmiştir.

Her yöntem içinden en yüksek başarıların elde ediliği modellerin ROC eğrisi altında kalan alan değerleri şöyledir.
MLP için elde edilen ROC Area değeri = 0.9931
SVM-Lineer için elde edilen ROC Area değeri = 0.9483
SVM-Polinomsal için elde edilen ROC Area değeri = 0.7174
SVM-Radyal Tabanlı için elde edilen ROC Area değeri = 0.5

Elde edilen sonuçlara göre en başarılı olan yöntem ROC eğrisi altında kalan alanı 0.9931 ile en büyük olan MLP(Çok Katmanlı Algılayıcılar) öğrenme yöntemidir. Bu yöntemin göğüs kanseri verileri doğru sınıflandırma da başarı oranı %97.90 olmuştur.