Scikit-learn:假阳性和假阴性之间的严重不平衡



在大约5000万个样本的平衡训练数据上使用scikit-learn(一个类50%,另一个类50%,区间(0,1)中有8个连续特征),到目前为止我能够尝试的所有分类器(线性/逻辑回归,LinearSVC, RandomForestClassifier,…)都显示出奇怪的行为:

对训练数据进行测试时,假阳性的百分比远低于假阴性的百分比(fnr)。当手动校正截距以提高假阳性率(fpr)时,精度实际上大大提高。

为什么分类算法没有找到接近最优的截距(我猜或多或少在fpr=fnr)?

我想这个想法是没有单一的"最佳"定义;对于某些应用程序,您可以容忍假阳性而不是假阴性(即检测欺诈或疾病,您不想错过阳性),而对于其他应用程序,假阳性要严重得多(预测设备故障,犯罪或采取行动的成本昂贵的其他事情)。默认情况下,predict只选择0.5作为阈值,这通常不是您想要的,您需要考虑您的应用程序,然后查看ROC曲线和增益/提升图,以决定您想要设置预测阈值的位置。

相关内容

  • 没有找到相关文章

最新更新