【发布时间】:2018-08-02 05:08:28
【问题描述】:
我已经读过这个问题:How should we interpret the results of the H2O predict function? 仍然不明白 p1 是否是 [0,1] 之间的概率,并且可以平等地使用,因为它是一个回归,我可以应用我自己的阈值
编辑: 谢谢您的回答,对此仍有一些困惑,假设我的结果 Y 是 [0,1],让我们挖掘一下,如果 Y 是数字,我将其作为 REGRESSION 运行,并且我有一个列作为响应。另一方面,如果 Y 是因子,则将其作为 CLASSIFICATION 运行,输出为:预测/p0/p1。现在,p1 是否与使用 Y 作为数字相同? http://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/algo-params/calibrate_model.html calibrate_model 参数也会影响 logloss,但现在最大 F1 仍用作 P0 P1 或校准概率的阈值?我可以使用校准的概率进行回归,因为 logloss 应该更少吗?
【问题讨论】:
-
Y的数据类型未定义问题是回归还是分类。如果Y仅包含 {0,1} 值(更不用说数字或字符),语义就会这样做,它可能会要求分类。因此预测概率并使用分类。只需使用train.df['Y'] = as.factor(train.df['Y'])之类的东西将数字转换为enum类型。 -
在 h2o 中,如果 Y [0,1] 是它执行分类的一个因素,如果 is.numeric 是一个回归
-
来自 h2o docs:响应列的数据类型决定了模型类别。如果响应是分类变量(也称为因子或枚举),则创建分类模型。如果响应列数据类型是数字(整数或实数),则创建回归模型。
-
上面的代码显示了如何将
Y的类型从数字更改为因子。同样,它是关于语义的,而不是关于它的形式类型。 -
诀窍在于了解无论您是在做分类还是回归问题,H2O 都会构建一个回归树,因为该树不是预测一个类别,而是预测一个介于 0 和 1 之间的值(这是未校准的概率)。所以对于一个二元目标,你没有做回归问题。
标签: h2o