スパムメール検出用のロジスティック回帰モデルがあるとします。このモデルは、特定のメールがスパムである確率を表す 0 ~ 1 の値を予測します。予測値が 0.50 の場合、メールがスパムである確率は 50% です。予測値が 0.75 の場合、メールがスパムである確率は 75% です。
このモデルをメール アプリケーションにデプロイして、スパムを別のメールフォルダにフィルタリングしたいとします。しかしそのためには モデルの未加工の数値出力を
変換する必要があります0.75
)を「スパム」または「非スパム」のいずれかに分類します。
この変換を行うには、分類しきい値と呼ばれるしきい値の確率を選択します。しきい値を超える確率の例は、正クラス(テスト対象のクラス、ここでは spam
)に割り当てられます。確率が低い例は、負クラス(代替クラス、ここでは not spam
)に割り当てられます。
分類しきい値について詳しくは、こちらをクリックしてください
予測スコアが分類しきい値と等しい場合(分類しきい値が 0.5 の場合にスコアが 0.5 など)はどうなりますか?このケースの処理は、分類モデルに選択した特定の実装によって異なります。Keras ライブラリは、スコアとしきい値が等しい場合に負クラスを予測しますが、他のツールやフレームワークではこのケースが異なる方法で処理される場合があります。
モデルが 1 通のメールに対してスコア 0.99 を割り当て、そのメールがスパムである確率が 99% であると予測し、別のメールに対してスコア 0.51 を割り当て、そのメールがスパムである確率が 51% であると予測したとします。分類しきい値を 0.5 に設定すると、モデルは両方のメールを迷惑メールに分類します。しきい値を 0.95 に設定すると、スコアが 0.99 のメールのみが迷惑メールとして分類されます。
0.5 は直感的なしきい値のように思えますが、あるタイプの誤分類のコストが他よりも大きい場合や、クラスが不均衡な場合は、適切ではありません。メールの 0.01% のみが迷惑メールである場合や、正当なメールを誤って分類することが迷惑メールを受信トレイに入れるよりも悪い場合、モデルが迷惑メールである可能性を 50% 以上と判断したすべてのメールに迷惑メールのラベルを付けると、望ましくない結果が得られます。
混同行列
確率スコアは現実、つまりグラウンド トゥルースではありません。バイナリ分類器の出力には、それぞれ 4 つの結果があります。スパム分類子の例では、正解を列に、モデルの予測を行に配置すると、混同行列と呼ばれる次の表が得られます。
実際の陽性 | 実際のマイナス | |
---|---|---|
予測陽性 | 真陽性(TP): 迷惑メールとして正しく分類された迷惑メール。スパムフォルダに自動的に送信されるスパム メールです。 | 偽陽性(FP): 迷惑メールではないメールが迷惑メールとして誤って分類される。これらは、迷惑メールフォルダに振り分けられる正当なメールです。 |
ネガティブと予測 | 偽陰性(FN): 迷惑メールが迷惑メールではないと誤って分類されたメール。これらは、迷惑メールフィルタで捕捉されず、受信トレイに届く迷惑メールです。 | 真陰性(TN): 迷惑メールでないと正しく分類されたメール。これらは、受信トレイに直接送信される正当なメールです。 |
各行の合計は、有効性に関わらず、すべての予測陽性(TP + FP)とすべての予測陰性(FN + TN)を示します。一方、各列の合計は、モデルの分類に関係なく、すべての真陽性(TP + FN)とすべての真陰性(FP + TN)を示します。
実際の陽性の総数が実際の陰性の総数に近くない場合、データセットは不均衡になります。アンバランスなデータセットの例としては、雲の写真が数千枚あるセットで、興味のあるまれな雲の種類(巻雲など)が数回しか登場しない場合があります。
しきい値が真陽性、偽陽性、偽陰性に及ぼす影響
通常、しきい値が異なると、真陽性と偽陽性、真陰性と偽陰性の数が異なります。次の動画でその理由を説明しています。
ご自身でしきい値を変更してみてください。
このウィジェットには、次の 3 つのトイデータセットが含まれています。
- 分離: 通常、正例と負例は明確に区別され、ほとんどの正例のスコアは負例よりも高くなります。
- 分離なし: 多くのポジティブ サンプルのスコアがネガティブ サンプルのスコアよりも低く、多くのネガティブ サンプルのスコアがポジティブ サンプルのスコアよりも高い。
- 不均衡: 陽性クラスのサンプルが少数しか含まれていない。