如何可视化sklearn随机森林回归器的单棵决策树并查询其节点数
错误原因
你遇到的AttributeError是因为plot_tree不属于DecisionTreeRegressor类的实例方法,而是sklearn.tree模块提供的独立工具函数,无法直接通过决策树对象调用。
解决方案
可视化单棵决策树
按以下步骤编写代码即可:
- 先导入依赖模块:
from sklearn.tree import plot_tree import matplotlib.pyplot as plt
- 调用函数渲染指定的决策树,可通过参数调整可视化效果:
# 渲染第一棵决策树,可根据需要调整索引取其他树 plot_tree( rf.estimators_[0], feature_names=['你的特征名1', '你的特征名2'], # 可选参数,标注特征名称更易读 filled=True, # 可选参数,给节点填充颜色区分分支 rounded=True, # 可选参数,节点边框设为圆角 precision=2 # 可选参数,数值显示精度 ) plt.show()
注意:
plot_tree是scikit-learn 0.21版本新增的功能,如果你使用的版本低于该要求,可先执行pip install -U scikit-learn升级版本后再运行。
获取决策树总节点数量
每个决策树实例的tree_属性内置了节点统计字段,直接读取即可:
# 获取第一棵决策树的总节点数 node_num = rf.estimators_[0].tree_.node_count print(node_num)
内容的提问来源于stack exchange,提问作者Abijah
相关产品推荐
相关产品推荐

