:::: MENU ::::

RapidMiner’da Decision Tree Uygulaması

rapidminer-logo-retinaMerhaba Arkadaşlar,

Bir veri seti üzerinde Sınıflandırma metodunun bir algoritması olan uygulamasını sizlere elimden geldiğince anlatmak istiyorum. Veri seti olarak Göğüs Kanseri veri setini kullanacağız. Bu veri setine aşağıdaki linkten erişebilirsiniz:
http://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/

Öncelikle ’da yeni bir proses başlatalım(File->New). Yeni prosesi başlatıp Read Excel operatörünü çalışma alanına bırakalım. Bir önceki yazımızda anlattığımız üzere bu operatörü indirdiğimiz ve excel ortamına taşıdığımız veri seti ile bağlayalım. Bu kısmı tekrar anlatmayacağım. Bundan sonrasına değinmeye çalışacağım.

Veri setimizin exceldeki görünümü aşağıdaki gibi olacaktır. Tabi eğer siz veri setinin attribute değerlerini Türkçeleştirmediyseniz (ki Türkçeleştirmenizi öneririm. Çünkü ortaya çıkan karar ağacını yorumlamanız zorlaşacaktır) ilk haliyle görünecektir.

1

Ben RapidMiner’da Read Excel operatörü için Sihirbazın çalıştırıldığı kısımdan devam edeyim. Data import wizard’ı çalıştırdıktan sonra 4 adet adımı konfigüre etmeniz gerekecek. 1. Adımda veri setinin bulunduğu dizini gösterip ilerliyoruz. 2. Adımda veri setine ait tüm verileri seçeceğimiz için dokunmadan ilerliyoruz. 3. Adımda da attribute değerlerinin bulunduğu (ilk satırı) seçerek ilerliyoruz. Son aşamayı da aşağıdaki resimde gösterildiği gibi seçmemiz gerekecek. Çünkü Decision Tree algoritmasını sağlıklı olarak çalıştırmanız için bir adet label değerine ihtiyacınız olacaktır. Decision Tree algoritması bu label üzerinden çalışarak ekrana karar ağacını dökecektir. Yani karar ağacının son yapraklarının ne olacağını siz belirliyorsunuz demektir. Diğer tüm kısmı ise algoritmaya bırakacaksınız. Biz de burda Hücre Tipini (iyi huylu- kötü huylu) label olarak seçiyoruz. Bu sayede hangi hücre yapısında hastalığın iyi huylu ya da kötü huylu olduğunu keşfedebileceğiz.

2

Bunu da yaptıktan sonra diğer operatörlere geçelim. Dilerseniz direk Decision Tree operatörünü veri setimize bağlayarak kullanabilirsiniz. Yani aşağıdaki gibi bunu yapabilirsiniz. Ancak ben birkaç farklı operatörü daha tanıtmak istiyorum. Bu yüzden buna göre devam edeceğim.

3

Bu şekilde de algoritmamız sorunsuz çalışacaktır. Fakat biz çıktı ekranımızın daha zengin görünmesini istiyoruz. Bunun için şöyle devam edelim:
Evalution->Validation->Split Validation operatörünü ekrana bırakalım. Bu operatör ile ekran ikiye ayrılacaktır (üstüne çift tıkladığımızda). Sol taraf training, sağ taraf testing kısmı olacaktır. Yani veri setimizin öğrenme ve test edilme kısımlarını ayıran bir öperatördür. Bir önceki proses ekranına dönmek için üst kısımdaki Process kısmına tıklamanız yeterli olacaktır.
4
Elbette şu an için operatörümüz kırmızı ikonla bizi hatalı olduğuna dair uyarıyor. Bunun sebebi ise henüz içeriğinin boş olması. İçine çift tıklayarak girdiğimizde ise aşağıdaki ekran görüntülenir.
5
Burada kullanacağımız operatörlere geçmeden önce neden split validation kullandığımızı açıklayalım. Bu operatör bir seti için aşamaları ikiye böler. Daha sonra kullanılan algoritmaya göre bu modeli değerlendirir. Sol tarafla sağ taraf birbiriyle bağlantılı çalışır. Yani sol tarafta kullanılan işleminden ( setini modele göre uyarlamayı kastediyorum) çıkan sonuç sağ tarafa uyumlu olmalıdır. Excel den gelen veri setleri girdi olarak soldaki tra bağlantısından alınır. Burada işlendikten sonra mod kısmından sağdaki ekrana verilir. Sağdaki ekrandaki modeli uygulama aşamasından sonra da ave bağlantısından Split Validation operatörünün sağ bağlantı uçlarından sonuç ekranına gönderilir.
Bu operatörü kullanmakla sol kısımda veri setimizi eğitmiş olduk. Sağ kısımda da bu eğitim ile öğrenilen modeli uygulamış olduk.
Devam edecek olursak kullanacağımız Decision Tree operatörünü sol kısma bırakıyoruz(Modelling-> Classification->Tree Induction). Sol kısma ise Apply Model(Model Application->Thresholds) ile Performance(Evolution->Performance Measurement) operatörlerini bırakıyoruz. Bu operatörleri de kısaca açıklayalım:
Decision Tree: Göğüs Kanseri verilerini alarak label kısmına göre bir karar ağacı oluşturur.
Apply Model: Split Validation kullandığımız için sol tarafta öğrenilen modeli veri seti üzerine uygular.
Performance: Sonuç ekranını zenginleştirerek uygulama esnasındaki performans ölçümlerini ekrana verir. Son görünüm aşağıdaki gibidir;6
İç kısmı bitirdikten sonra Process düğmesi ile tasarımımıza dönelim. Bağlantılarımızı aşağıdaki gibi yapalım. Burada göreceğiniz gibi artık operatörümüz düzgün çalıştığını sarı imge ile bildiriyor.
7
Sağ kısım bizim ekran çıktılarımızın verildiği result bağlantılarımızın olduğu kısımdır. Burada ne kadar çok bağlantı varsa sonuç ekranında o kadar çok sekme oluşacaktır. Mesela şu anda 2 bağlantı için 2 sekme oluşması beklenmektedir. Artık Play butonu ile sonuçları takip edebiliriz. Ağacımızın Grafik gösterimi aşağıdaki gibi olur:
8
Text kısmı ise aşağıdaki gibidir. 9
Yorumlamak için hangisini seçeceğiniz size kalmış. Mesela soldaki ilk dalın yorumlaması şöyle olabilir:
Hücre boyutu 3.905’ten büyük olan ve Marjinal Yapısı 0.640 dan büyük olan kanser hücreleri genellikle kötü huyludur denebilir. Tabi bu terimleri anlamak için biraz tıp bilmek gerekir diye düşünüyorum (: Siz daha anlaşılır veri setleri üzerinden bu uygulamayı yapabilirsiniz.
Umarım faydalı olmuştur. Herkese kolay gelsin.
Kaynak: Muhammed COŞTAN

Benzer Yazılar

Paylasmak istersen Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInShare on TumblrBuffer this pageShare on RedditEmail this to someone

Evet, Konu hakkındaki düşüncelerini alalım ?

  • 18 + 1 = ? (İşleminin Sonucu)