【发布时间】:2019-09-19 20:02:36
【问题描述】:
我在机器学习项目中使用随机森林回归器。为了更好地理解预测的逻辑,我想可视化一些决策树并检查何时使用哪些特征。
为此,我编写了以下代码:
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]。这个数字是否对应于 original 数据集中的列?如果不是,我如何告诉它使用列的名称而不是数字?
【问题讨论】:
标签: scikit-learn decision-tree