๐ค Evaluate ํต ํฌ์ด โ evaluate.load()์ evaluator
๐ค Evaluate ํต ํฌ์ด
๐ค Evaluate๋ metricยทcomparisonยทmeasurement ๊ฐ์ ํ๊ฐ ๋ชจ๋์ Hub์์ ๊ด๋ฆฌํด์. ์ด๋ค ๋ชจ๋์ด๋ ํ๋์ ์ง์
์ evaluate.load()๋ก ๋ถ๋ฌ์ฌ ์ ์์ด์. ์ด ํ์ด์ง์์๋ ๊ทธ ์ฌ์ฉ๋ฒ์ ๋ฐ๋ผ๊ฐ ๋ด
๋๋ค.
์ถ์ฒ: https://huggingface.co/docs/evaluate/en/a_quick_tour
๋ชจ๋ ๋ถ๋ฌ์ค๊ธฐ
๋ชจ๋ metricยทcomparisonยทmeasurement๋ evaluate.load()๋ก ๋ถ๋ฌ์์. ์ด๋ฆ ์ถฉ๋์ด ์ฐ๋ ค๋๋ฉด ํ์
์ ๋ช
์ํ ์๋ ์์ด์.
>>> import evaluate
>>> accuracy = evaluate.load("accuracy")
์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ๋ชฉ๋ก
list_evaluation_modules๋ก ํ์
๋ณ ๋ชจ๋์ ํ์ธํ ์ ์์ด์.
>>> evaluate.list_evaluation_modules(
... module_type="comparison",
... include_community=False,
... with_details=True)
๋ชจ๋ ์์ฑ
๊ฐ ๋ชจ๋์ description, citation, features, license, reference_urls ๊ฐ์ ์์ฑ์ ๊ฐ์ ธ์. ์:
>>> accuracy.description
Accuracy is the proportion of correct predictions among the total number of cases processed.
Evaluator
evaluator()๋ก transformers pipeline๊ณผ metric์ ๋ฌถ์ด ํ๊ฐํ ์ ์์ด์. ํ์ฌ๋ text-classification ์์
์ ์ง์ํด์.
from transformers import pipeline
from datasets import load_dataset
from evaluate import evaluator
import evaluate
pipe = pipeline("text-classification", model="lvwerra/distilbert-imdb", device=0)
data = load_dataset("imdb", split="test").shuffle().select(range(1000))
metric = evaluate.load("accuracy")
task_evaluator = evaluator("text-classification")
results = task_evaluator.compute(model_or_pipeline=pipe, data=data, metric=metric,
label_mapping={"NEGATIVE": 0, "POSITIVE": 1})
print(results) # {'accuracy': 0.934}