始める無料で始める

カスタムデータセットでのモデル評価

この演習では、Hugging Face の evaluate パッケージにある evaluator を使って、事前学習済みモデルをカスタムデータセット上で評価します。クラス不均衡のある多クラス分類では、accuracy は信頼できる指標ではありません。そのため、evaluator が同時に複数の指標を算出できる点を活かして、precision と recall を用います。

データセット(dataset)とパイプライン(pipe)はあらかじめ定義されています。evaluate ライブラリと evaluator クラスもすでにインポート済みです。

この演習はコースの一部です

Hugging Face で学ぶマルチモーダルモデル

コースを見る

演習の手順

  • "image-classification" タスク用の evaluator をインスタンス化します。
  • パイプラインから整数→文字列のラベルマッピングを抽出します。
  • metrics_dictlabel_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}")
コードを編集して実行