Karar Ağaçları Neden Açıklanabilir Yapay Zeka İçin İdeal

# Karar Ağaçları Neden Açıklanabilir Yapay Zeka İçin Tercih Edilir

Karar ağaçları, makine öğrenmesi modellerinin içini görebileceğimiz nadir araçlardan biri. Siyah kutu algoritmalar (derin öğrenme, sinir ağları) gibi değil: her kararın arkasında bir neden var ve onu takip edebilirsin.

Bankayla kredi başvurusu yap. Sistem "hayır" derse, neden reddedildi? Karar ağacı bunu söyler: "Geliş 15.000 TL altında ve kredi geçmişi kötü." Sinir ağı ise sadece "hayır" der, gerekçe yoktur. Tıbbi, hukuki ve finansal alanlarda açıklanabilirlik yasalı zorunluluktur (GDPR, TCCPA gibi).

Model, verileri soru-cevap zinciriyle böler. Örneğin müşteri segmentasyonunda:

1. "Yaş > 30?" Evet/Hayır
2. Her dal için yeni soru "Gelir > 50.000?"
3. Sonunda yaprak düğümde karar: "Premium müşteri" veya "Standart müşteri"

Her yol okunabilir ve insanlar tarafından doğrulanabilir.

Reklam · TEST
AdSense Test ReklamıYazı arası (gönderi içi) · Yazı arası

Bu kod, basit bir karar ağacı eğitip sonucu görselleştirir:

1from sklearn.tree import DecisionTreeClassifier, plot_tree
2from sklearn.datasets import load_iris
3import matplotlib.pyplot as plt
4
5# Örnek veri (Iris çiçek veri seti)
6iris = load_iris()
7X = iris.data[:,:2] # Sadece 2 özellik (sepal uzunluğu, sepal genişliği)
8y = iris.target
9
10# Karar ağacı oluştur (derinlik sınırla: açıklanabilir olsun)
11model = DecisionTreeClassifier(max_depth=3, random_state=42)
12model.fit(X, y)
13
14# Ağacı görselleştir
15plt.figure(figsize=(12, 8))
16plot_tree(model, feature_names=iris.feature_names[:2],
17class_names=iris.target_names, filled=True)
18plt.title("Karar Ağacı: Çiçek Türü Sınıflandırması")
19plt.show()
20
21# Tahmin ve açıklama
22test_sample = [[5.5, 3.0]]
23prediction = model.predict(test_sample)
24print(f"Tahmin: {iris.target_names[prediction[0]]}")
25print(f"Karar yolu: Sepal uzunluğu 5.5, sepal genişliği 3.0")

Beklenen çıktı: Görselleştirilen ağaç, her düğümde hangi özelliğin kontrol edildiğini, kaç örneğin o yola gittiğini ve sonuç dağılımını gösterir. "Sepal uzunluğu > 5.45? Evet Sepal genişliği > 3.1? Hayır Versicolor" şeklinde okunabilir bir yol elde edersin.

- Okunabilir: İnsan mantığı gibi çalışır
- Doğrulanabilir: Her karar adımı kontrol edilebilir
- Hızlı: Tahmin zamanı çok kısa
- Özellik önem: Hangi özelliklerin karar aldığını gösterir

Çok derin ağaçlar aşırı öğrenme (overfitting) yapar ve karmaşıklaşır. `max_depth` parametresiyle derinliği sınırla. Veri dengesiz ise `class_weight='balanced'` kullan.

Karar ağaçları, açıklanabilir yapay zeka ihtiyacı olan her projede başlangıç noktasıdır.

Reklam · TEST
AdSense Test ReklamıGönderi altı · Görüntülü
konu hakkında tepkinizi verebilirsiniz