我有一个不平衡的数据集,我正在使用XGBoost二进制分类。我将下采样与目标和一种热编码一起用于训练数据。对于测试数据,我曾经只使用编码并使其不平衡,并且曾经尝试使用平衡的测试数据集。
ROC AUC score不平衡的测试数据比平衡的测试数据要高得多。这怎么可能?我以为ROC AUC分数应该没有什么区别?
我有一个不平衡的数据集,我正在使用XGBoost二进制分类。我将下采样与目标和一种热编码一起用于训练数据。对于测试数据,我曾经只使用编码并使其不平衡,并且曾经尝试使用平衡的测试数据集。
ROC AUC score不平衡的测试数据比平衡的测试数据要高得多。这怎么可能?我以为ROC AUC分数应该没有什么区别?
ROC 通常会报告不平衡数据集的更高分数,因为它没有考虑错误发现。因此,建议仅在正负集大小大致相等时才使用 ROC。否则,建议改为计算 Precision-Recall 曲线下的区域。
您可以在此处阅读一些有关原因的信息。
但是,如果类分布中存在较大的偏斜,ROC 曲线可能对算法的性能表现出过于乐观的看法。[...] Precision-Recall (PR) 曲线,通常用于信息检索,已被引用为 ROC 曲线的替代方案,用于类分布中具有较大偏差的任务。
— Precision-Recall 与 ROC 曲线之间的关系,2006 年。