如何在Python中保存H2O model_performance函数的阈值?

时间:2018-09-19 16:16:42

标签: python h2o

我正在Python中运行H2O,并为二进制目标变量(1 vs 0)构建GBM模型。该模型运行良好,我可以在输出中看到阈值。但是我想将阈值保存到变量中(我们可以将其称为cut_point)。因此,当我为新数据集评分时,可以使用阈值来定义1或0。以前有人做过吗?

enter image description here

2 个答案:

答案 0 :(得分:0)

您可以使用find_threshold_by_max_metric

html, body {
    width: 100vw
}

答案 1 :(得分:0)

或者,要找到thresholds that maximize F1-scores,可以使用:

model.F1(train=True, valid=True, xval=False)

上一行的示例输出:

{u'train':[[0.3869697386893616,0.7451099672437997]],u'有效': [[0.35417599264806404,0.7228980805623143]]}

使每个数据集的F1分数最大化的阈值是每个键中列表的第一个值(索引0)。第二个值(索引1)是每个数据集的F1分数最大值。要为阈值编制索引,比如说可以使用的有效性框架:

values = model.F1(train=True, valid=True, xval=False)
values.get('valid')[0]

此方法还适用于以下指标: