You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取H2O AutoML非最优模型详情?类别不平衡指标选型

我来帮你搞定这两个问题哈——一个是类别不平衡场景下该用啥评估指标,另一个是怎么拿到AutoML生成的所有模型的详细信息:

一、针对类别不平衡三分类任务的合适评估指标

因为你的数据集存在类别不平衡(某类样本极少),mean_per_class_error确实不能很好反映模型的真实性能,推荐用这些更合适的指标:

  • 混淆矩阵与衍生指标:重点关注少数类的精确率(Precision)、召回率(Recall)和F1分数。你可以通过model.confusion_matrix()获取混淆矩阵,也可以直接调用model.model_performance().precision()、model.model_performance().recall()、model.model_performance().f1()来单独提取每个类别的这些指标。
  • 加权F1分数:给样本量少的类别赋予更高权重,能更公平地衡量模型整体表现。H2O的模型性能报告里直接支持weighted_f1指标,你可以从model.model_performance()的输出里找到它。
  • AUC-PR(精确率-召回率曲线下面积):相比AUC-ROC,PR曲线更适合不平衡数据集,它聚焦于模型对少数类的识别能力,用model.model_performance().aucpr()就能获取这个值。
  • 对数损失(Log Loss):这个指标能反映模型分类概率的校准程度,不管类别是否平衡都适用,调用model.model_performance().logloss()即可得到。
二、获取H2O AutoML非最优模型的详细信息

AutoML运行完成后会生成一个AutoML对象(假设你把它存在变量aml里),通过以下步骤就能拿到所有模型的细节:

  1. 查看完整模型排行榜:用aml.leaderboard可以看到你贴出的所有模型ID和对应的初步指标,这是获取所有模型ID的入口。
  2. 单独获取某个模型对象:比如你想查看那个XRT模型的细节,直接用对应的model_id调用h2o.get_model()就行:
    model = h2o.get_model("XRT_0_AutoML_20180420_174925")
    
  3. 查看模型的详细信息:拿到模型对象后,这些方法能帮你挖掘细节:
    • model.summary():输出模型的整体概览,包括训练参数、特征重要性等核心信息;
    • model.model_performance():生成该模型在训练/验证集上的完整性能报告,包含所有支持的评估指标;
    • model.varimp_plot():如果是树模型(比如DRF、XRT),可以画出特征重要性可视化图;
    • model.predict(test_data):用该模型对测试集做预测,验证其在 unseen 数据上的实际表现。
  4. 批量处理所有模型:如果想遍历所有模型,可以循环读取排行榜里的model_id:
    for model_id in aml.leaderboard['model_id'].as_data_frame()['model_id']:
        current_model = h2o.get_model(model_id)
        # 这里可以添加你的操作,比如保存模型、提取特定指标等
    

内容的提问来源于stack exchange,提问作者slowD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:34:35