Я использую регрессор случайных лесов в проекте машинного обучения.Чтобы лучше понять логику предсказаний, я хотел бы визуализировать некоторые деревья решений и проверить, какие функции используются, когда.
Для этого я написал следующий код:
from sklearn.tree import export_graphviz
from subprocess import call
from IPython.display import Image
# Select one estimator from the Random Forests
estimator = best_estimators_regr['RandomForestRegressor'][0].estimators_[0]
export_graphviz(estimator, out_file=path+'tree.dot',
rounded=True, proportion=False,
precision=2, filled=True)
call(['dot', '-Tpng', path+'tree.dot', '-o', path+'tree.png', '-Gdpi=600'])
Image(filename=path+'tree.png')
Проблема в том, что я использую параметр max_features
при обучении модели, поэтому я не знаю, какие функции используются в каждом дереве.Таким образом, при построении дерева я просто получаю X[some_number]
.Соответствует ли это число столбцу в оригинальном наборе данных?Если нет, как я могу сказать использовать имя столбца, а не номер?