如何校准H2O平台中已训练完成的AutoML模型
概率校准本身确实是模型无关的后处理步骤,H2O内置校准功能要求训练阶段提前指定calibrate_model参数,只是因为其内置逻辑会自动从训练数据中拆分校准集、绑定训练流程,并不代表已训练完成的模型无法执行校准操作。
针对AutoML产出的GBM模型,完全可以通过H2O自带功能完成校准,无需引入额外依赖库,具体实现方案如下:
- 准备独立校准集:提前拆分一份未参与模型训练、验证的独立数据集,避免校准过程出现过拟合
- 生成原始预测值:用已训练完成的GBM模型对校准集执行预测,提取输出的正类原始概率列,作为校准模型的输入特征
- 训练校准模型,可按需选择两种H2O原生支持的校准方案:
- Platt缩放(适用于小样本校准集):以校准集的真实标签为因变量,原始预测概率为唯一自变量,训练无正则化的H2O GLM二分类模型,训练完成的GLM即可作为校准器
- 保序回归(适用于大样本校准集):直接调用H2O内置的
H2OIsotonicRegressionEstimator,输入原始预测概率和对应真实标签完成训练即可
- 后续预测流程:新样本先输入原始GBM得到原始预测概率,再传入校准器输出的结果即为校准后的概率值
如果需要对齐H2O内置校准的效果,只需拆分训练集时留出与内置逻辑相同比例的校准集(H2O默认预留10%训练数据作为校准集),选择Platt缩放方案训练即可,最终效果与训练时开启calibrate_model参数完全一致。
内容的提问来源于stack exchange,提问作者Wojciech Blachowski
相关产品推荐
相关产品推荐

