Árbol de decisión para clasificación

Machine learning con modelos basados en árboles en Python

Elie Kawerk

Data Scientist

Resumen del curso

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

  • Cap. 2: Compensación sesgo-varianza

  • Cap. 3: Bagging y Random Forests

  • Cap. 4: Boosting

  • Cap. 5: Ajuste de modelos

Machine learning con modelos basados en árboles en Python

Árbol de clasificación

  • Secuencia de preguntas if-else sobre atributos individuales.

  • Objetivo: inferir etiquetas de clase.

  • Capta relaciones no lineales entre atributos y etiquetas.

  • No requiere escalado de atributos (p. ej., estandarización).

Machine learning con modelos basados en árboles en Python

Dataset de cáncer de mama en 2D

BC2D

Machine learning con modelos basados en árboles en Python

Diagrama de árbol de decisión

CART-rep

Machine learning con modelos basados en árboles en Python

Árbol de clasificación en scikit-learn

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

# Divide el 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)
# Instancia dt dt = DecisionTreeClassifier(max_depth=2, random_state=1)
Machine learning con modelos basados en árboles en Python

Árbol de clasificación en scikit-learn

# Ajusta dt al conjunto de entrenamiento
dt.fit(X_train,y_train) 

# Predice las etiquetas del test
y_pred = dt.predict(X_test)

# Evalúa la accuracy en test accuracy_score(y_test, y_pred)
0.90350877192982459
Machine learning con modelos basados en árboles en Python

Regiones de decisión

Región de decisión: zona del espacio de atributos donde todas las instancias reciben la misma clase.

Frontera de decisión: superficie que separa distintas regiones de decisión.

DR

Machine learning con modelos basados en árboles en Python

Regiones de decisión: CART vs. modelo lineal

LRvsDT

Machine learning con modelos basados en árboles en Python

¡Vamos a practicar!

Machine learning con modelos basados en árboles en Python

Preparing Video For Download...