ÎncepețiÎncepe gratuit

Extragerea unui parametru din Random Forest

Vei aplica acum aceleași tehnici folosite anterior pe modelul de regresie logistică, de data aceasta pe un model de tip random forest. Un parametru al acestui model este, pentru un arbore dat, modul în care s-a decis împărțirea la fiecare nivel.

Această analiză nu este la fel de utilă ca și coeficienții regresiei logistice, deoarece este puțin probabil să explorezi vreodată fiecare împărțire și fiecare arbore dintr-un model random forest. Cu toate acestea, este un exercițiu foarte util pentru a înțelege ce face modelul în culise.

În acest exercițiu vom extrage un singur arbore din modelul nostru random forest, îl vom vizualiza și vom extrage programatic una dintre împărțiri.

Ai la dispoziție:

  • Un obiect model random forest, rf_clf
  • O imagine cu partea de sus a arborelui de decizie ales, tree_viz_image
  • DataFrame-ul X_train și lista original_variables

Acest exercițiu face parte din cursul

Ajustarea hiperparametrilor în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Extrage al 7-lea arbore (indexul 6) din modelul random forest.
  • Vizualizează acest arbore (tree_viz_image) pentru a vedea deciziile de împărțire.
  • Extrage caracteristica și nivelul primei împărțiri (top split).
  • Afișează caracteristica și nivelul împreună.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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, ____))
Editează și rulează codul