Beslutsträd för klassificering

Maskininlärning med trädbaserade modeller i Python

Elie Kawerk

Data Scientist

Kursöversikt

  • Kap 1: Classification And Regression Tree (CART)

  • Kap 2: Bias-varians-avvägningen

  • Kap 3: Bagging och Random Forests

  • Kap 4: Boosting

  • Kap 5: Modelljustering

Maskininlärning med trädbaserade modeller i Python

Klassificeringsträd

  • Sekvens av ja/nej-frågor om enskilda särdrag.

  • Mål: härleda klassetiketter.

  • Kan fånga icke-linjära samband mellan särdrag och etiketter.

  • Kräver ingen särdragsskalning (t.ex. standardisering, ..)

Maskininlärning med trädbaserade modeller i Python

Bröstcancerdatamängden i 2D

BC2D

Maskininlärning med trädbaserade modeller i Python

Beslutsträdsdiagram

CART-rep

Maskininlärning med trädbaserade modeller i Python

Klassificeringsträd i scikit-learn

# 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 the 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 dt = DecisionTreeClassifier(max_depth=2, random_state=1)
Maskininlärning med trädbaserade modeller i Python

Klassificeringsträd i scikit-learn

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

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

# Evaluate the test-set accuracy accuracy_score(y_test, y_pred)
0.90350877192982459
Maskininlärning med trädbaserade modeller i Python

Beslutsregioner

Beslutsregion: område i särdragsrymden där alla instanser tilldelas en klassetikett.

Beslutsgräns: yta som separerar olika beslutsregioner.

DR

Maskininlärning med trädbaserade modeller i Python

Beslutsregioner: CART vs. linjär modell

LRvsDT

Maskininlärning med trädbaserade modeller i Python

Nu kör vi en övning!

Maskininlärning med trädbaserade modeller i Python

Preparing Video For Download...