Karar Ağaçları (Decision Trees)

Karar Ağacı Nedir ? Ne İşe Yarar ?

Karar ağaçları, basitçe, bir durum hakkında yapabileceğiniz seçimler ve bu seçimlerin neden olacağı çıktıların dallanmalar şeklinde ayrılmış şemasına verilen isimdir.Karar ağaçları olayların sınıflandırılmasını, hakkında çıkarımlar yapılmasını oldukça kolaylıştırır. Karışık grafik analizleri yerine bir karar ağacı çıkarttığınızda seçtiğiniz verinin hangi çıktıyı vereceğini çok daha kısa bir sürede görebilirsiniz.

Mantıksal İfadeler ile Karar Ağaçları

Karar ağaçları mantıksal operatörler kullanılarak oluşturulurlar.

Mesela ‘ve’ yani ‘and’ operatörünü ele alalım. A ve B olasılığımız olsun. Yukarıdaki tabloda gördüğünüz gibi sadece A ve B olasılığının ikisi de doğruysa çıktımız doğru oluyor.Yani
bu ağacın yapısı aşağıdaki gibi olacak :



Eğer elimizde bir ‘veya’ yani ‘or’ durumu varsa, tablonun gösterdiği üzere sadece A ve B olasılıklarının ikisinin de yanlış olduğu durumlarda çıktımız yanlış olacak.Yani bu ağaç oluşturulmak istendiğinde yapısı şöyle olur :

ID3 Algoritması ve Özellik Seçimi

Karar ağaçlarının oluşturulması sırasında her dallanmada sorulacak soruların veriyi doğru parçalara ayırması gerekir.Dolayısıyla dallanma sayısını olabildiğince az tutarak, olabildiğince efektif sorular sormak gerekir. ID3 algoritmasıyla bu tür bir karar ağacı oluşturmak mümkün.Bu algoritmada her adımda elimizdeki veri hakkında bize en fazla bilgiyi sağlayabilcek olan özellikler soru olarak seçilir. Bir özelliğin bize kazandıracağı bilginin miktarı gain() fonksiyonuyla bulunur.Fakat burada bilgisayar bilimlerinde yabancı olabileceğimiz bir terim ortaya çıkıyor: “Entropi” ya da formulde gösterilen şeklliyle Info() fonksiyonu. En basit şekilde anlatmak gerekirse entropi, bir olayın,sistemin rastgeleliğinin ölçüsüdür. Burda entropinin bilgi edinimiyle ilişkilendirilmesinin nedenini şöyle açıklayayım.

Diyelim elimizde hilesiz bir para var, bir yüzünde tura diğer yüzünde ise yazı tarafı bulunuyor. Bu parayla bir yazı-tura oyunu oynadığımızda tura ya da yazı gelme olasılığı 50%’dir. Entropi cinsinden tanımlamak gerekirse buna 1 entropi birimi diyelim. Bu parayı attıktan sonra başta sahip olmadığımız bir bilgi edinme şansımız var, paranın atıldıktan sonra yazı ya da tura gelmesi üstüne bir bilgi.Bu bilgiyi 1 entropi birimi kazancı olarak da düşünebiliriz. Şimdi elimizde iki tarafı da tura olan hileli bir para olduğunuve bununla oynadığımızı düşünelim. Bu sefer biliriz ki kaç kere atarsak atalım hep tura gelecek, (ya dik gelirse? demeyin çünkü bu olasılığı çok küçük olduğu için dahil etmeyelim.) yani bu parayı attıktan sonra başta bilmediğimiz hiçbir bilgi elde edilmeyecek. Dolayısıyla olayın entropi birimi 0 olacak.

Aşağıdaki görselde bir grup insanın bilgisayar alıp almaması üzerine yapılan bir çalışmada elde edilen verilerin bir karar ağacına dönüştürülmesi sırasında yaş özelliğinin gain() fonksiyonunun hesaplanmasını görebilirsiniz :

Karar ağaçları hakkında daha fazla ve spesifik bilgiyi ilgili wikipedia sayfasında bulabilirsiniz.

Paylaş Yorumlar