AUC 高但无法正确代表其他类别

数据挖掘 分类 准确性
2022-03-06 13:12:11

我想知道为 2 个类中的每一个制作 2 条 ROC 曲线是否有意义?
我正在做一个二元分类问题,但 AUC 好于 82%。
但是标记为 1 的类的 F 分数很差(大约 0.4)。
所以 AUC 很好,但 F 分数很差。
在这种情况下,ROC 曲线实际上意味着什么?
我一直认为,AUC 得分越高,分类器越好。
但就我而言,它无法正确捕获 1 类。
在这种情况下应该怎么做?
有更好的指标来评估分类器的好坏吗?

2个回答

为每个类制作两条单独的 AUC / AUROC 曲线是没有意义的,这些是聚合函数,与 F1-score 相同。如果 AUC 很高但 F-score 不高,那么您可能有一个不平衡的数据集(类在数据中的表示不均等),因为 AUC 无法衡量这一点,而 F-score 可以。所以,如果你确实有一个不平衡的数据集,你应该使用 AU(RO)C 以外的东西,比如 F-score。

同意用户 2974951。您很可能在 2 个类别上的数据不平衡。因此,请检查每个类别的样本数量,并为每个类别的错误赋予不同的权重。例如,如果 A 类有 10 个样本,B 类有 1000 个样本,则将 1 作为 B 类错误的成本,将 sqrt(100) 作为 A 类错误的成本