Machine Learning with Tree-Based Models in Python
Elie Kawerk
Data Scientist
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
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, ..)


# 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)
# 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
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í.


Machine Learning with Tree-Based Models in Python