Karar Ağaçları (Decision Trees), sınıflandırma ve regresyon problemleri için yaygın olarak kullanılan bir makine öğrenimi algoritmasıdır. Bu algoritma, bir veri setindeki öznitelikleri ve hedef değişkeni göz önünde bulundurarak bir ağaç yapısı oluşturur ve bu ağaç yapısını kullanarak verileri sınıflandırır veya regresyon yapar.
Karar Ağacı Yapısı
Karar ağaçları, bir kök düğüm (root node), iç düğümler (internal nodes) ve yaprak düğümler (leaf nodes)den oluşur. Her iç düğüm, bir özniteliğin değerine göre veri kümesini bölerek bir karar alır. Yaprak düğümlerinde ise bir sınıflandırma veya regresyon sonucu bulunur.
Karar Ağacı Oluşturma
Karar ağacı oluşturma sürecinde, veri setindeki özniteliklerin bilgi kazancı veya verimlilik kriterlerine göre sıralanması ve en iyi bölünme noktasının seçilmesi önemlidir. Bilgi kazancı, belirli bir özniteliği kullanarak veri kümesini böldüğümüzde elde edilen bilgi miktarındaki azalmayı ölçer. Karar ağacı algoritması, bu bilgi kazancını maksimize edecek şekilde öznitelikleri seçer.
Bilgi Kazancı
Bilgi kazancı, bir karar ağacı algoritması kullanılarak veri kümesini bölmenin ne kadar etkili olduğunu ölçen bir metriktir. Veri kümesini bölerek bilgi kazanılıp kazanılmadığını belirlemek için belirli bir özniteliğin veri kümesini nasıl bölme yeteneğini ölçer. Bilgi kazancı, bir özniteliğin seçilmesinin, hedef değişkeni üzerindeki belirsizliği ne ölçüde azalttığını ifade eder.
Bilgi kazancı, genellikle “entropi” kullanılarak ölçülür. Entropi, bir sistemdeki belirsizlik derecesini ifade eder. Karar ağaçlarında, entropi, bir veri kümesindeki sınıflar arasındaki homojenliği veya belirsizliği ölçer.
Bir özniteliğin bilgi kazancını hesaplamak için şu adımlar izlenir:
- Veri kümesi, özniteliğin her bir farklı değeriyle bölünür.
- Her bölünme sonrasında elde edilen alt küme için entropi hesaplanır.
- Her bir alt kümenin veri noktalarının oranı ile entropi değerleri ağırlıklı olarak toplanır.
- Başlangıçtaki entropi değerinden (tüm veri kümesinin entropisi) ağırlıklı entropi değerleri çıkarılarak bilgi kazancı hesaplanır.
Bir özniteliğin bilgi kazancı ne kadar yüksekse, o özniteliğin veri kümesini bölerken daha etkili olduğu anlamına gelir. Dolayısıyla, karar ağacı algoritması bu özniteliği daha üstün bir bölme kriteri olarak seçer.
Karar Ağacı Algoritmaları
Karar ağaçları için en yaygın kullanılan algoritmalar şunlardır:
- ID3 (Iterative Dichotomiser 3):
- ID3, J. R. Quinlan tarafından geliştirilmiş bir karar ağacı algoritmasıdır.
- Algoritma, veri kümesindeki öznitelikler arasında bir öncelik sıralaması belirler ve en iyi bölünme özniteliğini seçmek için bilgi kazancı ölçütünü kullanır.
- ID3, sadece kategorik özniteliklerle çalışabilir ve bu nedenle sayısal verilerle doğrudan kullanılamaz.
- Ağaç oluşturma işlemi rekürsif olarak gerçekleşir, veri kümesi özniteliklerle bölünür ve her bir alt küme üzerinde aynı işlem tekrarlanır.
- ID3, aşırı öğrenmeye eğilimli olabilir ve eksik verilerle başa çıkma yeteneği sınırlıdır.
- C4.5 (Successor of ID3):
- C4.5, Ross Quinlan tarafından geliştirilmiş ve ID3 algoritmasının geliştirilmiş bir versiyonudur.
- ID3’ün aksine, C4.5 hem kategorik hem de sayısal özniteliklerle çalışabilir.
- C4.5, öznitelik seçimi için bilgi kazancı yerine normalize edilmiş bilgi kazancı (gain ratio) ölçütünü kullanır. Bu, özniteliklerin farklı sayıda olası değerlerine sahip olmaları durumunda adil bir karşılaştırma yapılmasını sağlar.
- C4.5, ağacın oluşturulması sırasında pruning (budama) adı verilen bir süreci kullanarak aşırı öğrenmeyi azaltır. Bu, ağacın gereğinden fazla karmaşık olmasını önler.
- CART (Classification and Regression Trees):
- CART, Breiman tarafından geliştirilmiş bir karar ağacı algoritmasıdır.
- C4.5’in aksine, CART hem sınıflandırma hem de regresyon problemleri için kullanılabilir.
- Sınıflandırma için, CART gini impurity ölçütünü kullanır. Gini impurity, bir veri kümesinin homojenliğini ölçer ve bir özniteliği bölme kriteri olarak seçerken en az impurity’ye sahip olanı seçer.
- Regresyon için, CART ortalama mutlak hata (mean absolute error) veya ortalama kare hata (mean squared error) gibi bir hata metriği kullanır.
- Ağaç oluşturma sırasında, CART her adımda en iyi bölünme noktasını seçmek için tüm olası bölünme noktalarını değerlendirir.
- Ağaç oluşturulduktan sonra, ağacın karmaşıklığını azaltmak için pruning (budama) işlemi uygulanabilir.
Avantajlar
- Anlaşılması ve yorumlanması kolaydır, insan tarafından anlaşılabilir bir yapıya sahiptir.
- Kategorik ve sayısal verilerle iyi çalışır.
- Çok yönlüdür, sınıflandırma ve regresyon problemleri için kullanılabilir.
- Outlier’lar ve eksik veri ile başa çıkabilir.
Dezavantajlar
- Aşırı öğrenmeye (overfitting) eğilimlidir, özellikle derin ağaçlar oluşturulduğunda.
- Düşük genelleme performansı gösterebilir, özellikle veri setindeki dengesizlikler nedeniyle.
- Değişkenler arasındaki etkileşimleri yakalayamaz, bu nedenle bazen karmaşık ilişkileri modellemekte zorlanabilir.
Karar ağaçları, basitlikleri ve yüksek yorumlanabilirlikleri nedeniyle tercih edilen bir makine öğrenimi algoritmasıdır. Ancak, aşırı öğrenme gibi sorunlarla başa çıkmak için çeşitli düzenleme teknikleri ve enseble yöntemleri (örneğin, rastgele ormanlar, gradyan artırma makineleri) ile birlikte kullanılabilirler.
