Bir Karar Ağacı Algoritması Nasıl Oluşturabilirim?

Burak Yılmaz
BilgeAdam Teknoloji
3 min readDec 18, 2019

Karar ağacı tam olarak nedir? Sınıflandırmamıza yardımcı olmak için onları nasıl kullanırız? Kendi karar ağacımı nasıl oluşturabilirim? Bunlar, karar ağacı terimini duyduğunuzda aklınıza gelebilecek sorulardan bazıları olabilir.

Bir çalışma için veri toplayan bir tıp araştırmacısı olduğunu hayal edin. Hepsi aynı hastalıktan müzdarip olan bir grup hasta hakkında veri topladınız. Tedavi sürecinde her hasta iki ilaçtan birine yanıt vermektedir. Bu ilaçlar Drug-X ve Drug-Y. Çalışmanın bir parçası olarak aynı hastalığa sahip olan gelecekteki bir hasta için hangi ilacın uygun olabileceğini bulmak için bir model oluşturmaktır. Elimizdeki veri setinin özellikleri Yaş, Cinsiyet, Kan Basıncı ve Kolesteroldür, bunun yanında her hastanın tedavi sürecinde cevap veridiği ilaç türü bulunmaktadır.

Veri Seti

Bu bir ikili sınıflayıcı örneğidir ve bir karar ağacı oluşturmak için veri setinin eğitim için ayrılan bölümü kullanılabilir. Daha sonra onu bilinmeyen bir hasta sınıfı için kullanabiliriz.

Bu veri kümesi için nasıl bir karar ağacının oluşturulduğunu görelim. Karar ağaçları, eğitim setini bir düğümün verilerin bir kategorisinin tümünü veya çoğunu içerdiği farklı düğümlere bölerek oluşturulur. Aşağıdaki şemaya bakarasak, bunun bir hasta sınıflandırıcısı olduğunu görebiliriz. Dolayısıyla, belirtildiği gibi, yeni bir hastaya ilaç yazmak istiyoruz, ancak yazacağımız ilaç türü hastanın durumundan etkilenecektir.

Şemada görüldüğü gibi yaş ile başlıyoruz. Eğer hasta orta yaşlı ise kesinlikle İlaç-Y kullanacaktır. Fakat genç ve yaşlı hastalarda hangi ilacı yazacağımızı belirlememiz için biraz daha detaya ihtiyaç duyuyoruz. Burada ek karar değişkeni Kolesterol düzeyi, Cinsiyet ve Kan Basıcı gibi veri setimizde bulunan özellikler kullanılabilir. Örneğin hasta Kadın ise o zaman İlaç-X önerilecek, ancak hasta Erkek ise o zaman İlaç-Y önerilecek. Bu küçük örnekte görüldüğü gibi karar ağaçları test sonuçlarına dayanılarak bir niteliği test etme ve vakaları dallandırma ile ilgilidir. Her iç düğüm bir teste karşılık gelir ve her dal ise testin sonucuna karşılık gelir. Bunun sonucunda her yaprak düüğümü hastaya bir sınıf atar.

Şimdi soru şu, nasıl bir karar ağacı oluşturabiliriz?

Tek tek nitelikleri göz önüne alarak bir karar ağacı oluşturulabilir. Karar ağacı oluştururken aşaıdaki adımları takip edebilirsiniz:

· İlk olarak, veri kümemizden bir özellik seçin,

· Veri setinde bulunan özelliğin verinin bölünmesindeki önemini hesaplayın,

· Verileri en iyi özniteliğe dahip değere göre bölün,

· Her bir dala gidin ve özelliklerin geri kalanı için takrarlayın

Bu ağacı kurduktan sonra, bilinmeyen vakaların sınıfını veya bizim durumumuzda, yeni gelen bir hastanın özelliklerine göre onun için en uygun İlacı tahmin etmek için kullanabilirsiniz.

--

--

BilgeAdam Teknoloji
BilgeAdam Teknoloji

Published in BilgeAdam Teknoloji

BilgeAdam Teknoloji yazılım geliştiricilerinin deneyimlediği makalelerinin bir çatı altında toplandığı tüm yazılım geliştiricilerin faydalanması için oluşturduğu paylaşım sayfasıdır.