Aprendizado de máquina com modelos baseados em árvores em Python
Elie Kawerk
Data Scientist
Cap. 1: Classification And Regression Tree (CART)
Cap. 2: Trade-off viés–variância
Cap. 3: Bagging e Random Forests
Cap. 4: Boosting
Cap. 5: Ajuste de modelo
Sequência de perguntas if-else sobre atributos.
Objetivo: inferir rótulos.
Captura relações não lineares entre atributos e rótulos.
Não requer escalonamento (ex.: padronização).


# Importar DecisionTreeClassifier from sklearn.tree import DecisionTreeClassifier # Importar train_test_split from sklearn.model_selection import train_test_split # Importar accuracy_score from sklearn.metrics import accuracy_score# Dividir em 80% treino, 20% teste X_train, X_test, y_train, y_test= train_test_split(X, y, test_size=0.2, stratify=y, random_state=1)# Instanciar dt dt = DecisionTreeClassifier(max_depth=2, random_state=1)
# Treine dt no conjunto de treino dt.fit(X_train,y_train) # Preveja os rótulos do teste y_pred = dt.predict(X_test)# Avalie a acurácia no teste accuracy_score(y_test, y_pred)
0.90350877192982459
Região de decisão: área no espaço de atributos onde todas as instâncias recebem o mesmo rótulo.
Fronteira de decisão: superfície que separa regiões de decisão.


Aprendizado de máquina com modelos baseados em árvores em Python