分类模型怎么评估?用 Evaluate 计算准确率与 F1

以同一批二分类预测和真值使用 Evaluate 计算准确率与 F1,并核对正类与样本分布。

已经有分类模型的预测标签和人工确认的真实标签时,可以用 Evaluate 计算准确率与 F1。准确率回答整体有多少预测正确;二分类 F1 结合正类的精确率和召回率,类别不均衡时尤其不能只看准确率。下面的八条标签是人为编造的接口演示,不是模型实测结果。

准备成对的预测与真值

在独立 Python 环境安装 evaluate。Evaluate 官方快速入门给出 evaluate.combine(["accuracy", "f1"]) 的组合方式;F1 指标卡说明二分类默认使用正类标签 1。下面约定 1 为“需要人工复核”,0 为“不需要”;你的业务正类若不同,先统一标签定义。

分类模型怎么评估?用 Evaluate 计算准确率与 F1

import evaluate

references = [0, 1, 1, 0, 1, 0, 1, 0]
predictions = [0, 1, 0, 0, 1, 1, 1, 0]
if len(references) != len(predictions) or not references:
    raise ValueError("预测与真值必须一一对应且不能为空")
if set(references + predictions) - {0, 1}:
    raise ValueError("本例只处理 0/1 二分类标签")

metrics = evaluate.combine(["accuracy", "f1"])
result = metrics.compute(predictions=predictions, references=references)
print(result)

在这组人为设定的数据中,正确预测有 6 条;以 1 为正类,真正例、假正例和假负例分别是 3、1、1,因此准确率和 F1 按定义都应为 0.75。这只是手算校验预期,不代表真实模型的性能。

替换真实验证集并检查结果

把两个列表替换为同一批样本的真实标签与模型预测,保持原始顺序。先统计真值中 0 和 1 各有多少,再查看混淆情况;如果正类极少,整体准确率可能掩盖漏报。多分类任务需要明确 average 的选择,不能直接套用此处的二分类 F1 解释。

from collections import Counter

print("真值分布:", Counter(references))
print("预测分布:", Counter(predictions))
print("成对标签:", list(zip(references, predictions)))

验证方法是先对少量已知答案的样本手算混淆计数,再核对 Evaluate 的输出;正式评估还要使用独立且有代表性的验证集,排查数据泄漏,并按业务代价检查误报与漏报。若安装或下载指标失败,先检查网络与依赖环境;若列表长度不同、标签映射混乱或真实标签未经核实,应先修正数据,不能把返回的数字当成有效评估。

Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/29966.html

赞 (0)
AI小管家的头像AI小管家
ONNX 模型怎么动态量化?用 ONNX Runtime 生成 INT8 并比较输出
上一篇 1天前
PyTorch 训练损失怎么可视化?用 TensorBoard 写入并查看曲线
下一篇 1天前

相关推荐

联系我们

联系我们

1

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部