【问题标题】:h2o AutoML use in class imbalance modeh2o AutoML 在类不平衡模式下的使用
【发布时间】:2019-09-20 08:07:23
【问题描述】:

我有一个非常不平衡的数据集的用例,我对训练数据集进行了欠采样, 并尝试在 h2o 中运行 automl,但它给了我很好的 AUC 结果(超过 0.99)但非常糟糕的 aup_pr 结果(0.09)。 是否与不平衡问题有关? 我使用 weight_column 选项运行 (http://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/algo-params/weights_column.html) 但这没有帮助。 我应该改用 balance_classes 选项吗(当我运行这两个选项时,它会失败并显示“h2oFrame 为空”消息)。 训练和测试在日期时间范围内拆分,并且测试数据集在多数类和少数类之间具有适当的比例。

【问题讨论】:

    标签: h2o


    【解决方案1】:

    正如您所说,AUC 和 AUCPR 之间的巨大差异很可能是由类不平衡引起的。您可以尝试设置 balance_classes = True 或将权重设置为会增加少数类权重的列,例如取类频率的倒数。如果您对少数类的观察数量非常少,您可以尝试使用例如合成更多SMOTE.

    【讨论】:

    • 尝试了 balance_classes 但仍然,ROC AUC 为 0.99,AUCPR 为 0.03 .... 所以,或者测量有问题,或者余额类有问题,如何限制它可以平衡多少,如果数据集高度不平衡,它仍然有效吗?
    • ROC AUC 对于高度不平衡的类来说不是一个好的指标,所以我建议不要看它。低 AUCPR 表明您的模型根本无法正常工作。班级的具体比例是多少?如果您有一个非常罕见的事件/类要检测,您还可以考虑将问题转换为异常检测。 H2O 中的隔离森林模型可以做到这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-05
    • 2021-08-08
    • 2021-10-12
    • 2019-01-29
    • 2018-01-25
    • 2021-06-24
    • 2018-01-21
    相关资源
    最近更新 更多