機械学習におけるF1スコアの重要性をご覧ください!最適なモデル評価のために、適合率と再現率のバランスをどのように取るかを学びます。
F1スコアは、機械学習(ML)における重要なパフォーマンス指標である。 機械学習(ML)における 分類モデルの精度を評価するために使用されます。予測の正答率を計算する単純な精度とは異なり F1-Scoreは他の2つの重要な指標-Precisionと Recall-を1つの値にまとめたものです。これは の調和平均として定義されます。これにより F1-Scoreは、特に以下のような不均衡なデータセットで学習されたモデルを評価するのに役立ちます。 不均衡なデータセット、つまりあるクラスのサンプル数が他のクラスよりも著しく多い場合。このような場合、モデルは を予測するだけで、高い精度を達成できるかもしれません。 を識別できないことがあります。
F1スコアを理解するには、その構成要素間の緊張関係を把握する必要がある。Precisionは は陽性予測の質(偽陽性の最小化)を測定し、Recall は同定された真陽性の量(偽陰性の最小化)を測定する。 Recallは特定された真陽性の量を測定する(偽陰性を最小化する)。多くの場合、これらのメトリクスの一方を増加させると、もう一方が減少します。 として知られる現象である。 と呼ばれる現象である。F1-Scoreは極端な値にペナルティを課すことで、バランスの取れた見方を提供します。F1-Scoreは、1(完全な このバランスは、ロバストな予測モデリング・システムを開発するために不可欠である。 予測モデリング・システムの開発には不可欠である。 検出と誤警報の両方が大きなコストを伴う。
F1-Scoreは、エラーのコストが高かったり、データの分布が偏っていたりするシナリオでは不可欠である。
物体検出のようなコンピュータビジョン(CV)タスクでは のようなコンピュータビジョン(CV)タスクでは、F1-Scoreは、モデルがどの程度境界を定義し F1-Scoreは、モデルがどれだけうまく境界を定義し、特定の信頼閾値でオブジェクトを分類するかを決定するのに役立ちます。以下のようなモデルを学習する場合 Ultralytics YOLO11のようなモデルをトレーニングする場合、検証プロセスでは エンジニアが最適なモデルの重みを選択するのに役立ちます。
以下のPython コードは、事前にトレーニングされたYOLO11 モデルを検証し、パフォーマンス・メトリクスにアクセスする方法を示しています。
from ultralytics import YOLO
# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")
# Run validation on a dataset like COCO8
# The .val() method computes metrics including Precision, Recall, and mAP
metrics = model.val(data="coco8.yaml")
# Print the mean results
# While F1 is computed internally for curves, mAP is the primary summary metric
print(f"Mean Average Precision (mAP50-95): {metrics.box.map}")
print(f"Precision: {metrics.box.mp}")
print(f"Recall: {metrics.box.mr}")
適切な指標を選択するかどうかは、AIプロジェクトの具体的な目標に依存する。
F1-Scoreを向上させるには、多くの場合、モデルとデータの改善を繰り返す必要がある。


