Transformers学习之Evaluate组件
这是一个评估函数,在模型训练与测试中,我们会根据一些指标来对模型进行评测,用起来也非常简单哈。
# 导包
import evaluate
支持的评估函数
支持的评估函数较多,这里只列出几个常见的,其余可以使用 evaluate.list_evaluation_modules()
方法进行查看
{'name': 'f1', 'type': 'metric'}
{'name': 'recall', 'type': 'metric'}
{'name': 'accuracy', 'type': 'metric'}
{'name': 'precision', 'type': 'metric'}
加载并使用评估函数
f1 = evaluate.load("f1")
results = f1.compute(references=[0, 1, 2, 0, 1, 2], predictions=[0, 1, 1, 2, 1, 0],average="micro")
print(results)
# {'f1': 0.5}
同时计算多个指标
multi_metrics = evaluate.combine(["accuracy", "f1", "recall", "precision"])
multi_metrics.compute(predictions=[0, 1, 0], references=[0, 1, 1])
# {'accuracy': 0.6666666666666666, 'f1': 0.6666666666666666, 'recall': 0.5,'precision': 1.0}
批量计算
f1 = evaluate.load("f1")
for ref, pred in zip([0,1,0,1], [1,0,0,1]):
f1.add(references=ref, predictions=pred)
f1.compute()
# {'f1': 0.5}
评论区