如何从Google Document AI的Evaluation对象提取F1分数等指标?
解决Document AI评估指标提取问题
错误原因
confidence_level_metrics_exact是RepeatedComposite类型,本质是列表结构,存储了不同置信度阈值下的多组评估数据,不能直接通过.metrics访问,必须先定位到列表中的具体元素。
具体提取步骤
1. 加载保存的evaluation对象
先从.pkl文件中读取之前保存的评估对象:
import pickle with open("evaluation.pkl", "rb") as file: evaluation = pickle.load(file)
2. 获取UI显示的全局评估指标
UI里展示的F1/精确率/准确率,对应置信度阈值为0的全局评估结果,也就是列表的第一个元素:
# 提取精确匹配的全局指标 exact_global_metrics = evaluation.all_entities_metrics.confidence_level_metrics_exact[0].metrics # 提取各项指标 f1_score = exact_global_metrics.f1_score precision = exact_global_metrics.precision recall = exact_global_metrics.recall accuracy = exact_global_metrics.accuracy # 打印结果 print(f"F1分数: {f1_score}") print(f"精确率: {precision}") print(f"召回率: {recall}") print(f"准确率: {accuracy}")
3. 遍历所有置信度阈值的指标
如果需要查看不同置信度过滤下的细分指标,可以遍历整个列表:
for conf_item in evaluation.all_entities_metrics.confidence_level_metrics_exact: threshold = conf_item.confidence_threshold metrics = conf_item.metrics print(f"\n置信度阈值 {threshold}:") print(f"F1: {metrics.f1_score}, 精确率: {metrics.precision}, 召回率: {metrics.recall}")
内容的提问来源于stack exchange,提问作者Atilio
相关产品推荐
相关产品推荐

