【发布时间】:2017-12-03 17:58:43
【问题描述】:
我已经开始使用 scikit-learn 决策树,到目前为止效果很好,但我需要做的一件事是检索叶节点的样本 Y 值集,尤其是在运行预测时。给定一个输入特征向量 X,我想知道叶节点处对应的 Y 值的集合,而不仅仅是作为这些值的平均值(或中值)的回归值。当然,人们希望样本均值有一个小的方差,但我确实想提取实际的 Y 值集并进行一些统计/创建 PDF。我用过这样的代码how to extract the decision rules from scikit-learn decision-tree? 要打印决策树,但“值”的输出是表示平均值的单个浮点数。我有一个大数据集,因此将叶子大小限制为例如100,我想访问这 100 个值...
【问题讨论】:
-
可以使用
apply获取每个样本的叶子id; see here. -
感谢您的回复。我对此进行了编码,并获得了与使用 graph_viz 导出树时显示的相同的平均值,这很好。然而,虽然紧凑,它似乎并不高效。实际上,我将数据拟合到一棵树中,每个叶节点最终都会得到一个样本子集。然后我再次遍历数据以记录它落入哪个叶节点,这样我就可以获得相应的目标。但是该数据应该已经存储在某个地方的叶节点中吗?它似乎并不慢,所以可能不值得担心重复。
-
不,在叶子中,只存储手段和计数。我认为,复制是可以的。
标签: scikit-learn regression decision-tree