已经有分类模型的预测标签和人工确认的真实标签时,可以用 Evaluate 计算准确率与 F1。准确率回答整体有多少预测正确;二分类 F1 结合正类的精确率和召回率,类别不均衡时尤其不能只看准确率。下面的八条标签是人为编造的接口演示,不是模型实测结果。
准备成对的预测与真值
在独立 Python 环境安装 evaluate。Evaluate 官方快速入门给出 evaluate.combine(["accuracy", "f1"]) 的组合方式;F1 指标卡说明二分类默认使用正类标签 1。下面约定 1 为“需要人工复核”,0 为“不需要”;你的业务正类若不同,先统一标签定义。

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