我正在Python中运行H2O,并为二进制目标变量(1 vs 0)构建GBM模型。该模型运行良好,我可以在输出中看到阈值。但是我想将阈值保存到变量中(我们可以将其称为cut_point)。因此,当我为新数据集评分时,可以使用阈值来定义1或0。以前有人做过吗?
答案 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]
此方法还适用于以下指标: