【发布时间】:2015-11-06 14:46:51
【问题描述】:
我已经训练了一个 sklearn 决策树。
from sklearn.tree import DecisionTreeClassifier
c=DecisionTreeClassifier(class_weight="auto")
c.fit([[0,0],
[0,1],
[1,1],
],[0,1,0])
现在我想检查每个节点有多少正/负样本。因此,像
counts: [2,1] labels: (010)
split by x0
[1,1] [1,0] (01) (0)
split by x1
[1,0] [0,1] 0 (0) (1)
0 1
我怎样才能从经过训练的决策树中得到这个(左计数)?
我可以看到一个c.tree_ 变量,但内容似乎不是很有帮助。有零、权重……很难猜测如何恢复计数。
【问题讨论】:
-
只是每个节点的计数值。在i.imgur.com/9WC72.png 中创建类似饼图的东西
-
我仍然对你想要的输出有点困惑。为什么
counts中的叶子标记为 1、0、1?样本的标签是[0, 1, 0]。为什么根节点是[2, 1]而其子节点是[1, 1]和[0, 1]? -
你是对的。我弄乱了号码。他们现在得到纠正。但是我该如何弥补
class_weight?
标签: python scikit-learn decision-tree