ROC AUCとF1スコアの選択方法は?


26

私は最近、Roc aucスコアが競合要件に従って使用されるKaggleコンテストを完了しました。このプロジェクトの前は、通常、モデルのパフォーマンスを測定するためのメトリックとしてf1スコアを使用していました。今後、これらの2つのメトリックをどのように選択したらよいでしょうか?いつ、それぞれの長所と短所を使用するのですか?

ところで、私はここで記事を読みましたAUCとF1-scoreの違いは何ですか?、しかし、どちらを使用するかはわかりません。

助けてくれてありがとう!

回答:


14

ここにリストされている測定値はいずれも、適切な精度スコアリング規則、つまり正しいモデルによって最適化された規則ではありません。ブライアースコアと、疑似などの対数尤度ベースの尺度を検討してください。C -index(AUROC、一致確率)は適切ではなく、単一のモデルを説明するための良いです。モデルを選択したり、わずか2つのモデルを比較したりするために使用するほど敏感ではありません。R2c


フランクの返信ありがとうございます!さらなる説明が必要です。ROC AUCおよびF1スコアからのみ選択できる場合、どちらを選択しますか?その理由は何ですか?両方の長所と短所は何ですか?
ジョージ

2
-indexおよびF1 から選択することだけが許可されている場合、十分に強く主張しているわけではありません。ゴールドスタンダードは、対数尤度、ペナルティ付き対数尤度、またはベイジアン等価(たとえば、DIC)です。その隣にあるのはブライアースコアです。c
フランクハレル

2
citeulike.org/user/harrelfe/article/14321176を参照してください。私は自分のシミュレーションでこれを示してきました。不均衡がオーバーサンプリング/アンダーサンプリングによるものではない場合、不均衡に関係なく適切なスコアリングルールを使用できます。
フランクハレル

1
@FrankHarrell:リンクは無効です。再確認できますか?
SiXUlm

13

計算式:

  • 高精度TP /(TP + FP)
  • リコール:TP /(TP + FN)
  • F1-スコア:2 /(1 / P + 1 / R)
  • ROC / AUC:TPR = TP /(TP + FN)、FPR = FP /(FP + TN)

ROC / AUCは同じ基準であり、PR(Precision-Recall)曲線(F1-score、Precision、Recall)も同じ基準です。

実際のデータでは、正のサンプルと負のサンプルの間に不均衡が生じる傾向があります。この不均衡はPRに大きな影響を及ぼしますが、ROC / AUCには影響を与えません。

そのため、現実の世界では、正と負のサンプルが非常に不均一であるため、PR曲線がより多く使用されます。ROC / AUC曲線は分類器のパフォーマンスを反映しませんが、PR曲線は反映できます。

研究論文で実験を行うだけでROCを使用できれば、実験結果はより美しくなります。一方、PRカーブは実際の問題で使用され、解釈しやすくなっています。


7

上記の答えは両方とも良いです。

しかし、私が指摘したい点は、AUC(ROC下の領域)が特に問題であり、特にデータが不均衡である(いわゆるスキューが大きい:Skew=negatveeバツamplespostveeバツamplesは大きい)。この種の状況は、アクション検出、不正検出、破産予測などで非常に一般的です。つまり、あなたが気にするポジティブな例は、発生率が比較的低いです。

データが不均衡な場合でも、AUCは0.8前後のスペシフィックな値を提供します。ただし、大きなTP(真陽性)ではなく、FPが大きいために高くなります。

以下の例のように、

TP=155,   FN=182
FP=84049, TN=34088

したがって、AUCを使用して分類器のパフォーマンスを測定する場合、問題はAUCの増加が実際にはより良い分類器を反映しないことです。これは、あまりにも多くの否定的な例の副作用にすぎません。データセットで簡単に試すことができます。

Fβ=1+β2precsonrecallβ2precson+recall

βはリコールと比較した精度の相対的な重要度です。

次に、不均衡なデータに対する私の提案は、この投稿に似てます。また、十分位数の表を試すこともできます。これは、「2行2列の分類と十分位数の表」を検索して作成できます。その間、私はこの問題についても研究しており、より良い尺度を提供します。


メソッドのパフォーマンスに関心がある場合は、ROCを使用して分類パフォーマンスを表示した方が良いでしょう。しかし、真の陽性の実際の予測に関心がある場合、F1スコアは業界に歓迎されます。
Xiaorui朱

2
実際のビジネス環境では、偽陽性のコストと偽陰性のコストを見積もることができます。次に、最終的な分類は、確率モデルと誤った分類のコストを最小限に抑えるために選択された分類しきい値に基づいている必要があります。正確性やFスコアには、規律のあるデータサイエンティストにとって多くの実際の用途があるとは本当に思いません。
マシュードゥルーリー

はい、カットオフの確率とモデルに関する誤った分類のコストを最小化する決定方法の手順に同意します。また、場合によっては、非対称コストをFPおよびFNに適用できます。ただし、精度とFスコアのポイントは、モデルの全体的なパフォーマンスを確認するか、複数のモデル間でパフォーマンスを比較することです。実際、データサイエンティストとして手元にあるデータを使用すると、常にコストを最小限に抑えることができます。しかし、私は実際にデータ科学者が意思決定問題の解決の分布(または変動)を必要としているかどうかに興味があります。Thx
Xiaorui朱

1
個人的には、モデルが予測する条件付き確率に基づいて、モデルの適合度を常に評価します。そのため、ログ損失などの適切なスコアリングルールを使用してモデルを常に比較し、ブートストラップを使用して改善がノイズでないことを確認し、AUCを追加することもあります。
マシュードゥルーリー

2
私はそれが本当だとは思わない。AUCは、クラスの不均衡に影響されないように特別に構築されています。これについて広範なシミュレーションを行った結果、真実であることがわかりました。また、モデルを比較するときは、同じ母集団からサンプリングされたデータセットに基づいて構築する必要があり、クラスの不均衡の問題はゼロになります。
マシュードゥルーリー

4

データの不均衡がある場合、つまりポジティブクラスとネガティブクラスの例の数の差が大きい場合に非常に単純な単語を入力するには、常にF1スコアを使用する必要があります。それ以外の場合は、ROC / AUC曲線を使用できます。


「データの不均衡」の定義では、ほとんど常にF1スコアを使用するので、これはあまり役に立ちません。たぶん、これを少し拡張できますか?
jbowman

私はそこで非常に重要な言葉を逃していました...謝罪。応答を編集しました。さらに説明が必要な場合はお知らせください。
バルボア

1

一部のマルチクラス分類問題では、ROC / AUCの分析と視覚化は簡単ではありません。この質問、「マルチクラス分類でROC曲線をプロットする方法」をご覧ください。。このような状況では、F1スコアを使用する方がより適切なメトリックになる可能性があります。

また、F1スコアは情報検索の問題の一般的な選択肢であり、業界の設定で一般的です。よく説明されている例がありますが、MLモデルの構築は困難です。実際のビジネス環境でそれらを展開するのはより困難です。


1

分類の目的が確率によるスコアリングである場合、可能なすべてのしきい値を平均するAUCを使用することをお勧めします。ただし、分類の目的が2つの可能なクラス間で分類する必要があり、各クラスがモデルによって予測される可能性を必要としない場合、特定のしきい値を使用するFスコアに依存する方が適切です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.