python - 有没有办法检索 sklearn.tree.DecisionTreeClassifier 生成的最终节点数?

标签 python scikit-learn

如果没有对 max_depth、min_samples 等的限制,是否有办法检索 sklearn.tree.DecisionTreeClassifier 生成的最终节点数?

最佳答案

节点数

一旦您拥有了树,您就可以访问其内部的 tree_ 对象,以及该树的各种属性。来源中描述的其中之一是 node_count :

Attributes

  • node_count : int
    The number of nodes (internal nodes + leaves) in the tree.

所以你可以这样做:

c = DecisionTreeClassifier(…)
c.fit(…)
n_nodes = c.tree_.node_count

节点的其他属性

节点的其他各种属性存储在数组中,这些数组是树对象的属性,并由节点 ID 索引。例如,value 属性是节点分数的数组,n_node_samples 是每个节点的样本数数组。 ericmjl的回答通过有关该表示的引用来更详细地介绍。您可以使用它来获取特定节点的值:

c = DecisionTreeClassifier(…)
c.fit(…)
value_i = c.tree_.value[i]

关于python - 有没有办法检索 sklearn.tree.DecisionTreeClassifier 生成的最终节点数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28160129/

相关文章:

python - python中的序列匹配算法

python - 是否有一些方法可以知道 XGBoost 树适合哪个数据子样本?

python - 如何使用与其他两列匹配的Python填充数据集中的空值?

python - 我在logging.py中的flask源上遇到了一些问题

svm - 特征选择后重新规范化特征向量

python - 对 scikit 学习决策树中的 random_state 感到困惑

python - 在Python中循环不按顺序的列表

python - Django:类型转换抽象模型

Python脚本不写入txt文件

Python模块在多个产品之间共享