当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《如何在Python的scikit-learn中访问树深度?》经验,为你挑选了1个好方法。

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

如果这不可能,有没有办法从决策树模型访问树深度?

任何帮助,将不胜感激.谢谢.



1> jme..:

每个实例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]

应该做的伎俩.


这个答案是不正确的,这告诉你森林中每棵树的最大_allowed_深度,而不是实际深度.因此,例如用`max_depth = 10`训练的随机森林将返回:````[10,10,10,...]```
推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有