Beslissingsboom voor classificatie

Machine Learning met boomgebaseerde modellen in Python

Elie Kawerk

Data Scientist

Cursusoverzicht

  • Hfdst. 1: Classification And Regression Tree (CART)

  • Hfdst. 2: Bias-variantie-afruil

  • Hfdst. 3: Bagging en Random Forests

  • Hfdst. 4: Boosting

  • Hfdst. 5: Modelafstemming

Machine Learning met boomgebaseerde modellen in Python

Classificatieboom

  • Reeks if-else-vragen over individuele features.

  • Doel: klasse-labels afleiden.

  • Kan niet-lineaire relaties tussen features en labels vastleggen.

  • Geen feature-scaling nodig (bv. standaardisatie, …)

Machine Learning met boomgebaseerde modellen in Python

Borstkankerdataset in 2D

BC2D

Machine Learning met boomgebaseerde modellen in Python

Diagram van beslissingsboom

CART-rep

Machine Learning met boomgebaseerde modellen in Python

Classificatieboom in scikit-learn

# Importeer DecisionTreeClassifier
from sklearn.tree import DecisionTreeClassifier
# Importeer train_test_split
from sklearn.model_selection import train_test_split
# Importeer accuracy_score
from sklearn.metrics import accuracy_score

# Splits de dataset: 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)
# Instantieer dt dt = DecisionTreeClassifier(max_depth=2, random_state=1)
Machine Learning met boomgebaseerde modellen in Python

Classificatieboom in scikit-learn

# Fit dt op de trainingsset
dt.fit(X_train,y_train) 

# Voorspel labels voor de testset
y_pred = dt.predict(X_test)

# Evalueer de nauwkeurigheid op de testset accuracy_score(y_test, y_pred)
0.90350877192982459
Machine Learning met boomgebaseerde modellen in Python

Beslissingsregio’s

Beslissingsregio: gebied in de feature-ruimte waar alle instanties één label krijgen.

Beslissingsgrens: grens die beslissingsregio’s scheidt.

DR

Machine Learning met boomgebaseerde modellen in Python

Beslissingsregio’s: CART vs. lineair model

LRvsDT

Machine Learning met boomgebaseerde modellen in Python

Laten we oefenen!

Machine Learning met boomgebaseerde modellen in Python

Preparing Video For Download...