首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何提高测试集中负标签的查全率。

如何提高测试集中负标签的查全率。
EN

Stack Overflow用户
提问于 2019-02-04 10:56:00
回答 1查看 909关注 0票数 0

考虑下面的场景:我有一批数据,其特性和标签具有类似的分布。

比如4000000个否定标签和25000个正面标签

由于它是一个高度不平衡的集合,我对负片的采样不足,所以我的训练集(从其中一批中提取)现在包含了25000个正面标签和500000个负面标签。

现在,我正在尝试测量训练后的测试集(从不同的批次中生成)的精确度和召回率,我使用的是带有30个估计器的XGBoost。

现在,如果我使用所有40000000种负性标签,我的精确性会比使用一个子集--比如500000个负标签(0.4个精确,0.1个回忆在0.3个阈值)--更糟糕。

发生这种情况的潜在原因是什么?

我几乎没有想过:

  1. 500000种否定标签的特征与其他40000000种否定标签的特征有很大的不同。但是,当我绘制个人特征时,它们的中心倾向与子集密切匹配。

在负面标签的数量增加这么多的情况下,我为什么会得到更低、更糟糕的回忆呢?

有什么方法来比较这些分布吗?

我的训练经验不足是造成这种情况的原因吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-04 14:19:43

要理解这一点,我们首先需要了解精确性和召回是如何计算的。为此,我将使用以下变量:

P-阳性总数

N-负数总数

TP -真正数

TN -真实否定的数目

FP -假阳性数

FN -假阴性数

必须指出的是:

P= TP + FN

N= TN + FP

现在,精度是TP/(TP + FP)

回忆是TP/(TP + FN),因此TP/P。

准确度为TP/(TP + FN) + TN/(TN + FP),因此(TP + TN)/(P + N)

在数据不平衡的情况下,我们有一个N>>P。

现在想象一下一些随机模型。我们通常可以说,对于这样一个模型的准确性是50%左右,但这是只有当数据是平衡的。在您的情况下,会有更多的FP和TN的比TP和FN的,因为随机选择的数据有更多的可能性返回一个负样本。

因此,我们可以确定N/(T+N)阴性样品的百分比越多,得到的FP和TN越多。也就是说,当您的模型无法选择正确的标签时,它将从P和N中选择一个随机标签,并且大部分将是N。

还记得FP是精确度的分母吗?这意味着精度也随着N/(T+N)的增加而降低。

回顾一下,我们在派生过程中既没有FP也没有TN,因此随着N/(T+N)的增加,很可能不会有太大的变化。从您的例子中可以看出,它显然保持不变。

因此,我会努力使数据平衡,以获得更好的结果。1:1.5的比例就可以了。您还可以使用不同的度量,比如F1评分,它将精确性和回忆性结合起来,以更好地理解性能。

还检查了一些其他的要点使关于如何与不平衡数据作斗争

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54514648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档