9.8 KiB
9.8 KiB
评估指标接口
基类:Metric
Metric
类是所有评估指标的基类,定义了以下方法:
add(preds, labels)
:添加预测结果和标签,支持多次添加。preds
(list
,必选):预测结果。每个元素代表模型对单个实例的预测输出。labels
(list
,必选):真实标签。每个元素代表对应实例的正确标签。
evaluate()
:对所有添加的数据进行计算,返回指标结果。compute(preds, labels)
:根据提供的结果和标签计算,返回指标结果。preds
(list
,必选):预测结果。每个元素代表模型对单个实例的预测输出。labels
(list
,必选):真实标签。每个元素代表对应实例的正确标签。
指标类概览
除非另有明确说明,所有评估指标均遵循基类Metric
的统一接口规范。详细使用方法可参考魔乐社区评估指标库。
Accuracy
- 功能:计算准确率。
- 构造函数:
Accuracy()
。 - 方法:
add(preds, labels)
:添加预测结果和标签,支持多次添加。preds
(List[int]
,必选):预测结果。每个元素代表模型对单个实例的预测输出。labels
(List[int]
,必选):真实标签。每个元素代表对应实例的正确标签。
evaluate()
:对所有添加的数据进行计算,返回指标结果。compute(preds, labels)
:根据提供的结果和标签计算,返回指标结果。preds
(List[int]
,必选):预测结果。每个元素代表模型对单个实例的预测输出。labels
(List[int]
,必选):真实标签。每个元素代表对应实例的正确标签。
MAE
- 功能:计算平均绝对误差 (MAE)。
- 构造函数:
MAE()
。 - 方法:
add(preds, labels)
:添加预测结果和标签,支持多次添加。preds
(List[float]
,必选):预测结果。每个元素代表模型对单个实例的预测输出。labels
(List[float]
,必选):真实标签。每个元素代表对应实例的正确标签。
evaluate()
:对所有添加的数据进行计算,返回指标结果。compute(preds, labels)
:根据提供的结果和标签计算,返回指标结果。preds
(List[float]
,必选):预测结果。每个元素代表模型对单个实例的预测输出。labels
(List[float]
,必选):真实标签。每个元素代表对应实例的正确标签。
Glue
- 功能:
Glue
类专门用于计算不同GLUE基准任务的特定评估指标。GLUE任务包括文本分类、问答、自然语言推理等,Glue
能够根据任务的不同需求返回相应的评估结果。 - 构造函数:
Glue(config_name)
。config_name
(str
,必选):用于指定具体的GLUE任务配置名称。以下是支持的任务配置名称列表:- "sst2":斯坦福情感树库(The Stanford Sentiment Treebank),单句子分类任务。
- "mnli":多类型自然语言推理语料库(The Multi-Genre Natural Language Inference Corpus),自然语言推断任务。
- "mnli_mismatched":MNLI中训练集和测试集的数据来源一致。
- "mnli_matched":MNLI中训练集和测试集的数据来源不一致。
- "cola":语言可接受性语料库(The Corpus of Linguistic Acceptability),单句子分类任务。
- "stsb":语义文本相似性基准测试(The Semantic Textual Similarity Benchmark),相似性和释义任务。
- "mrpc":微软研究院释义语料库(The Microsoft Research Paraphrase Corpus),相似性和释义任务。
- "qqp":Quora问题对数集(The Quora Question Pairs),相似性和释义任务。
- "qnli":问答自然语言推断(Qusetion-answering NLI),自然语言推断任务。
- "rte":识别文本蕴含数据集(The Recognizing Textual Entailment datasets),自然语言推断任务。
- "wnli":韦氏自然语言推理(Winograd Natural Language Inference),自然语言推断任务。
- "hans":历史答案只包含自然句子的自然语言推理(Historical Answer-only Natural Language Inference),自然语言推断任务。。
- 方法:
add(preds, labels)
:添加预测结果和标签,支持多次添加。preds
(list
,必选):预测结果。每个元素代表模型对单个实例的预测输出。labels
(list
,必选):真实标签。每个元素代表对应实例的正确标签。
evaluate()
:对所有添加的数据进行计算,返回指标结果。compute(preds, labels)
:根据提供的结果和标签计算,返回指标结果。preds
(list
,必选):预测结果。每个元素代表模型对单个实例的预测输出。labels
(list
,必选):真实标签。每个元素代表对应实例的正确标签。
F1
- 功能:计算F1分数。
- 构造函数:
F1()
。 - 方法:
add(preds, labels)
:添加预测结果和标签,支持多次添加。preds
(List[int]
,必选):预测结果。每个元素代表模型对单个实例的预测输出。labels
(List[int]
,必选):真实标签。每个元素代表对应实例的正确标签。
evaluate()
:对所有添加的数据进行计算,返回指标结果。compute(preds, labels)
:根据提供的结果和标签计算,返回指标结果。preds
(List[int]
,必选):预测结果。每个元素代表模型对单个实例的预测输出。labels
(List[int]
,必选):真实标签。每个元素代表对应实例的正确标签。
ConfusionMatrix
- 功能:生成混淆矩阵。
- 构造函数:
ConfusionMatrix()
。 - 方法:
add(preds, labels)
:添加预测结果和标签,支持多次添加。preds
(List[int]
,必选):预测结果。每个元素代表模型对单个实例的预测输出。labels
(List[int]
,必选):真实标签。每个元素代表对应实例的正确标签。
evaluate()
:对所有添加的数据进行计算,返回指标结果。compute(preds, labels)
:根据提供的结果和标签计算,返回指标结果。preds
(List[int]
,必选):预测结果。每个元素代表模型对单个实例的预测输出。labels
(List[int]
,必选):真实标签。每个元素代表对应实例的正确标签。
MSE
- 功能:计算均方误差(MSE)。
- 构造函数:
MSE()
。 - 方法:
add(preds, labels)
:添加预测结果和标签,支持多次添加。preds
(List[float]
,必选):预测结果。每个元素代表模型对单个实例的预测输出。labels
(List[float]
,必选):真实标签。每个元素代表对应实例的正确标签。
evaluate()
:对所有添加的数据进行计算,返回指标结果。compute(preds, labels)
:根据提供的结果和标签计算,返回指标结果。preds
(List[float]
,必选):预测结果。每个元素代表模型对单个实例的预测输出。labels
(List[float]
,必选):真实标签。每个元素代表对应实例的正确标签。
ExactMatch
- 功能:计算预测结果与真实标签之间的精确匹配率。
- 构造函数:
ExactMatch()
。 - 方法:
add(preds, labels)
:添加预测结果和标签,支持多次添加。preds
(List[str]
,必选):预测结果。每个元素代表模型对单个实例的预测输出。labels
(List[str]
,必选):真实标签。每个元素代表对应实例的正确标签。
evaluate(regexes_to_ignore=None, ignore_case=False, ignore_punctuation=False, ignore_numbers=False)
:计算精确匹配率,支持以下参数:regexes_to_ignore
(List[str]
,可选,默认为None
):计算精确匹配时要忽略字符的正则表达式,用于指定在比较前需要从预测和真实标签中删除的内容。ignore_case
(bool
,可选,默认为False
):当设置为True
时,评估将忽略大小写差异。ignore_punctuation
(bool
,可选,默认为False
):当设置为True
时,评估将忽略标点符号的差异。ignore_numbers
(bool
,可选,默认为False
):当设置为True
时,评估将忽略数字的差异。
compute(preds, labels, regexes_to_ignore=None, ignore_case=False, ignore_punctuation=False, ignore_numbers=False)
: 核心计算方法,接受预测结果和真实标签,并根据evaluate
方法相同的参数进行精确匹配计算。preds
(List[str]
,必选):预测结果。每个元素代表模型对单个实例的预测输出。labels
(List[str]
,必选):真实标签。每个元素代表对应实例的正确标签。regexes_to_ignore
(List[str]
,可选,默认为None
):计算精确匹配时要忽略字符的正则表达式,用于指定在比较前需要从预测和真实标签中删除的内容。ignore_case
(bool
,可选,默认为False
):当设置为True
时,评估将忽略大小写差异。ignore_punctuation
(bool
,可选,默认为False
):当设置为True
时,评估将忽略标点符号的差异。ignore_numbers
(bool
,可选,默认为False
):当设置为True
时,评估将忽略数字的差异。