Machine learning con modelos basados en árboles en Python
Elie Kawerk
Data Scientist
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
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).


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


Machine learning con modelos basados en árboles en Python