HugginFace 使用评价指标工具(学习笔记) 电脑版发表于:2023/10/22 16:05 ![](https://img.tnblog.net/arcimg/hb/782c293bc3904ab0bb30af5ff454beae.png) >#HugginFace 使用评价指标工具(学习笔记) [TOC] ## 评价指标工具介绍 tn2>在训练和测试一个模型时往往需要计算不同的评价指标,如正确率、查准率、查全率、F1值等,具体需要的指标往往和处理的数据集、任务类型有关,HuggingFace提供了统一的评价指标工具,能够将具体的计算过程隐藏,调用者只需要提供计算结果,由评价指标工具给出评价指标的。 ## 使用评价指标工具 ### 列出可用的评价指标 tn2>使用`list_metrics()`函数课获取可用的评价指标列表,代码如下: ```python from datasets import list_metrics metrics_list = list_metrics() len(metrics_list), metrics_list[:5] ``` ![](https://img.tnblog.net/arcimg/hb/4fc99ed44e8441de87e8473394a976d9.png) tn2>我们可以看到这里有136个评价指标,由于篇幅原因这里只展示的5个。 ### 加载一个评价指标 tn2>使用`load_metric()`函数加载一个评价指标。评价指标往往和对应的数据集配套使用,这里以`glue`数据集中的`mrpc`子集为例,代码如下: ```python from datasets import load_metric metric = load_metric(path='glue', config_name='mrpc') ``` tn2>但并不是所有的数据集都有对应的评价指标在实际使用时以满足需求为准则选择合适的评价指标即可。 ### 获取评价指标的使用说明 tn2>评价指标的`inputs_description`属性为一段文本,描述了评价指标的使用方法,不同的评价指标需要的输入往往是不同的,代码如下: ```python print(metric.inputs_description) ``` tn2>输出的内容很长,包括了对此评价指标的介绍,要求输入格式的说明,输出指标的说明,以及部分示例代码,此处节选的部分翻译内容如下: ![](https://img.tnblog.net/arcimg/hb/32b0eccbaee2474dac1c1fbbf2406d64.png) ``` 计算与每个 GLUE 数据集相关的 GLUE 评估指标。 参数: predictions:要评分的预测列表。 每个翻译都应标记为一个标记列表。 references:每个翻译的引用列表。 每个参考资料都应标记为一个词块列表。 返回值:根据 GLUE 子集,一个或多个返回值: "accuracy": 准确度 "f1": F1 分数 "pearson": pearson 相关 "spearmanr": spearmanr 相关 "matthews_correlation": matthews 相关 示例: >>> glue_metric = datasets.load_metric('glue', 'sst2') # 'sst2' or any of ["mnli", "mnli_mismatched", "mnli_matched", "qnli", "rte", "wnli", "hans"] >>> references = [0, 1] >>> predictions = [0, 1] >>> results = glue_metric.compute(predictions=predictions, references=references) >>> print(results) {'accuracy': 1.0} ``` ### 计算评价指标 tn2>按照上面的示例代码,可以实际的计算此评价指标,代码如下: ``` predictions = [0, 1, 0] references = [0, 1, 1] metric.compute(predictions=predictions, references=references) ``` ![](https://img.tnblog.net/arcimg/hb/420eb2564c94454da940e38d316bc53e.png) tn2>可以看到,这个评价指标的计算输出包括正确率和F1值。