二値分類器を評価するために受信者操作特性(ROC)曲線を使用する方法を学びましょう。Ultralytics YOLO26を用いたTPR対FPRのトレードオフを探ってください。
受信者操作特性(ROC)曲線は、二値分類モデルの性能を評価するために使用される基本的なグラフィカルツールです。機械学習(ML)の分野では、モデルの感度と特異度の間のトレードオフを、すべての可能な決定閾値にわたって視覚化します。データセットが不均衡な場合に誤解を招く可能性のある精度のような単一値メトリックとは異なり、ROC曲線は、陽性インスタンスを識別するための基準が厳しくなったり緩くなったりするにつれて、分類器がどのように動作するかを包括的に示します。この視覚化は、教師あり学習技術を利用するエンジニアが、特定のユースケースに最適な動作点を決定するために不可欠です。
ROC曲線について理解するためには、互いに対してプロットされる2つのパラメータ、すなわち真陽性率(TPR)と偽陽性率(FPR)を見る必要があります。
この曲線は動的な関係を示しています。信頼度閾値を下げてより多くの陽性ケースを捉える(TPRを増加させる)と、必然的に陰性ケースを誤ってフラグ付けするリスクが高まります(FPRを増加させる)。完璧な分類器はグラフの左上隅に到達し、100%の感度と0%の誤報を示します。ランダムな推測をするモデルは、左下から右上への対角線として現れます。全体的な性能は、しばしば曲線下面積 (AUC)によって要約され、1.0の値は完璧を表します。
ROC曲線上の閾値をどこに設定するかは、特定の産業アプリケーションにおけるエラーのコストに完全に依存します。
ROC曲線をプロットするには、最終的なクラスラベルだけでなく、生の予測確率が必要です。以下の例では、最先端のYOLO26モデルを使用して分類スコアを生成します。
from ultralytics import YOLO
# Load a pretrained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Run inference to get probability distribution
results = model("bus.jpg")
# Access the probability score for the predicted class
# These continuous scores are required to calculate TPR/FPR at different thresholds
print(f"Top Class Index: {results[0].probs.top1}")
print(f"Confidence Score: {results[0].probs.top1conf:.4f}")
これらの確率が検証セット用に収集されると、開発者はScikit-learnのようなライブラリを使用して曲線点を計算できます。データセットの管理とこれらのメトリクスの経時的な追跡のために、Ultralytics Platformは、モデル評価とデプロイメントのための統合ツールを提供します。
ROC曲線と他の評価ツールを区別することが重要です。

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