F1スコアが精度と再現率のバランスを取り、機械学習モデルを評価する方法を学びましょう。より良い精度を得るためにUltralytics YOLO26の性能を最適化する方法を発見してください。
F1スコアは、適合率と再現率を単一の調和平均に結合する、機械学習における重要な性能指標です。特に、データセットが不均衡である場合や、偽陽性と偽陰性が異なるコストを持つ分類モデルの評価に役立ちます。あるクラスがデータセットを支配している場合に誤解を招く可能性のある単純な精度とは異なり、F1スコアは、モデルが関連するインスタンスを正確に識別し、エラーを最小限に抑える能力について、よりバランスの取れた視点を提供します。極端な値をペナルティとして課すことで、適合率と再現率の両方が十分に高い場合にのみ高いスコアが達成されることを保証し、医療診断から情報検索に至るまで幅広い分野で主要な指標となっています。
多くの実世界のシナリオでは、正解予測の割合(精度)を知るだけでは不十分です。例えば、異常検知では、正常なケースが異常なケースをはるかに上回ります。すべての入力に対して「正常」と予測するモデルは99%の精度を達成するかもしれませんが、実際の問題を検出するには役に立ちません。F1スコアは、2つの競合する指標のバランスを取ることでこれに対処します。
精度を向上させると再現率が低下し、その逆もまた然りというトレードオフがしばしば存在するため、F1スコアは最適なバランス点を見つけるための統一された指標として機能します。これは、多様な条件下で堅牢なパフォーマンスを確保するために、ハイパーパラメータ最適化を使用してモデルを調整する際に不可欠です。
F1スコアの有用性は、エラーのコストが重大であるさまざまな産業に及びます。
現代のコンピュータービジョンフレームワークは、これらのメトリクスの計算を簡素化します。物体検出モデルをトレーニングする際、F1スコアは検証フェーズ中に自動的に計算されます。Ultralytics Platformは、これらのメトリクスをリアルタイムチャートで可視化し、ユーザーが異なる信頼度閾値に対するF1スコアの曲線を確認できるようにします。
Python APIを使用して、F1スコアの構成要素を含む検証メトリクスにアクセスする方法を以下に示します。
from ultralytics import YOLO
# Load a pre-trained YOLO26 model
model = YOLO("yolo26n.pt")
# Validate the model on a dataset (metrics are computed automatically)
# This returns a validator object containing precision, recall, and mAP
metrics = model.val(data="coco8.yaml")
# Print the Mean Average Precision (mAP50-95), which correlates with F1 performance
print(f"mAP50-95: {metrics.box.map}")
# Access precision and recall arrays to manually inspect the balance
print(f"Precision: {metrics.box.p}")
print(f"Recall: {metrics.box.r}")
F1スコアが他の評価基準とどのように異なるかを理解することは、プロジェクトに適したツールを選択するために不可欠です。
モデルのF1スコアが低い場合、いくつかの戦略が役立ちます。 データ拡張は、ポジティブな例の多様性を増やし、モデルの汎化性能向上に貢献します。堅牢な基盤モデルからの転移学習を適用することで、ネットワークは事前学習済みの特徴を活用できます。さらに、推論時に信頼度閾値を調整することで、精度と再現率のバランスを手動で調整し、特定のユースケースでF1スコアを最大化できます。

未来の機械学習で、新たな一歩を踏み出しましょう。