ComenzarEmpieza gratis

Visualizar árboles individuales de XGBoost

Ahora que has usado XGBoost para crear y evaluar modelos de regresión y también de clasificación, es buen momento para aprender a explorar visualmente tus modelos. Aquí, vas a visualizar árboles individuales del modelo completamente potenciado que XGBoost crea usando todo el conjunto de datos de viviendas.

XGBoost tiene una función plot_tree() que facilita este tipo de visualización. Una vez que entrenas un modelo usando la API de aprendizaje de XGBoost, puedes pasarlo a la función plot_tree() junto con el número de árboles que quieres graficar mediante el argumento num_trees.

Este ejercicio forma parte del curso

Extreme Gradient Boosting con XGBoost

Ver curso

Instrucciones del ejercicio

  • Crea un diccionario de parámetros con "objective" igual a "reg:squarederror" y "max_depth" igual a 2.
  • Entrena el modelo usando 10 rondas de boosting y el diccionario de parámetros que creaste. Guarda el resultado en xg_reg.
  • Grafica el primer árbol usando xgb.plot_tree(). Acepta dos argumentos: el modelo (en este caso, xg_reg) y num_trees, que comienza en 0. Así que, para graficar el primer árbol, indica num_trees=0.
  • Grafica el quinto árbol.
  • Grafica el último (décimo) árbol en orientación horizontal. Para hacerlo, especifica el argumento adicional rankdir="LR".

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Create the DMatrix: housing_dmatrix
housing_dmatrix = xgb.DMatrix(data=X, label=y)

# Create the parameter dictionary: params
params = {"objective":"reg:squarederror", "max_depth":2}

# Train the model: xg_reg
xg_reg = xgb.train(params=params, dtrain=housing_dmatrix, num_boost_round=10)

# Plot the first tree
____
plt.show()

# Plot the fifth tree
____
plt.show()

# Plot the last tree sideways
____
plt.show()
Editar y ejecutar código