我正在处理不平衡的数据,其中每个 class=1 大约有 40 个 class=0 案例。我可以使用单个特征合理区分类别,并在 6 个特征和平衡数据上训练朴素贝叶斯和 SVM 分类器产生更好的区分(下面的 ROC 曲线)。
那很好,我认为我做得很好。然而,这个特定问题的惯例是在精度水平上预测命中,通常在 50% 到 90% 之间。例如“我们以 90% 的精度检测到一些命中。” 当我尝试这个时,我可以从分类器中获得的最大精度约为 25%(黑线,下方的 PR 曲线)。
我可以将其理解为类不平衡问题,因为 PR 曲线对不平衡很敏感,而 ROC 曲线则不敏感。但是,这种不平衡似乎不会影响单个特征:我可以使用单个特征(蓝色和青色)获得相当高的精度。
我不明白发生了什么事。如果公关领域的一切都表现不佳,我可以理解,因为毕竟数据非常不平衡。如果分类器在 ROC和PR 空间中看起来很糟糕,我也可以理解——也许它们只是糟糕的分类器。但是,按照 ROC 的判断,如何使分类器变得更好,而按照 Precision-Recall 的判断,分类器变得更糟?
编辑:我注意到在低 TPR/Recall 区域(TPR 介于 0 和 0.35 之间),各个特征在 ROC 和 PR 曲线中始终优于分类器。也许我的困惑是因为 ROC 曲线“强调”了高 TPR 区域(分类器做得很好),而 PR 曲线强调了低 TPR (分类器更差)。
编辑 2:对非平衡数据进行训练,即与原始数据具有相同的不平衡,使 PR 曲线恢复生机(见下文)。我猜我的问题是不正确地训练分类器,但我不完全理解发生了什么。