gpt4 book ai didi

machine-learning - 随着测试集中负标签的增加,如何提高精确召回分数

转载 作者:行者123 更新时间:2023-11-30 09:44:18 26 4
gpt4 key购买 nike

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

比如说 4000000 个负面标签和 25000 个正面标签

由于它是一个高度不平衡的集合,我对负标签进行了欠采样,因此我的训练集(取自其中一个批处理)现在包含 25000 个正标签和 500000 个负标签。

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

现在,如果我使用全部 40000000 个负标签,我会得到(0.7 阈值时的 0.1 精度和 0.1 召回率)比使用子集(例如仅使用 500000 个负标签)更差的精度召回分数(0.4 精度,0.3 时召回率为 0.1)阈值)..

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

我的一些想法:

  1. 这 500000 个负面标签的特征与总共 40000000 个负面标签中的其余部分有很大不同。但当我绘制各个特征时,它们的中心趋势与子集密切匹配。

当负面标签的数量增加这么多时,是否有其他方法可以确定为什么我的预测召回率较低且较差?

有什么方法可以比较分布吗?

我的欠采样训练是造成这种情况的原因吗?

最佳答案

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

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 分数)来更好地了解性能。

另请检查其他一些观点 here on how to combat imbalance data

关于machine-learning - 随着测试集中负标签的增加,如何提高精确召回分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54514648/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com