Extraer un parámetro de Random Forest
Ahora vas a adaptar el trabajo que hiciste con el modelo de regresión logística a un modelo de random forest. Un parámetro de este modelo es, para un árbol concreto, cómo decide dividir en cada nivel.
Este análisis no resulta tan útil como los coeficientes de la regresión logística, ya que es poco probable que explores cada división y cada árbol de un random forest. Aun así, es un ejercicio muy útil para mirar “bajo el capó” y entender qué hace el modelo.
En este ejercicio extraeremos un único árbol de nuestro modelo de random forest, lo visualizaremos y extraeremos por código una de sus divisiones.
Tienes disponible:
- Un objeto de modelo de random forest,
rf_clf - Una imagen de la parte superior del árbol de decisión seleccionado,
tree_viz_image - El DataFrame
X_trainy la listaoriginal_variables
Este ejercicio forma parte del curso
Ajuste de hiperparámetros en Python
Instrucciones del ejercicio
- Extrae el séptimo árbol (índice 6) del modelo de random forest.
- Visualiza este árbol (
tree_viz_image) para ver las decisiones de división. - Extrae la variable y el umbral de la división superior.
- Imprime juntos la variable y el umbral.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Extract the 7th (index 6) tree from the random forest
chosen_tree = rf_clf.estimators_[____]
# Visualize the graph using the provided image
imgplot = plt.imshow(____)
plt.show()
# Extract the parameters and level of the top (index 0) node
split_column = chosen_tree.tree_.feature[____]
split_column_name = X_train.columns[split_column]
split_value = chosen_tree.tree_.threshold[____]
# Print out the feature and level
print("This node split on feature {}, at a value of {}".format(split_column_name, ____))