Evaluate 文件

為您的任務選擇一個評估指標

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

為您的任務選擇一個評估指標

您已經訓練好模型,並想看看它在您選擇的資料集上的表現如何。您應該從哪裡開始呢?

選擇評估指標沒有“一刀切”的方法,但有一些好的指導方針需要牢記:

評估指標的類別

評估指標有 3 個高階類別:

  1. 通用指標,可以應用於各種情況和資料集,例如精確率和準確率。
  2. 特定任務指標,僅限於給定的任務,例如機器翻譯(通常使用 BLEUROUGE 指標進行評估)或命名實體識別(通常使用 seqeval 進行評估)。
  3. 特定資料集指標,旨在衡量模型在特定基準上的效能:例如,GLUE 基準有一個專用的評估指標

讓我們看看這三種情況中的每一種

通用指標

機器學習社群中使用的許多指標都非常通用,可以應用於各種任務和資料集。

例如準確率精確率等指標,可用於評估有標籤(監督)資料集,以及困惑度,可用於評估不同型別的(無監督)生成任務。

要檢視給定指標的輸入結構,您可以檢視其指標卡片。例如,在精確率的情況下,格式是

>>> precision_metric = evaluate.load("precision")
>>> results = precision_metric.compute(references=[0, 1], predictions=[0, 1])
>>> print(results)
{'precision': 1.0}

特定任務指標

流行的機器學習任務,如機器翻譯和命名實體識別,都有特定的指標可用於比較模型。例如,已經提出了一系列不同的文字生成指標,從 BLEU 及其衍生品如 GoogleBLEUGLEU,還有 ROUGEMAUVE 等。

您可以透過以下方式為您的任務找到合適的指標:

  • 檢視任務頁面,瞭解可用於評估給定任務模型的指標。
  • 檢視排行榜,例如在 Papers With Code 等網站上(您可以按任務和資料集搜尋)。
  • 閱讀相關指標的指標卡片,看看哪些適合您的用例。例如,請參閱 BLEU 指標卡片SQuAD 指標卡片
  • 閱讀關於該主題的論文和部落格文章,看看他們報告了哪些指標。這可能會隨時間變化,所以儘量選擇近幾年的論文!

特定資料集指標

一些資料集有與之相關的特定指標——這在像 GLUESQuAD 這樣的流行基準中尤其如此。

💡 GLUE 實際上是不同任務上不同子集的集合,所以首先您需要選擇與 NLI 任務相對應的那個,例如 mnli,它被描述為“帶有文字蘊含註釋的眾包句子對集合”。

如果您正在像上述基準資料集上評估您的模型,您可以使用其專用的評估指標。請確保您遵守它們要求的格式。例如,要在 SQuAD 資料集上評估您的模型,您需要將 `question` 和 `context` 輸入到您的模型中,並返回 `prediction_text`,這應該與 `references` 進行比較(基於匹配問題的 `id`)。

>>> from evaluate import load
>>> squad_metric = load("squad")
>>> predictions = [{'prediction_text': '1976', 'id': '56e10a3be3433e1400422b22'}]
>>> references = [{'answers': {'answer_start': [97], 'text': ['1976']}, 'id': '56e10a3be3433e1400422b22'}]
>>> results = squad_metric.compute(predictions=predictions, references=references)
>>> results
{'exact_match': 100.0, 'f1': 100.0}

您可以透過查閱“資料集預覽”功能或給定資料集的資料集卡片來找到資料集結構的示例,並且您可以根據指標卡片瞭解如何使用其專用的評估功能。

< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.