【问题标题】:Interpreting information on Decision Tree nodes from sklearn从 sklearn 解释决策树节点的信息
【发布时间】:2021-09-03 11:38:47
【问题描述】:
用 sklearn 创建的决策树的每个节点的“值”是什么解释?我认为“值”中的数字应该加起来为“样本”,但正如您从图像中看到的那样,我的没有。 (这是一张只有一个节点的图片,但它们都是这样的。)我知道这一定与我应用的类权重有关,因为当我制作没有加权的决策树时,这些值加起来就是样本.但是由于我的数据的 10% 是“1”,而目标变量 90% 是“0”,因此我分配了 {0:0:10, 1:0.90} 的类权重以补偿数据中的不平衡。是不是应该反过来?
请帮助我理解如何解释决策树中的每个节点。谢谢!
【问题讨论】:
标签:
python
scikit-learn
decision-tree
【解决方案1】:
value 的解释只是样本的总和乘以它们各自的权重。
我们可以根据您的情况推断 254.5 是加权为 0.1 的类。所以,这意味着我们有 2545 个该类的样本(因为 2545 * 0.1 = 254.5)。同样,20 * 0.9 = 18,所以我们有 20 个类别的样本,加权为 0.9。结果是 2545 + 20 = 2565 个样本,等于您的样本。
在默认情况下,样本权重都是 1,这意味着 value 将与样本数相加。
我建议使用整数权重{0:1, 1:9},因为除非必要,否则应避免使用浮点数。