真陽性、偽陽性、真陰性、偽陰性を使用して、モデルの評価に役立ついくつかの指標を計算します。どの評価指標が最も意味があるかは、特定のモデルと特定のタスク、さまざまな誤分類のコスト、データセットのバランスが取れているかどうかによって異なります。
このセクションの指標はすべて、単一の固定しきい値で計算され、しきい値が変更されると変化します。多くの場合、ユーザーはこれらの指標のいずれかを最適化するためにしきい値を調整します。
精度
精度は、陽性か陰性かを問わず、正しかった分類の割合です。数学的には次のように定義されます。
\[\text{Accuracy} = \frac{\text{correct classifications}}{\text{total classifications}} = \frac{TP+TN}{TP+TN+FP+FN}\]
迷惑メールの分類の例では、精度は正しく分類されたすべてのメールの割合を測定します。
完全なモデルでは、偽陽性と偽陰性がゼロになるため、精度は 1.0(100%)になります。
混同行列(TP、FP、TN、FN)の 4 つの結果すべてが組み込まれているため、両方のクラスに同程度の数のサンプルを含むバランスの取れたデータセットの場合、精度はモデルの品質の粗い測定値として使用できます。このため、汎用タスクを実行する汎用モデルや未指定のモデルで使用されるデフォルトの評価指標となることがよくあります。
ただし、データセットが不均衡な場合や、一方の種類の誤り(FN または FP)が他方よりもコストが高い場合(ほとんどの実際のアプリケーションで当てはまります)、代わりに他の指標のいずれかを最適化することをおすすめします。
1 つのクラスが 1% などの非常に低い頻度で出現する不均衡なデータセットの場合、常に負の値を予測するモデルは、役に立たないにもかかわらず、精度で 99% のスコアを獲得します。
再現率(真陽性率)
真陽性率(TPR)(実際に陽性であるすべてのサンプルが陽性と正しく分類された割合)は、再現率とも呼ばれます。
再現率は次のように定義されます。
\[\text{Recall (or TPR)} = \frac{\text{correctly classified actual positives}}{\text{all actual positives}} = \frac{TP}{TP+FN}\]
偽陰性は、実際には陽性であるにもかかわらず陰性と誤分類されたものです。そのため、分母に現れます。迷惑メールの分類の例では、再現率は迷惑メールとして正しく分類された迷惑メールの割合を測定します。そのため、再現率は検出確率とも呼ばれます。これは、「このモデルで検出されるスパムメールの割合はどのくらいか?」という質問に答えるためです。
理想的なモデルでは、偽陰性がゼロになるため、再現率(TPR)は 1.0、つまり検出率は 100% になります。
実際の陽性数が非常に少ない不均衡なデータセットでは、再現率は精度よりも意味のある指標です。これは、再現率がすべての陽性インスタンスを正しく識別するモデルの能力を測定するためです。病気の予測などのアプリケーションでは、陽性例を正しく特定することが重要です。通常、偽陰性は偽陽性よりも深刻な結果を招きます。再現率と精度指標を比較する具体的な例については、再現率の定義のメモをご覧ください。
偽陽性率
偽陽性率(FPR)は、実際に陰性だったもののうち、陽性と誤って分類されたものの割合です。これは、誤報の確率とも呼ばれます。数学的には次のように定義されます。
\[\text{FPR} = \frac{\text{incorrectly classified actual negatives}} {\text{all actual negatives}} = \frac{FP}{FP+TN}\]
偽陽性は、誤分類された実際の陰性であるため、分母に表示されます。迷惑メールの分類の例では、FPR は迷惑メールとして誤って分類された正当なメールの割合、つまりモデルの誤報率を測定します。
完全なモデルでは偽陽性がゼロになるため、FPR は 0.0、つまり誤報率は 0% になります。
実際の陰性の数が非常に少ない不均衡なデータセット(合計で 1 ~ 2 個の例など)では、FPR は指標としての意味と有用性が低くなります。
適合率
適合率は、モデルのすべての陽性分類のうち、実際に陽性であるものの割合です。数学的には次のように定義されます。
\[\text{Precision} = \frac{\text{correctly classified actual positives}} {\text{everything classified as positive}} = \frac{TP}{TP+FP}\]
迷惑メールの分類の例では、適合率は迷惑メールとして分類されたメールのうち、実際に迷惑メールであった割合を測定します。
仮説上の完全なモデルでは、偽陽性がゼロになるため、適合率は 1.0 になります。
真陽性の数が非常に少ない不均衡なデータセット(合計で 1 ~ 2 個の例など)では、精度は指標としてあまり意味がなく、有用性も低くなります。
偽陽性が減少すると適合率が向上し、偽陰性が減少すると再現率が向上します。ただし、前のセクションで説明したように、分類しきい値を上げると偽陽性の数が減り、偽陰性の数が増える傾向があります。しきい値を下げると、逆の効果があります。そのため、適合率と再現率は逆相関を示すことが多く、一方を改善すると他方が悪化します。
実際に試してみる:
指標の NaN は何を意味しますか?
NaN(数値ではない)は、0 で除算したときに表示されます。これは、これらの指標のいずれでも発生する可能性があります。たとえば、TP と FP の両方が 0 の場合、精度を求める式の分母が 0 になり、結果が NaN になります。NaN は、完璧なパフォーマンスを示す場合もあり、スコア 1.0 に置き換えることができますが、実際には役に立たないモデルから生成されることもあります。たとえば、ポジティブを予測しないモデルの場合、TP は 0、FP は 0 になるため、精度を計算すると NaN になります。
指標の選択とトレードオフ
モデルを評価してしきい値を選択する際に優先する指標は、特定の問題の費用、メリット、リスクによって異なります。迷惑メールの分類の例では、すべての迷惑メールを検出する再現率、迷惑メールとラベル付けされたメールが実際に迷惑メールであることを確認する精度、または 2 つのバランスを最小限の精度レベル以上に優先することがよくあります。
| 指標 | ガイダンス |
|---|---|
| 精度 | バランスの取れたデータセットのモデル トレーニングの進行状況/収束の目安として使用します。 モデルのパフォーマンスについては、他の指標と組み合わせてのみ使用します。 不均衡なデータセットには使用しないでください。別の指標の使用をご検討ください。 |
| 再現率 (真陽性率) |
偽陰性の方が偽陽性よりもコストが高い場合に使用します。 |
| 偽陽性率 | 偽陽性のコストが偽陰性よりも高い場合に使用します。 |
| 適合率 | 正の予測の精度が非常に重要な場合に使用します。 |
(省略可、詳細)F1 スコア
F1 スコアは、適合率と再現率の調和平均(一種の平均)です。
数学的には、次のように表されます。
この指標は適合率と再現率の重要性のバランスを取り、クラスの不均衡なデータセットでは精度よりも優先されます。適合率と再現率の両方が 1.0 の完全なスコアの場合、F1 スコアも 1.0 の完全なスコアになります。一般に、適合率と再現率の値が近い場合、F1 スコアはそれらの値に近づきます。適合率と再現率が大きく異なる場合、F1 スコアは値の低い指標に近くなります。