Karar ağacı nedir?
- Makine Öğrenmesi kursu
- Başlangıç
- Ders 53/112
- 5 dk
Karar ağacı, veriyi sorularla bölerek sınıflandıran ağaç benzeri bir modeldir.
Karar ağacı nedir?
Karar ağacı, veriyi evet/hayır sorularıyla adım adım böler: "boy > 170 mi?", "yaş < 30 mu?". Her iç düğüm bir soru, her yaprak bir karardır.
from sklearn.tree import DecisionTreeClassifier, export_text
X = [[20, 0], [25, 1], [40, 0], [50, 1]] # yaş, ev sahibi mi
y = [0, 0, 1, 1]
m = DecisionTreeClassifier(random_state=0).fit(X, y)
print(export_text(m, feature_names=["yas", "ev"]))Ağaçlar yorumlanabilir: modelin neden bir karar verdiği, köke kadar okunan kurallarla açıklanabilir.
Ölçeklendirme gerekmez
Ağaçlar her özelliği ayrı ayrı bir eşikle karşılaştırır; mesafe hesaplamaz. Bu yüzden ölçeklendirme sonucu değiştirmez ve karışık birimli veriyle doğrudan çalışır.
print(m.get_depth()) # ağacın derinliği
print(m.get_n_leaves()) # yaprak sayısıAynı aile regresyonda da çalışır: DecisionTreeRegressor yapraklarda o bölgedeki örneklerin ortalamasını tahmin eder.
Uygulama Ağaç kur
DecisionTreeClassifier(random_state=0) eğit; [[30, 1]] ve [[45, 0]] için tahminleri, ardından ağacın derinliğini yazdır.
Başlangıç kodu
from sklearn.tree import DecisionTreeClassifier
X = [[20, 0], [25, 1], [40, 0], [50, 1]]
y = [0, 0, 1, 1]
# buraya yazÖrnek çözüm
from sklearn.tree import DecisionTreeClassifier
X = [[20, 0], [25, 1], [40, 0], [50, 1]]
y = [0, 0, 1, 1]
m = DecisionTreeClassifier(random_state=0).fit(X, y)
print(m.predict([[30, 1], [45, 0]]))
print(m.get_depth())Beklenen çıktı
[0 1] 1
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Karar ağacında bir yaprak düğüm neyi temsil eder?
- Bir özelliği
- Eğitim hatasını
- Son kararı (tahmini) Doğru cevap
- Bir soruyu
Açıklama: İç düğümler soru sorar; yapraklar sınıf ya da değer verir.
2 Ağacın kurallarını metin olarak yazdır.
print(____(m, feature_names=["yas", "ev"]))
print(export_text(m, feature_names=["yas", "ev"]))
Açıklama: export_text ağacı girintili kurallar olarak verir.
3 Parçaları eşleştir.
| Kavram | Anlamı |
|---|---|
kök |
İlk soru |
iç düğüm |
Ara soru |
yaprak |
Karar |
get_depth() |
Soru zincirinin uzunluğu |