ComeçarComece de graça

Extraindo um parâmetro de Random Forest

Agora você vai adaptar o trabalho feito anteriormente no modelo de regressão logística para um modelo de random forest. Um parâmetro desse modelo é, para uma dada árvore, como ela decide dividir em cada nível.

Essa análise não é tão útil quanto os coeficientes da regressão logística, pois é improvável que você explore todas as divisões e todas as árvores em um modelo de random forest. Ainda assim, é um ótimo exercício para dar uma espiada no que o modelo está fazendo por baixo dos panos.

Neste exercício, vamos extrair uma única árvore do nosso modelo de random forest, visualizá-la e extrair programaticamente uma das divisões.

Você tem disponível:

  • Um objeto de modelo de random forest, rf_clf
  • Uma imagem do topo da árvore de decisão escolhida, tree_viz_image
  • O DataFrame X_train e a lista original_variables

Este exercício faz parte do curso

Ajuste de Hiperparâmetros em Python

Ver curso

Instruções do exercício

  • Extraia a 7ª árvore (índice 6) do modelo de random forest.
  • Visualize essa árvore (tree_viz_image) para ver as decisões de divisão.
  • Extraia a variável e o nível da divisão do topo.
  • Imprima a variável e o nível juntos.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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, ____))
Editar e executar o código