Klasifikační rozhodovací strom

Machine Learning with Tree-Based Models in Python

Elie Kawerk

Data Scientist

Přehled kurzu

  • Kap. 1: Klasifikační a regresní strom (CART)

  • Kap. 2: Kompromis mezi vychýlením a rozptylem

  • Kap. 3: Bagging a náhodné lesy

  • Kap. 4: Boosting

  • Kap. 5: Ladění modelu

Machine Learning with Tree-Based Models in Python

Klasifikační strom

  • Posloupnost podmínek if-else nad jednotlivými příznaky.

  • Cíl: odvodit třídní štítky.

  • Zachycuje nelineární vztahy mezi příznaky a štítky.

  • Nevyžaduje škálování příznaků (např. standardizaci, ..)

Machine Learning with Tree-Based Models in Python

Dataset rakoviny prsu ve 2D

Dataset rakoviny prsu ve 2D

Machine Learning with Tree-Based Models in Python

Diagram rozhodovacího stromu

Schéma rozhodovacího stromu

Machine Learning with Tree-Based Models in Python

Klasifikační strom v 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)
Machine Learning with Tree-Based Models in Python

Klasifikační strom v 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
Machine Learning with Tree-Based Models in Python

Oblasti rozhodnutí

Oblast rozhodnutí: oblast v prostoru příznaků, kde jsou všechny instance přiřazeny k jedné třídě.

Hranice rozhodnutí: plocha oddělující různé oblasti rozhodnutí.

Oblast rozhodnutí

Machine Learning with Tree-Based Models in Python

Oblasti rozhodnutí: CART vs. lineární model

LRvsDT

Machine Learning with Tree-Based Models in Python

Pojďme procvičovat!

Machine Learning with Tree-Based Models in Python

Preparing Video For Download...