Veri Madenciliği’nde Karar Ağaçları

082620_1216_KararAalar2.jpg

Karar ağaçları, verilmek istenen kararın modelini, olası sonuçlarını ve faydalarını görsele döken veri madenciliği aracıdır.Dilediğiniz koşullar ve kıstaslar ile algoritmanızı görüntülemenin bir yoludur.Genellikle yöneylem araştırmaları, karar analizleri, karar destek yazılımları gibi alanlarda kullanılsalar da makina öğrenmesinde de oldukça popüler bir kullanıma sahiptirler.Örneğin ‘Kalp Yetmezliği Riski’ başlıklı farazi bir veri setini ele alalım.Bu veri setinde hastaların; yaş, cinsiyet, anemi, diyabet, çarpıntı, tansiyon ve risk yüzdeleri gibi bilgilerinin bulunduğu veri setini işleyelim.İstediğimiz kıstasları kullanabilir, istemediğimiz kıstasları ağaca katmayabiliriz.Ben örnek olması için küçük bir ağaç oluşturmak istedim ve sadece çarpıntı, cinsiyet, yaş ve risk yüzdesi bilgilerini dahil ettim.Tabi ki bir insanın kalp yetmezliği riski, sadece bu faktörler ile ölçülemeyecektir.

Resim-1

Resim-1’de görülen ağaç, tarafımca örnek olarak oluşturulmuş olup, herhangi bir veri setine dayanmamaktadır.Ağaç, istenen kıstasları kullanarak verileri evet/hayır, 0-1 arası değerler olarak bölüp sonuçladırmaktadır. Günümüzde bir çok veri seti aslında bu şekilde sunulmaktadır bunlara en bilindik örnek covid-19 ile ilgili olan verilebilir. Covid-19 başladığı zamanlarda toplumdaki endişelerden biri kimlerde daha çok ve ölümcül ortaya çıktığıydı.Bunun cevabını, vakaların görüldüğü ilk yüz kişinin örneklem alınmasıyla vermek mümkündü.Bu kişileri inceleyip, var olan kronik hastalıklarının, yaşın, cinsiyetin ve vaka sonucunun not edilmesiyle birlikte yaratılan bir veri setinin işlenmesi sonucu oluşan ağaç, bugün bize, erkeklerde kadınlara oranla ya da akciğer sorunu olanların olmayanlara oranla daha ağır vaka yaşandığını gösterebiliyor.Aslında elimizde güvenilir veri olduğunda karar vermek ne kadar da kolaymış değil mi? O zaman Rapidminer üzerinden bir örnek yapalım ancak bu sefer sağlıkla ilgili olmasın.

RapidMiner, metin madenciliği, makine öğrenmesi, tahmin edici
analiz ve iş analizi amaçlarına yönelik olarak aynı isimli firma tarafından geliştirilmiş bir veri madenciliği programıdır.Profesyonel kullanımı ücretli olup, ücretsiz community kullanımı da mevcuttur. Rapidminer dışında da bir başka karar ağacı çıkarabileceğimiz uygulama da Weka’dır.İstenilen konulardaki verilere ‘dataset’ araması yaparak ulaşmanız ve verileri Excel ile düzenlemeniz mümkündür.Örnekte, IBM HR Analytics Employee Attrition & Performance başlıklı veri setini kullanacağım, veri setine Google üzerinde arama yaparak ulaşabilirsiniz.Bu veri setinde 35 farklı kıstas olup, ben çalışanların yıpranma payını hedef aldım.Veri setinin orjinal hali İngilizce olduğu için, ben Excel üzerinden Türkçe olarak düzenleyip kullandım.

Resim-2

Veriyi işlerken Set Role kısmında label olarak yıpranma kıstasını seçtim çünkü benim hedefim bu kıstas olacak.Attributes kısmında ise aylık gelir, iş memnuniyeti, mesai, toplam çalışma yılı, yaş ve hedefim olduğu için yıpranma kıstasını aldım.Daha fazla kıstas alınabilir ancak kıstas ne kadar artarsa ağaç da o kadar dallanacaktır.Split Data aşamasında veriyi %30 ve %70 olarak bölüp, %30’luk kısmını model oluşturulması için karar ağacına gönderdim.Bu sayede iki sonuç türünden de karışık (shuffled) olarak eşit miktarlarda örneklemler alarak eğitim ve test (train and test) işlemini gerçekleştirecek.

Resim-3

Ağacı özetlememiz gerekirse, iş memnuniyeti 5 üzerinden işlenmiştir, evet ve hayır ise, yıpranma olup olmadığını gösterir.Performans ölçümü ve ağaçla birlikte gelen bir diğer sonuçta kaç doğru kaç yanlış tahmin yapmışız ya da yaptığımız tahminler yüzde kaç güvenilir bunları görebiliriz.


Resim-4

Resim-4’te ağacın performans sonucu gösterilmiştir.Bu sonuç sayesinde verileri yüzde kaç doğru tahmin etmişiz, yıpranma yok dediğimiz kaç çalışanda aslında yıpranma var görebiliyoruz.Örneğin ‘Hayır’ sütununa baktığımızda, 872 hayırı doğru bilen karar mekanizması 11 tanesini de evet olarak tahmin etmiş.Bu durum ‘Evet’ sütununda daha kötü bir hal almış.

Bu yazıda Rapidminer programı ile basit bir karar ağacı örneği yaptım.Karar destek yazılımlarında ve bir çok yöneylem araştırmasında ilk basamak olan bu araç, kullanımı kolay ve anlaşılır olmakla birlikte veriniz büyüdükçe de işin içinden çıkılamaz bir hal alabiliyor. Ancak unutulmamalıdır ki herhangi bir ağacı oluştururken koşullar iyileştirilebilir.Verileri %70 – %30 bölmek, bu örnekte tamamen kişisel bir seçim.Önemli olan veriyi tanıyabilmek ve makinamızın öğrenmesini sağlayabilmek.

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar:
www.mshowto.org

TAGs: Veri madenciliği, makina öğrenmesi, karar ağaçları, RapidMiner , karar destek yazılımları, yöneylem

Yazı gezinmesi

Mobil sürümden çık