gpt4 book ai didi

python - balanced_accuracy_score 和 accuracy_score 之间的区别

转载 作者:太空宇宙 更新时间:2023-11-04 09:31:35 27 4
gpt4 key购买 nike

我在 sklearn.metrics 中使用了 balanced_accuracy_score 和 accuracy_score。

根据文档,这两个指标是相同的,但在我的代码中,第一个是 96%,第二个是 97%,而训练的准确度是 98%

你能给我解释一下这三种精度之间的区别是什么以及它们是如何计算的吗?

注意:该问题是一个三类的多分类问题。

我附上了代码示例。

准确率为 98%

model.compile(loss='categorical_crossentropy',
optimizer=Adam(lr=0.00001),
metrics=['accuracy'])

准确率为 96%

from sklearn.metrics import balanced_accuracy_score
balanced_accuracy_score(all_labels, all_predications)

准确率为 97%

from sklearn.metrics import accuracy_score
accuracy_score(all_labels, all_predications)

最佳答案

据我了解问题(不知道 all_labels、all_predictions 是什么)运行的原因是 balanced_accuracy_scoreaccuracy_score 之间的样本外预测差异通过平衡前一个功能。

accuracy_score简单地返回您预测正确的标签的百分比(即有 1000 个标签,您准确预测了 980 个,即您得到 98% 的分数。

balanced_accuracy_score然而,它的工作方式不同,因为它返回每个类的平均准确度,这是一个不同的指标。假设您的 1000 个标签来自 2 个类别,第 1 类有 750 个观测值,第 2 类有 250 个观测值。如果您在每个类别中预测错了 10 个,那么您在第 1 类中的准确率为 740/750= 98.7%,而 240/250=96 % 在类别 2 中。balanced_accuracy_score 将返回 (98.7%+96%)/2 = 97.35%。因此,我相信该程序会根据文档按预期工作。

关于python - balanced_accuracy_score 和 accuracy_score 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55548675/

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