Sınıflandırma Ağacı Öğrenimi

Python ile Ağaç Tabanlı Modellerle Machine Learning

Elie Kawerk

Data Scientist

Bir Karar Ağacının Yapı Taşları

  • Karar Ağacı: düğüm hiyerarşisinden oluşan veri yapısı.

  • Düğüm: soru veya tahmin.

Python ile Ağaç Tabanlı Modellerle Machine Learning

Bir Karar Ağacının Yapı Taşları

Üç tür düğüm:

  • Kök: ebeveyn düğüm yoktur; soru iki çocuk düğüm üretir.

  • İç düğüm: bir ebeveyn düğümü vardır; soru iki çocuk düğüm üretir.

  • Yaprak: bir ebeveyn düğümü vardır; çocuk düğüm yoktur --> tahmin.

Python ile Ağaç Tabanlı Modellerle Machine Learning

Tahmin

DT-etiketli

Python ile Ağaç Tabanlı Modellerle Machine Learning

Bilgi Kazancı (IG)

BG-diyagramı

Python ile Ağaç Tabanlı Modellerle Machine Learning

Bilgi Kazancı (IG)

IG-formülü

Bir düğümün safsızlığını ölçme ölçütü $I (node)$:

  • gini indeksi,
  • entropi. ...
Python ile Ağaç Tabanlı Modellerle Machine Learning

Sınıflandırma Ağacı Öğrenimi

  • Düğümler özyineli olarak büyütülür.

  • Her düğümde veri şuna göre bölünür:

    • öz nitelik $f$ ve $IG(\text{node})$ maksimize eden ayrım noktası $sp$.
  • $IG (\text{node})$ = 0 ise düğüm yaprak ilan edilir.

    ...

Python ile Ağaç Tabanlı Modellerle Machine Learning
# Import DecisionTreeClassifier
from sklearn.tree import DecisionTreeClassifier
# Import train_test_split
from sklearn.model_selection import train_test_split
# Import accuracy_score
from sklearn.metrics import accuracy_score
# Split dataset into 80% train, 20% test
X_train, X_test, y_train, y_test= train_test_split(X, y, 
                                                   test_size=0.2, 
                                                   stratify=y,
                                                   random_state=1)
# Instantiate dt, set 'criterion' to 'gini'
dt = DecisionTreeClassifier(criterion='gini', random_state=1)
Python ile Ağaç Tabanlı Modellerle Machine Learning

scikit-learn'de Bilgi Ölçütü

# Fit dt to the training set
dt.fit(X_train,y_train)

# Predict test-set labels
y_pred= dt.predict(X_test)

# Evaluate test-set accuracy
accuracy_score(y_test, y_pred)
0.92105263157894735
Python ile Ağaç Tabanlı Modellerle Machine Learning

Ayo berlatih!

Python ile Ağaç Tabanlı Modellerle Machine Learning

Preparing Video For Download...