Извлечение параметра случайного леса
Теперь вы перенесёте работу, выполненную ранее с моделью логистической регрессии, на модель случайного леса. Один из параметров этой модели — способ, которым конкретное дерево принимает решение о разбиении на каждом уровне.
Такой анализ менее информативен, чем изучение коэффициентов логистической регрессии: вряд ли вам когда-либо удастся изучить каждое разбиение и каждое дерево в модели случайного леса. Тем не менее это очень полезное упражнение — заглянуть «под капот» и понять, что делает модель.
В этом упражнении мы извлечём одно дерево из модели случайного леса, визуализируем его и программно извлечём одно из разбиений.
Вам доступны:
- Объект модели случайного леса
rf_clf - Изображение верхней части выбранного дерева решений
tree_viz_image - DataFrame
X_trainи списокoriginal_variables
Это упражнение является частью курса
Подбор гиперпараметров в Python
Инструкции к упражнению
- Извлеките 7-е дерево (индекс 6) из модели случайного леса.
- Визуализируйте это дерево (
tree_viz_image), чтобы увидеть решения о разбиении. - Извлеките признак и уровень верхнего разбиения.
- Выведите признак и уровень вместе.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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, ____))