カスタムデータセットでのモデル評価
この演習では、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}")