CodeBlanks Logo Icon CodeBlanks

Sınıflandırma

Karar ağacı, yaprak düğümlerde çoğunluk sınıfı belirler.

Ağaçla sınıflandırma

Yeni bir örnek kökten başlayıp sorulara göre sağa ya da sola giderek bir yaprağa ulaşır. Tahmin, o yapraktaki eğitim örneklerinin çoğunluk sınıfıdır; predict_proba ise yapraktaki sınıf oranlarıdır.

m = DecisionTreeClassifier(max_depth=2, random_state=0).fit(X, y)
print(m.predict(X[:3]))
print(m.predict_proba(X[100:101]))

Derinliği sınırlı ağaçlarda yapraklar karışık olabilir; olasılıklar bunu yansıtır.

Özellik önemleri

feature_importances_, her özelliğin bölmelerde safsızlığı ne kadar azalttığını gösterir; toplamı 1'dir:

from sklearn.datasets import load_iris
d = load_iris()
m = DecisionTreeClassifier(random_state=0).fit(d.data, d.target)
for ad, o in zip(d.feature_names, m.feature_importances_):
    print(f"{ad}: {o:.2f}")

Iris'te taç yaprak (petal) ölçüleri neredeyse tüm önemi taşır; çanak yaprak (sepal) ölçüleri az katkı verir.

Uygulama En önemli özellik

Iris'te DecisionTreeClassifier(random_state=0) eğit. En önemli özelliğin indeksini argmax ile bulup yazdır, ardından önemlerin toplamını round(..., 3) ile yazdır.

Başlangıç kodu

model.py
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier

X, y = load_iris(return_X_y=True)

# buraya yaz

Örnek çözüm

model.py
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier

X, y = load_iris(return_X_y=True)

m = DecisionTreeClassifier(random_state=0).fit(X, y)
print(m.feature_importances_.argmax())
print(round(m.feature_importances_.sum(), 3))

Beklenen çıktı

3
1.0

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bir yaprakta 8 A ve 2 B örneği varsa o yaprağa düşen örnek için <code>predict_proba</code> nedir?

  • [1.0, 0.0]
  • [0.5, 0.5]
  • [8, 2]
  • [0.8, 0.2] Doğru cevap

Açıklama: Olasılık, yapraktaki sınıf oranlarıdır: 8/10 ve 2/10.

2 Özellik önemlerini oku.

Soru
onem = m.____
Cevap
onem = m.feature_importances_

Açıklama: Ağaç tabanlı modellerde önemler feature_importances_ özniteliğindedir.

3 Çıktıları eşleştir.

Kavram Anlamı
predict Yaprağın çoğunluk sınıfı
predict_proba Yapraktaki oranlar
feature_importances_ Özellik katkıları
get_n_leaves() Yaprak sayısı

Başlangıç bölümündeki tüm dersler