如何知道使用 Scikit-learn 构建的树的大小(节点数)?

Posted

技术标签:

【中文标题】如何知道使用 Scikit-learn 构建的树的大小(节点数)?【英文标题】:How to know the size (Number of nodes) of the tree built using Scikit-learn? 【发布时间】:2015-02-08 10:45:16 【问题描述】:

decReg = DecisionTreeRegressor() clf = decReg.fit(X, Y)

直觉上,任何人都会期望 decReg 或 calf 应该有一个函数,该函数将返回树中增长的节点数。但是,我看不到任何这样的功能。还有什么要知道树的大小吗?

【问题讨论】:

【参考方案1】:
# Instantiate a decision tree
clf = tree.DecisionTreeClassifier()

# Fit the decision tree
...

# Print node count
print(clf.tree_.node_count)

【讨论】:

【参考方案2】:

根据documentation,有tree_ 属性,您可以遍历该树以查找任何感兴趣的属性。特别是,children_rightchildren_left 属性似乎很有用。

【讨论】:

感谢您的指点。但是,你能告诉我你从哪里得到 children_left、children_right 的信息吗?我认为您引用的页面不包含该内容。 @happy_coder,我是从解释器那里得到的。我相信在tree_ 上调用dir 会有所帮助。 再次感谢!我可以知道您使用的是哪种口译员吗? @happy_coder,当然。我使用 ipython——它有一些语法高亮和自动完成(在选项卡上)。

以上是关于如何知道使用 Scikit-learn 构建的树的大小(节点数)?的主要内容,如果未能解决你的问题,请参考以下文章

使用 scikit-learn 时,如何找到我的树分裂的属性?

使用 scikit-learn 时,如何找到我的树分裂的属性?

使用 scikit-learn 时,如何找到我的树分裂的属性?

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

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

scikit-learn RandomForestClassifier 中的子样本大小