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.
Bu kod, basit bir karar ağacı eğitip sonucu görselleştirir:
1from sklearn.tree import DecisionTreeClassifier, plot_tree2from sklearn.datasets import load_iris3import matplotlib.pyplot as plt45# Ö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.target910# Karar ağacı oluştur (derinlik sınırla: açıklanabilir olsun)11model = DecisionTreeClassifier(max_depth=3, random_state=42)12model.fit(X, y)1314# Ağacı görselleştir15plt.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()2021# Tahmin ve açıklama22test_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.
0 yorum