IniziaInizia gratis

Estrarre un parametro di Random Forest

Ora tradurrai il lavoro svolto in precedenza sul modello di regressione logistica in un modello di random forest. Un parametro di questo modello è, per ciascun albero, come decide di effettuare lo split a ogni livello.

Questa analisi non è utile quanto i coefficienti della regressione logistica, perché difficilmente andrai mai a esplorare ogni split e ogni albero in un modello di random forest. Tuttavia, è un esercizio molto utile per dare un'occhiata sotto il cofano e capire cosa sta facendo il modello.

In questo esercizio estrarremo un singolo albero dal nostro modello di random forest, lo visualizzeremo ed estrarremo in modo programmatico uno degli split.

Hai a disposizione:

  • Un oggetto modello di random forest, rf_clf
  • Un'immagine della parte superiore dell'albero di decisione scelto, tree_viz_image
  • Il DataFrame X_train e la lista original_variables

Questo esercizio fa parte del corso

Ottimizzazione degli iperparametri in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Estrai il 7° albero (indice 6) dal modello di random forest.
  • Visualizza questo albero (tree_viz_image) per vedere le decisioni di split.
  • Estrai la feature e la soglia dello split in cima.
  • Stampa insieme feature e soglia.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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, ____))
Modifica ed esegui il codice