gpt4 book ai didi

python - 在倾斜数据集的训练中使用精度和召回率

转载 作者:行者123 更新时间:2023-11-30 08:58:06 24 4
gpt4 key购买 nike

我有一个倾斜的数据集(5,000,000 个正例,只有 8000 个负例[二进制分类]),因此,我知道,准确性不是一个有用的模型评估指标。我知道如何用数学方法计算精度和召回率,但我不确定如何在 python 代码中实现它们。

当我根据所有数据训练模型时,总体准确率达到 99%,但负面示例的准确度为 0%(即,将所有内容分类为正面)。

我已经使用 criterion = nn.CrossEntropyLoss()optimiser = optim.Adam() 在 Pytorch 中构建了当前模型。

所以,我的问题是,如何在训练中实现精确度和召回率,以产生尽可能最好的模型?

提前致谢

最佳答案

精度、召回率和F1分数等指标的实现通常是从python中的scikit-learn库导入的。

链接:http://scikit-learn.org/stable/modules/classes.html#module-sklearn.metrics

关于您的分类任务,正训练样本的数量远远超过负样本。尝试使用减少的正样本数量或生成更多的负样本进行训练。考虑到类别偏度,我不确定深度神经网络能否为您提供最佳结果。

可以使用合成少数过采样技术 (SMOT) 技术生成负样本。这个链接是一个很好的起点。链接:https://www.analyticsvidhya.com/blog/2017/03/imbalanced-classification-problem/

先尝试使用逻辑回归或随机森林等简单模型,检查模型的 F1 分数是否有任何改善。

关于python - 在倾斜数据集的训练中使用精度和召回率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51425436/

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