2つの異なるケースについて、以下のF1およびAUCスコアがあります
モデル1:精度:85.11リコール:99.04 F1:91.55 AUC:69.94
モデル2:精度:85.1リコール:98.73 F1:91.41 AUC:71.69
私の問題の主な動機は、陽性症例を正確に予測すること、すなわち、偽陰性症例(FN)を減らすことです。 F1スコアを使用してモデル1を選択するか、AUCを使用してモデル2を選択する必要があります
経験則として、ROC AUCとF1スコアを比較するたびに、比較しているように考えてください。以下に基づくモデルのパフォーマンス:
[Sensitivity vs (1-Specificity)] VS [Precision vs Recall]
ここで、感度、特異性、精度、リコールとは何かを理解する必要があります直感的に!
感度:は次の式で与えられます:
直観的に言えば、100%敏感なモデルがある場合、それはそうであったことを意味します[〜#〜] not [〜#〜]True Positiveを見逃した、言い換えれば、 [〜#〜] no [〜#〜]False Negatives(つまり、ネガティブとしてラベル付けされたポジティブな結果)。しかし、多くの誤検知が発生するリスクがあります!
特異性:は次の式で与えられます:
直観的に言えば、100%の特定のモデルがある場合、つまり、[〜#〜] not [〜#〜]True Negativeを見逃した、つまり[〜#〜] no [〜#〜]偽陽性(つまり、陽性とラベル付けされた陰性結果)。しかし、多くの偽陰性を持つリスクがあります!
直観的に言えば、100%正確なモデルがある場合、それはすべてをキャッチできることを意味しますTrue positiveがありましたが、 #〜]誤検知。
リコール:は次の式で与えられます:
直観的に言えば、100%のリコールモデルがある場合、それは、[〜#〜] not [〜#〜]True Positiveを見逃したことを意味します。つまり、 [〜#〜] no [〜#〜]False Negatives(つまり、ネガティブとしてラベル付けされたポジティブな結果)。
ご覧のとおり、4つの概念は互いに非常に近いものです。
経験則として、偽陰性のコストが高い場合、モデルの感度とリコールを増やしたい(それらの式)!!.
たとえば、不正行為の検出や病気の患者の検出では、不正なトランザクション(True Positive)を非不正(False Negative)としてラベル付け/予測したくありません。また、伝染病患者(True Positive)を病気ではない(False Negative)としてラベル付け/予測したくありません。
これは、結果が偽陽性(無害なトランザクションを不正または非伝染性の患者を伝染性として誤ってラベル付けする)よりも悪いためです。
一方、False Positiveのコストが高い場合、モデルの特異性と精度を高めたいと思います!。
たとえば、電子メールのスパム検出では、非スパムの電子メール(True Negative)をスパム(False Positive)としてラベル付け/予測したくありません。一方、スパムメールにスパム(False Negative)のラベルを付けない方がコストはかかりません。
次の式で与えられます:
F1スコアは、精度とリコールの間でbalanceを維持します。クラスの分布が不均一な場合は、精度と再現率が誤解を招く可能性があるため、これを使用します!
そのため、F1スコアを精度とリコール番号の比較指標として使用します!
感度と(1-特異性)を比較します。つまり、真陽性率と偽陽性率を比較します。
そのため、AUROCが大きいほど、True PositiveとTrue Negativeの区別が大きくなります。
一般に、ROCは多くの異なるレベルのしきい値用であるため、多くのFスコア値があります。 F1スコアは、ROC曲線上の特定のポイントに適用されます。
AUCはROC曲線の下の領域であるのに対して、特定のしきい値での精度とリコールの尺度と考えることができます。 Fスコアを高くするには、精度と再現率の両方が高い必要があります。
その結果、正と負のサンプル間にデータ不均衡がある場合、ROCすべての可能なしきい値にわたる平均!
さらに読む:
クレジットカード詐欺:非常に不均衡なクラスを処理し、受信者動作特性曲線(ROC曲線)を使用しない理由、および非常に不均衡な状況では精度/リコール曲線を優先する必要がある
私は意図的にSensitivity
とRecall
の両方の用語を意図的に使用しましたが、MLエンジニアとして慣例によりRecall
という用語を使用する可能性が高いという事実を強調するためです。 、統計学者はSensitivity
という用語を使用して同じ測定値を参照する可能性が高くなります。
定義を見れば、AUCとF1-scoreの両方が、実際に真陽性である「陽性」とラベル付けされたサンプルの一部とともに「何か」を最適化できます。
この「何か」は:
クラスのバランスが非常に悪い、または歪んでいる場合、違いが重要になります。たとえば、真のポジティブよりも真のネガがはるかに多くあります。
まれな病気の人を見つけるために、一般集団のデータを見ているとします。 「ポジティブ」よりも「ネガティブ」な人の方がはるかに多く、AUCを使用してポジティブサンプルとネガティブサンプルを同時に最適化しようとするのは最適ではありません。可能であれば、陽性サンプルにすべての陽性が含まれるようにし、偽陽性率が高いためにそれが大きくなることは望ましくありません。この場合、F1スコアを使用します。
逆に、両方のクラスがデータセットの50%を構成する場合、または両方がかなりの割合を占める場合、各クラスを均等に識別するパフォーマンスを重視する場合は、AUCを使用する必要があります。