【问题标题】:Good ROC curve but poor precision-recall curve良好的 ROC 曲线但较差的精确召回曲线
【发布时间】:2016-01-22 12:45:35
【问题描述】:

我有一些我不太了解的机器学习结果。我正在使用 python sciki-learn,有大约 14 个特征的 2+ 百万数据。 “ab”的分类在精确召回曲线上看起来很糟糕,但 Ab 的 ROC 看起来与大多数其他组的分类一样好。有什么可以解释的?

【问题讨论】:

  • 你的设置平衡了吗? (即,与非 ab 一样多)
  • 不,非常不平衡,Ab 低于 2%
  • 给你。尝试过采样以缓解问题。

标签: machine-learning scikit-learn performance-testing roc precision-recall


【解决方案1】:

类不平衡。

与 ROC 曲线不同,PR 曲线对不平衡非常敏感。如果您针对不平衡数据优化分类器以获得良好的 AUC,您可能会获得较差的精确召回结果。

【讨论】:

  • 我明白了,但就测试的性能而言,这究竟意味着什么?它是好(基于 ROC)还是坏(基于 P-R)?如果在上面的 P-R 曲线中,它所能做的最好的测试是准确率和召回率的 40%,那么测试怎么能是好的呢?
  • 这意味着在报告不平衡数据的测试性能时必须小心。在医疗应用中,它可能会产生可怕的影响(请参阅教科书案例中的艾滋病检测),在其他应用中可能会很好,这实际上取决于您的具体应用。
  • 我在使用 scikit learn 时没有调整默认设置,但就像你说的它似乎基于 AUC 进行优化,有没有办法在不平衡数据中基于 Precision/recall 对进行优化?
  • 您应该将此作为新问题发布。
猜你喜欢
  • 2020-04-18
  • 2017-09-21
  • 2016-11-07
  • 2018-12-27
  • 2021-09-13
  • 2016-06-11
  • 2018-04-25
  • 2018-02-23
  • 1970-01-01
相关资源
最近更新 更多