사용자 정의 데이터셋에서 모델 평가
이 연습 문제에서는 Hugging Face의 evaluate 패키지에서 제공하는 evaluator를 사용해 사전 학습된 모델의 성능을 사용자 정의 데이터셋에서 평가해 볼 거예요. 다중 클래스 분류에서 데이터셋의 불균형이 있는 경우, accuracy만으로는 신뢰할 수 있는 성능 지표가 되지 않아요. 따라서 evaluator가 한 번에 여러 측정을 제공하는 기능을 활용해 precision과 recall을 사용하겠습니다.
데이터셋(dataset)과 파이프라인(pipe)은 미리 정의되어 있어요. evaluate 라이브러리와 evaluator 클래스도 이미 임포트되어 있어요.
이 연습은 강의의 일부입니다
Hugging Face로 배우는 멀티모달 모델
연습 안내
"image-classification"작업을 위한evaluator인스턴스를 생성하세요.- 파이프라인에서 정수→문자열 레이블 매핑을 추출하세요.
metrics_dict와label_map에 저장된 지표를 사용해 데이터셋(dataset)과 파이프라인(pipe)을 평가하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Instantiate the task evaluator
task_evaluator = ____("____")
task_evaluator.METRIC_KWARGS = {"average": "weighted"}
# Get label map from pipeline
label_map = pipe.model.config.____
# Compute the metrics
eval_results = task_evaluator.____(model_or_pipeline=pipe, data=dataset,
metric=evaluate.____(metrics_dict), label_mapping=____)
print(f"Precision: {eval_results['precision']:.2f}, Recall: {eval_results['recall']:.2f}")