Decision Tree
Karar ağacı, verilerden öğrenilmiş bir dizi özellik sorusu sorarak tahmin yapar. Bölünmelerin nasıl seçildiğini, budamanın aşırı öğrenmeyi nasıl azalttığını ve kodu öğren.
Karar ağacı, bir girdinin gelirinin 50.000 doların üzerinde olup olmadığı gibi özellikleri hakkında bir dizi evet-hayır sorusu sorup kökten tahminin bulunduğu yaprağa ilerleyerek tahminde bulunan bir denetimli öğrenme modelidir. Sınıflandırma ağaçları her yaprakta bir sınıf, regresyon ağaçları ise bir sayı tahmin eder. Her tahmin okunabilir bir kural zinciridir; bu da ağaçları açıklanabilir yapay zekâ (XAI) için standart bir araç hâline getirir. Ağaçlar, rastgele ormanların ve artırılmış toplulukların yapı taşlarıdır; bu yöntemler orta büyüklükteki tablo veri kümelerinde hâlâ derin öğrenmeden daha iyi performans gösterir. Breiman, Friedman, Olshen ve Stone'un CART algoritması (1984) ile Ross Quinlan'ın ID3 (1986) ve C4.5 (1993) algoritmaları, ağaçların verilerden nasıl öğrenildiğini ortaya koydu.
Karar Ağacı Nasıl Oluşturulur#
Ağaçlar, yinelemeli bölümleme ile yukarıdan aşağıya büyür. Her düğümde algoritma, sayısal özellikler için her biri bir özellik ve eşikten oluşan aday bölmeleri puanlar; iki alt düğümü en benzer hâle getiren bölmeyi tutar ve aramayı her alt düğümde tekrarlar. Sınıflandırma ağaçları benzerliği Gini safsızlığıyla veya bilgi kazancı adı verilen azalması entropiyle ölçer. Gini safsızlığı, etiketler düğümdeki sınıf oranlarına göre rastgele atanırsa düğümden rastgele seçilen bir örneğin yanlış sınıflandırılma olasılığıdır. Regresyon ağaçları, kareli hatayı en çok azaltan bölmeyi seçer ve yapraklarının her biri eğitim örneklerinin hedef değerlerinin ortalamasını tahmin eder. Bir düğüm saf olduğunda, çok az örnek içerdiğinde veya maksimum derinliğe ulaştığında büyüme durur. Her bölme yalnızca bir adım sonrasını gördüğü için açgözlü arama hızlıca iyi bir ağaç oluşturur; kanıtlanmış en iyi ağacı bulmak ise NP-zordur.
Scikit-learn'ün DecisionTreeClassifier sınıfı, CART'ın optimize edilmiş bir sürümünü uygular. Bu örnekte iris çiçeği veri kümesinde derinliği 2 olan bir ağaç büyütülür ve öğrenilen kurallar yazdırılır:
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier, export_text
iris = load_iris()
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, random_state=42)
# A depth limit keeps the tree small enough to read and less prone to overfitting
clf = DecisionTreeClassifier(max_depth=2, random_state=42)
clf.fit(X_train, y_train)
print(export_text(clf, feature_names=iris.feature_names))
print(f"Test accuracy: {clf.score(X_test, y_test):.2f}")Ağaç yalnızca taç yaprağı uzunluğunu kullanır: 2,45 cm veya daha kısa çiçekler setosa'dır (sınıf 0); 4,75 cm eşiği ise versicolor'u (sınıf 1) virginica'dan (sınıf 2) ayırır. Bu kurallar, ayrılmış çiçeklerin %97'sini doğru sınıflandırır.
Her bölme, ağacın verilerden öğrendiği ve bir kişinin elle de belirleyebileceği bu biçimde bir eşik kuralıdır. Ultralytics AIGym antrenman takip aracı, YOLO26 poz tahmini çıktısı için bu tür iki kuralı elle belirler: Omuz, dirsek ve bilekten hesaplanan dirsek açısı 145°'yi aştığında kareyi "yukarı", 90°'nin altına düştüğünde ise "aşağı" olarak etiketler. Anahtar noktalar arasındaki bu değişimlerin her birinde bir tekrar sayar.
Aşırı Öğrenme ve Budama#
Her yaprağı saf olana kadar büyütülen bir ağaç, gürültü dâhil eğitim verilerini ezberler; bu, aşırı öğrenmenin ders kitaplarındaki örneğidir. Ön budama, maksimum derinlik veya yaprak başına minimum örnek sayısı gibi sınırlarla büyümeyi erken durdurur. Sonradan budama, ağacın tamamını büyütür ve ardından çok az katkı sağlayan dalları kaldırır; scikit-learn, minimal maliyet-karmaşıklık budamasını ccp_alpha parametresiyle uygular; bu parametrenin daha büyük değerleri daha fazla budama yapar. Her iki sınır türü de çapraz doğrulamayla seçilen hiperparametrelerdir.
Budanmış bir ağacın bile varyansı yüksektir: Eğitim verilerindeki küçük bir değişiklik, en üstteki bölmeyi ve onun altındaki tüm bölmeleri değiştirebilir. Topluluklar, çok sayıda ağacı birleştirerek bu sorunu giderir. Rastgele ormanlar, önyükleme örneklerinde eğitilmiş ağaçların ortalamasını alır; gradyan artırma ise önceki ağaçların hatalarını düzeltmek için ağaçları birer birer ekler.
Güçlü Yönler ve Sınırlamalar#
Ağaçlar sayısal ve kategorik özellikleri birlikte işler, özellik ölçeklendirmesi gerektirmez, elle özellik mühendisliği yapmadan etkileşimleri ve doğrusal olmayan etkileri yakalar ve az sayıda karşılaştırmayla tahmin üretir. Bölme sınırları eksenlere paraleldir; bu nedenle "harcama geliri aşıyor" gibi çapraz bir sınır, oran özelliği eklenmediği sürece çok sayıda bölmeden oluşan basamaklı bir yapıya dönüşür. Regresyon ağaçları her yaprakta sabit bir değer tahmin eder; bu nedenle doğrusal regresyondan farklı olarak eğitim verilerinin aralığının ötesine uzanan bir eğilimi tahmin edemez.
Uygulamalar#
- Kredi kararları: Kredi verenler, başvuruları riske göre sıralamak için sığ ağaçlar ve ağaç tabanlı puan kartları kullanır. Her kararın hangi gelir, kredi geçmişi ve borç eşiklerinden kaynaklandığı izlenebilir.
- Klinik triyaj: Ağaç biçimindeki klinik karar kuralları, hastaları yaşamsal bulgularına ve belirtilerine göre yönlendirir; örneğin hastanın acilen görüntülemeye ihtiyaç duyup duymadığını belirler.
- Müşteri kaybı: Ağaçlar müşterileri kullanım, abonelik süresi ve destek geçmişine göre iptal riski yüksek ve düşük segmentlere ayırır; bu segmentlerin yolları her birini açıkça tanımlar.
- Kestirimci bakım: Titreşim, sıcaklık ve çalışma süresi özelliklerini kullanan gradyan artırmalı ağaçlar, bir sonraki servisten önce hangi makinelerin arızalanma olasılığının yüksek olduğunu tahmin eder.
Karar Ağaçları ve İlgili Terimler#
- Rastgele ormanlar: Önyükleme örneklerinde ve rastgele özellik alt kümelerinde eğitilmiş çok sayıda ağacın ortalamasını alır; tek bir ağacın okunabilirliğinden ödün verip daha yüksek doğruluk ve kararlılık sağlar.
- XGBoost, LightGBM ve CatBoost: Önceki ağaçların hatalarını düzeltmek için ağaçları birer birer ekleyen gradyan artırma kütüphaneleridir. LightGBM büyük veri kümelerinde hız için, CatBoost ise yerel kategorik özellik desteği için tasarlanmıştır.
- Derin öğrenme: Sinir ağları ham görüntü, ses ve metin verilerinden özellik öğrenirken ağaçlar, tablo sütunlarında zaten bulunan özelliklere göre dallanır.
- Karar analizi ağaçları: Yöneylem araştırması ve iş planlamasında karar ağacı, seçenekleri beklenen değere göre karşılaştırmak için analistin elle çizdiği; karar düğümleri, şans düğümleri ve getiriler içeren bir diyagramdır. Eğitim verilerinden öğrenilmek yerine tahmin edilen olasılıklardan oluşturulur.










