当数据集使用 PR 曲线倾斜时,目标是击败随机分类器吗?

机器算法验证 分类 matlab 精确召回 准确性
2022-04-07 18:12:04

我有一个测试数据集,其中 1/3 的观察结果是 1 类对象,其余是 0 类对象。因此,数据集是偏斜的(偏斜分类器),文献表明如果数据集偏斜,则使用精确召回曲线(AUC)而不是 ROC-AUC。

例如,运行以下代码会导致 AUC_Pr_rand = 0.3267 和 AUC_Pr_Ones = 0.3346。其中第一个是随机分类器,第二个是仅输出的非学习算法。

n=10000;
Y = rand(n,1) > 2/3;
Yi = rand(n,1);
[~,~,~,AUC_Pr_rand] = perfcurve(Y,Yi,true, 'xCrit', 'reca', 'yCrit', 'prec');
[~,~,~,AUC_Pr_Ones] = perfcurve(Y,1+rand(size(Yi))*0.00001,true, 'xCrit', 'reca',    'yCrit', 'prec');

仅输出 0 类的非学习算法,对于上述测试集(1/3 是第一类),准确度约为 66%,但上述随机分类器的准确度约为 50%(我不确定是否这意味着什么,但我测试了一个逻辑回归模型,它给出的准确度约为 65%,所以我不认为准确度是用于性能测试的指标)。

因此,现在对于在这个倾斜数据集上测试的任何其他给定分类器(例如逻辑回归或 CART),目标是击败这个随机分类器,即获得高于 0.3246 或 0.5 的 PR-AUC(因为这是随机分类器应该输出为平衡数据集的 PR-AUC)?

1个回答

随机分类器随机选择总数据的一个子集并将其标记为正数。所述子集的大小与随机分类器的召回相关。由于预测完全是随机进行的,因此此类标记的预期精度等于总数据集中阳性的比例(在任何召回时)。的水平线,其中是总数据集中正数的比例。然后 AUC 也立即等于ρρρ

在 PR 空间中,随机模型的 AUC 与类平衡直接相关。AUC 为 0.5 可能意味着对于高级偏斜来说是一个非常好的模型。始终比较给定类偏差的 PR-AUC,不要将其与平衡设置进行比较。

回答你的问题:一般来说,你确实想击败一个随机分类器,其中 PR 空间中的随机意味着具有我上面解释的曲线。

在实践中,你的目标完全取决于你想做什么。显然,比随机更糟糕通常是一个非常严重的问题,但这并不一定重要。例如,如果您的应用程序需要一个具有高召回率的模型,那么您不在乎该模型在低召回率下是否比随机模型差。