【发布时间】:2020-03-03 07:05:55
【问题描述】:
我已按照本教程进行操作,并且能够重现结果。然而,最后一张图让我感到困惑。我知道大部分时间是概率,但为什么会有负数?由于响应是 Survived,如何解释预测中的数字?如何将这些数字转换为是和否?
https://www.h2o.ai/blog/finally-you-can-plot-h2o-decision-trees-in-r/
EIDT 11/19/2019:顺便说一句,我确实在 Cross Validated 上找到了类似的帖子。答案不确定,因为它以问号结尾。 https://stats.stackexchange.com/questions/374569/may-somebody-help-with-interpretation-of-trees-from-h2o-gbm-see-as-photo-attach
我使用树中的逻辑过滤数据并查看子集的唯一预测。我能够找到“是”和“否”预测的阈值。我还更改了原始代码(从第 34 行开始),以便叶子显示数字的最终结果。然而,这只是破解剧情的一种方式。如果有人能告诉我这些数字是如何得出的,那就太好了。
if(class(left_node)[[1]] == 'H2OLeafNode')
leftLabel = ifelse(left_node@prediction >= threshold, 'Yes', 'No')
else
leftLabel = left_node@split_feature
if(class(right_node)[[1]] == 'H2OLeafNode')
rightLabel = ifelse(right_node@prediction >= threshold, 'Yes', 'No')
else
rightLabel = right_node@split_feature
【问题讨论】:
-
如果高于 0.5,简单的方法会说“是”,否则说“否”。更好的方法是阅读有关如何在 ROC 曲线或精确召回曲线上选择 操作点 的信息。无论哪种情况,这是一个统计建模问题,而不是编程问题,因此它更适合 stats.stackexchange(尽管我鼓励您在询问之前先阅读一些关于操作点的背景知识)。
-
@Gregor 谢谢!让我感到困惑的是情节中的负数。
-
这些值似乎大致以 0.0 为中心,所以我猜测 -1 和 +1 被用作两个因子水平,而 0.0 应该意味着如果你到达那片叶子,那么那个人就有50-50 的生存机会? (我不确定,我没有发布答案的原因是,这种 -1 到 +1 的行为是否来自 H2O、R 或 data.tree 库。)
-
顺便说一句,我认为这个问题很好,属于这里。如果您将其发布在 stats.stackechange 它很可能会被关闭为“特定于库或语言,与统计信息无关,请尝试将其发布在 StackOverflow 上”;-)
-
谢谢@DarrenCook!预测(我相信)来自效用函数
addChildren()。当我做titanicH2oTree@root_node@left_child@left_child@left_child@left_child@prediction时,数字在情节中排成一行。这意味着什么?
标签: r machine-learning decision-tree h2o