您如何在Python的scikit-learn中访问树深度?

iltp38

我正在使用scikit-learn创建随机森林。但是,我想找到每棵树的深度。它似乎是一个简单的属性,但是根据文档(http://scikit-learn.org/stable/modules/generation/sklearn.ensemble.RandomForestClassifier.html),无法访问它。

如果这不可能,是否有一种方法可以从“决策树”模型中访问树的深度?

任何帮助,将不胜感激。谢谢你。

me

的每个实例RandomForestClassifier都有一个estimators_属性,该属性是一个DecisionTreeClassifier实例列表该文档显示的实例DecisionTreeClassifier具有tree_属性,该属性是(我认为未记录)Tree的实例解释器中的一些探索表明,每个Tree实例都有一个max_depth参数,参数似乎正是您要寻找的参数-再次,它没有记录。

无论如何,如果forest是您的实例RandomForestClassifier,则:

>>> [estimator.tree_.max_depth for estimator in forest.estimators_]
[9, 10, 9, 11, 9, 9, 11, 7, 13, 10]

应该可以。

每个估算器还有一个get_depth()方法,可以用更简短的语法检索相同的值:

>>> [estimator.get_depth() for estimator in forest.estimators_]
[9, 10, 9, 11, 9, 9, 11, 7, 13, 10]

为避免混淆,应注意,每个估计量(而不是每个估计量tree_都有一个被调用的属性,该属性max depth返回参数的设置而不是实际树的深度。如何estimator.get_depth()estimator.tree_.max_depth以及estimator.max_depth彼此相关澄清在下面的例子:

from sklearn.datasets import load_iris
from sklearn.ensemble import RandomForestClassifier
clf = RandomForestClassifier(n_estimators=3, random_state=4, max_depth=6)
iris = load_iris()
clf.fit(iris['data'], iris['target'])
[(est.get_depth(), est.tree_.max_depth, est.max_depth) for est in clf.estimators_]

出去:

[(6, 6, 6), (3, 3, 6), (4, 4, 6)]

将最大深度设置为默认值None将允许第一棵树扩展到深度7,输出为:

[(7, 7, None), (3, 3, None), (4, 4, None)]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Python scikit-learn中从随机森林中的每棵树输出回归预测?

来自分类Dev

在随机森林模型(Python,scikit-learn)中访问单个树的底层(tree_)对象

来自分类Dev

如何在scikit Learn,Python中处理名义数据?

来自分类Dev

如何在SQLite中递归计算树深度

来自分类Dev

如何在Dhall中编码多个深度的规则树?

来自分类Dev

如何在R中递归构建深度未知的树

来自分类Dev

在scikit-learn中报告DecisionTreeClassifier的学习树的深度和叶子数

来自分类Dev

您如何在Python 2.7中映射键盘键?

来自分类Dev

您如何在Python中请求IMDB API?

来自分类Dev

您如何在Python3中设置Cookie策略?

来自分类Dev

您如何在python脚本中读取html模板?

来自分类Dev

您如何在Python中处理管道和输出?

来自分类Dev

您如何在Python 2.7中映射键盘键?

来自分类Dev

您如何在is语句的python interms中定义对象

来自分类Dev

如何在Ruby中深度嵌套的哈希中访问值?

来自分类Dev

Python中的二进制搜索树的深度

来自分类Dev

在Python中实现深度优先的树迭代器

来自分类Dev

Python:二叉树中的最大深度

来自分类Dev

Python:二叉树中的最大深度

来自分类Dev

如何找到树的深度

来自分类Dev

如何在Swift中访问深度嵌套的字典

来自分类Dev

如何在Swift中访问深度嵌套的对象

来自分类Dev

我如何在angularjs中访问深度嵌套的json对象

来自分类Dev

在scikit-learn中可视化决策树

来自分类Dev

是否可以在scikit-learn中打印决策树?

来自分类Dev

可以在scikit-learn中修改/修剪学到的树吗?

来自分类Dev

如何在scikit-learn中预测时间序列?

来自分类Dev

如何在scikit-learn中理解DecisionTreeClassifier的输出?

来自分类Dev

如何在scikit-learn的DecisionTreeRegressor中获取节点的MSE?

Related 相关文章

  1. 1

    如何在Python scikit-learn中从随机森林中的每棵树输出回归预测?

  2. 2

    在随机森林模型(Python,scikit-learn)中访问单个树的底层(tree_)对象

  3. 3

    如何在scikit Learn,Python中处理名义数据?

  4. 4

    如何在SQLite中递归计算树深度

  5. 5

    如何在Dhall中编码多个深度的规则树?

  6. 6

    如何在R中递归构建深度未知的树

  7. 7

    在scikit-learn中报告DecisionTreeClassifier的学习树的深度和叶子数

  8. 8

    您如何在Python 2.7中映射键盘键?

  9. 9

    您如何在Python中请求IMDB API?

  10. 10

    您如何在Python3中设置Cookie策略?

  11. 11

    您如何在python脚本中读取html模板?

  12. 12

    您如何在Python中处理管道和输出?

  13. 13

    您如何在Python 2.7中映射键盘键?

  14. 14

    您如何在is语句的python interms中定义对象

  15. 15

    如何在Ruby中深度嵌套的哈希中访问值?

  16. 16

    Python中的二进制搜索树的深度

  17. 17

    在Python中实现深度优先的树迭代器

  18. 18

    Python:二叉树中的最大深度

  19. 19

    Python:二叉树中的最大深度

  20. 20

    如何找到树的深度

  21. 21

    如何在Swift中访问深度嵌套的字典

  22. 22

    如何在Swift中访问深度嵌套的对象

  23. 23

    我如何在angularjs中访问深度嵌套的json对象

  24. 24

    在scikit-learn中可视化决策树

  25. 25

    是否可以在scikit-learn中打印决策树?

  26. 26

    可以在scikit-learn中修改/修剪学到的树吗?

  27. 27

    如何在scikit-learn中预测时间序列?

  28. 28

    如何在scikit-learn中理解DecisionTreeClassifier的输出?

  29. 29

    如何在scikit-learn的DecisionTreeRegressor中获取节点的MSE?

热门标签

归档