Karar ağaçları (Decision Trees), veriyi dallara ayırarak sınıflandırma (classification) ve regresyon (regression) problemlerini çözmeye yarayan bir makine öğrenmesi yöntemidir. Ağaç tabanlı öğrenme modellerinin temelini oluşturur ve Random Forest ve XGBoost gibi gelişmiş modeller bu prensiplere dayanır.
Karar Ağaçlarının Temel Yapısı
Karar ağaçları, hiyerarşik bir yapı kullanarak veriyi belirli kurallar çerçevesinde bölerek sınıflandırma veya tahmin yapar. Ağaç yapısı şu temel bileşenlerden oluşur:
Kök Düğüm (Root Node)
- Ağacın en üst seviyesindeki düğümdür.
- Verinin en iyi şekilde bölünmesini sağlayacak değişken seçilir.
İç Düğümler (Internal Nodes)
- Veriyi belirli kriterlere göre iki veya daha fazla alt gruba ayıran düğümlerdir.
- Her iç düğüm, belirli bir bölünme kriteri kullanarak veriyi parçalar.
Yaprak Düğümler (Leaf Nodes)
- Daha fazla bölünemeyen ve nihai tahmini/sınıflandırmayı içeren düğümlerdir.
- Regresyon problemlerinde bir tahmin değeri, sınıflandırma problemlerinde bir kategori içerir.
Dallanma (Branching)
- Kök düğümden yaprak düğümlere kadar olan bağlantıları oluşturur.
Karar Ağaçlarının Çalışma Prensibi
Karar ağaçları, böl ve yönet (divide and conquer) prensibini kullanarak çalışır. Bir ağaç oluşturma süreci şu adımlardan oluşur:
En İyi Bölünme Kriterini Belirleme
- Karar ağaçları, veriyi bölmek için en iyi değişkeni (feature) ve en iyi eşik değerini (threshold) belirlemeye çalışır.
- Bu aşamada bilgi kazancı (information gain), Gini katsayısı (Gini impurity) veya varyans azalımı (variance reduction) gibi metrikler kullanılır.
Sınıflandırma Problemleri için Bölünme Kriterleri
Gini Katsayısı (Gini Impurity):
- Düğüme gelen verinin ne kadar saf (homojen) olduğunu ölçer.
- Küçük bir Gini değeri, düğümdeki örneklerin çoğunun aynı sınıfa ait olduğunu gösterir.
- Gini Hesaplama Formülü:
- Burada pi, i sınıfına ait örneklerin oranıdır.
Bilgi Kazancı (Information Gain) - Entropi:
- Düğümdeki bilgi düzensizliği (entropy) ölçülerek bölünmenin kalitesi değerlendirilir.
- Entropi Hesaplama Formülü:
• Bilgi kazancı, bölünmeden önceki ve sonraki entropi farkı ile hesaplanır:
• Entropi değeri düşük olan bölünmeler tercih edilir.
Regresyon Problemleri için Bölünme Kriteri
Varyans Azalımı (Variance Reduction):
- Ağaç, veriyi bölerken toplam varyansı azaltmaya çalışır.
- Dallanma sonucu oluşan düğümler arasındaki varyans farkı hesaplanarak en iyi bölünme noktası belirlenir.
Karar Ağacı ile Overfitting Sorunu ve Çözümleri
Overfitting karar ağacı modelleri ve diğer pek çok tahmin modeli için önemli bir sorundur. Öğrenme algoritması etkileyecek şekilde eğitim seti hatalarını azaltmaya devam edildiğinde overfitting olur. Bir karar ağaç inşasında overfitting’ten kaçınmak için genelde iki yaklaşım kullanılır;
- Pre-pruning: Sınırlandırma işleminde önce ağacın büyümesini durdurmak.
- Post-pruning: öncelikle tüm ağacı oluşturup daha sonra ağaçtaki gereksiz kısımları çıkarmak.
Uygulamada ne zaman pruning (budama) işleminin yapılacağını belirlemedeki zorluk sebebiyle ilk yaklaşım pek kullanılmaz. İkinci yaklaşım çok daha başarılıdır. Bu yaklaşım aşağıdaki adımlara dikkat edilmelidir:
- Budama işlemine karar vermek için eğitim verisinden farklı bir veri seti kullanmak. Bu veri setine doğrulama veri seti (validation dataset) denir. Validation dataset gereksiz düğümlere karar vermek için kullanılır.
- Bir karar ağacı elde ettikten sonra, hata tahmini (error estimation) ve önem testi (Significance testing – Chi Square Testing) gibi istatiksel metotlar kullanarak eğitim verisi üzerinde budama ve genişleme (expanding – ağaça yeni node’lar ekleme) olup olmayacağına karar verilir.
- Minimum Description Length principle: karar ağacı ile eğitim veri seti arasında bir ölçüdür. Boyut(tree) + Boyut(sınıflanamayan(tree)) minimize olduğunda ağaç büyümesini durdurma.
Avantajlar ve Dezavantajlar
Avantajlar
Kolay Anlaşılır ve Yorumlanabilir
- Karar ağaçları, dallanma yapısı sayesinde insanlar tarafından kolayca görselleştirilebilir ve anlaşılabilir.
- Veri içindeki önemli özellikleri belirlemeye yardımcı olur.
Veri Ön İşleme Gereksinimi Azdır
- Kategorik ve sayısal verilerle çalışabilir.
- Eksik verilerle başa çıkabilme yeteneği yüksektir.
Öznitelik Seçimi ve Önem Sıralaması
- Karar ağaçları, değişkenlerin önem sırasını belirleyerek, gereksiz özniteliklerin elenmesine yardımcı olabilir.
Hızlı ve Hesaplama Maliyeti Düşük
- Küçük ve orta ölçekli veri setleri için hızlı çalışır.
Kural Tabanlı Kararlar Üretebilir
- Her bir dal, "if-then" mantığıyla yorumlanabilir ve karar kuralları kolayca çıkarılabilir.
Dezavantajlar
Aşırı Öğrenme (Overfitting) Riski
- Karar ağaçları, özellikle dallanma derinliği fazla olduğunda, eğitim verisine aşırı uyum sağlayarak genelleme kabiliyetini kaybedebilir.
Gürültüye ve Küçük Veri Değişikliklerine Hassasiyet
- Küçük değişiklikler, ağacın yapısını tamamen değiştirebilir ve bu da modelin kararsız olmasına neden olabilir.
Dengesiz Veri Setlerinde Zayıf Performans
- Veri setindeki sınıflar dengesizse (örneğin bir sınıf diğerine göre çok fazlaysa), karar ağacı az görülen sınıfları göz ardı edebilir.
Büyük Veri Setleri İçin Verimsiz Olabilir
- Büyük veri setlerinde ağaç derinliği arttıkça hesaplama maliyeti yükselir ve modelin yorumlanabilirliği azalır.
Kesikli ve Sürekli Değişkenlerde Kararsızlık
- Özellikle sürekli değişkenler kullanıldığında, veri bölünmelerinde optimal olmayan seçimler yapabilir.