Decision Trees (Karar Ağaçları)

Veriyi özellik değerlerine göre özyinelemeli ikili bölmelerle ayırarak sınıflandırma ve regresyon yapan yorumlanabilir ağaç tabanlı öğrenme modeli.

Karar ağaçları (decision trees), bir veri setini özellik değerlerine göre ardışık ikili bölmelere ayırarak sınıflandırma veya regresyon görevi gerçekleştiren yorumlanabilir makine öğrenmesi modelidir. Kök düğümden yaprak düğümlerine uzanan her dal bir karar kuralını, her yaprak ise bir tahmin değerini veya sınıf etiketini temsil eder. Karar ağacı eğitimi özyinelemeli ikili bölme algoritmasıyla çalışır. Her adımda tüm özellikler ve olası bölme noktaları değerlendirilir; en yüksek bilgi kazancı (information gain) veya en düşük Gini safsızlığı veren kombinasyon seçilerek düğüm bölünür. Bu işlem yaprak düğüm saf hâle gelene ya da önceden belirlenen maksimum derinliğe ulaşılana kadar tekrarlanır. Karar ağaçlarının en güçlü yanı yorumlanabilirliktir. Model her tahminini adım adım açıklayan doğal kural seti üretir; bir müşterinin kredi başvurusunun neden reddedildiğini "gelir 30.000 TL altı VE borç oranı 0.4 üstü" gibi sade mantıksal ifadelerle görmek mümkündür. Bu şeffaflık, GDPR ve yapay zeka şeffaflığı düzenlemeleri kapsamındaki görevlerde önemli bir avantaj sunar. Öte yandan sınırlandırılmamış karar ağaçları kolayca eğitim verisini ezberler; her yaprak tek bir örneği temsil eden aşırı derin bir ağaç oluşabilir. Minimum örnekle yaprak parametresi, maksimum derinlik kısıtı ve maliyet-karmaşıklık budaması bu soruna karşı temel çözüm araçlarıdır. Tek bir karar ağacının sınırlamalarını aşmak için topluluk (ensemble) yöntemleri geliştirilmiştir. Random Forest, her biri rastgele özellik alt kümesiyle eğitilen yüzlerce ağacın oy çokluğunu kullanır. Gradient Boosting yöntemleri olan XGBoost ve LightGBM ise hataları ardışık ağaçlarla düzelterek yapısal verili görevlerde çoğu zaman derin öğrenme modellerini geride bırakır. Karar ağaçları hem sayısal hem kategorik özelliklerle çalışabilir; ölçeklendirme gerektirmez ve aykırı değerlere karşı görece sağlamlıdır. Özellik önemi hesaplaması, modelin hangi değişkenlere ne ölçüde dayandığını sayısal olarak ortaya koyar ve veri analizi süreçlerinde yol gösterici bir araç işlevi görür.

Ağaç Nasıl Büyür?

Karar ağacı eğitimi özyinelemeli ikili bölme algoritmasıyla çalışır. Her adımda tüm özellikler ve olası bölme noktaları değerlendirilir; en yüksek bilgi kazancı veya en düşük Gini safsızlığı veren kombinasyon seçilir. Bu işlem yaprak düğüm saf hale (tek sınıf) gelene ya da önceden belirlenen maksimum derinliğe ulaşılana kadar tekrarlanır. Budama (pruning) teknikleri gereksiz dalları keserek aşırı öğrenmeyi engeller.

Yorumlanabilirlik Avantajı

Karar ağacı, modelin her tahminini adım adım açıklayan doğal kural seti üretir. Bir müşterinin kredi başvurusunun neden reddedildiğini 'gelir 30000 TL altı VE borç oranı 0.4 üstü' gibi basit mantıksal ifadelerle görmek mümkündür. Bu şeffaflık, GDPR ve yapay zeka şeffaflığı düzenlemeleri kapsamındaki görevlerde karmaşık kara kutu modellerine göre önemli bir avantaj sunar.

Aşırı Öğrenme ve Budama

Sınırlandırılmamış karar ağaçları kolayca eğitim verisini ezberler; her yaprak tek bir örneği temsil eden aşırı derin bir ağaç oluşabilir. Minimum örnekle yaprak (min_samples_leaf) ve maksimum derinlik (max_depth) parametreleri buna karşı önlem alır. Maliyet-karmaşıklık budaması (cost-complexity pruning) ise doğrulama seti performansına göre ağacı geriden kısaltır.

Topluluk Yöntemlerine Geçiş

Tek bir karar ağacının sınırlamalarını aşmak için topluluk (ensemble) yöntemleri geliştirilmiştir. Random Forest, her biri rastgele özellik alt kümesiyle eğitilen yüzlerce ağacın oy çokluğu kararını kullanır. Gradient Boosting (XGBoost, LightGBM) ise hataları ardışık ağaçlarla düzelterek çok daha güçlü ve genelleşen modeller üretir; bu yöntemler yapısal verili görevlerde çoğunlukla derin öğrenmeyi geride bırakır.

Karar Ağacı Türevleri

Random Forest

Öznitelik rastgeleliği ve bagging ile yüzlerce ağacı birleştirir; tek ağaca göre belirgin şekilde yüksek doğruluk ve gürültüye dayanıklılık.

Gradient Boosting (XGBoost)

Sıralı artımsal ağaçlarla artık hataları minimize eder; tablo verisi görevlerinde rakipsiz performans, Kaggle yarışmalarının favori algoritması.

LightGBM

Yaprak odaklı büyüme ve histogram tabanlı bölme; XGBoost'a kıyasla 10x+ daha hızlı eğitim, büyük veri setleri için tercih.

Isolation Forest

Rastgele bölme ile anomali tespiti; normal örnekler derin ağaçlarda, anormal örnekler sığ ağaçlarda izole olur.

Sıkça Sorulan Sorular

  • check_circle Karar ağacı hangi veri türlerini işleyebilir? Hem sayısal hem de kategorik özellikleri işleyebilir. Kategorik değişkenler için bazı uygulamalar one-hot encoding gerektirir; ancak CatBoost gibi türevler bunu otomatik yönetir.
  • check_circle Random Forest ile tek karar ağacı arasında nasıl seçim yapmalıyım? Yorumlanabilirlik öncelikliyse tek ağaç tercih edilir. Performans öncelikliyse Random Forest veya Gradient Boosting her zaman daha iyi sonuç verir.
  • check_circle Eksik verilerle karar ağacı çalışır mı? Bazı uygulamalar (örneğin sklearn) eksik değerleri doğrudan desteklemez; XGBoost ise eksik değerleri otomatik yönetir.
  • check_circle Özellik önemi nasıl hesaplanır? Her özelliğin ağaçtaki bölmelerde sağladığı toplam safsızlık azalması ölçülür. Bu değer normalize edilerek özellik önem skoru elde edilir; bu yöntem özellik seçiminde ve yorumlamada yaygın kullanılır.