私は最近、Roc aucスコアが競合要件に従って使用されるKaggleコンテストを完了しました。このプロジェクトの前は、通常、モデルのパフォーマンスを測定するためのメトリックとしてf1スコアを使用していました。今後、これらの2つのメトリックをどのように選択したらよいでしょうか?いつ、それぞれの長所と短所を使用するのですか?
ところで、私はここで記事を読みましたAUCとF1-scoreの違いは何ですか?、しかし、どちらを使用するかはわかりません。
助けてくれてありがとう!
私は最近、Roc aucスコアが競合要件に従って使用されるKaggleコンテストを完了しました。このプロジェクトの前は、通常、モデルのパフォーマンスを測定するためのメトリックとしてf1スコアを使用していました。今後、これらの2つのメトリックをどのように選択したらよいでしょうか?いつ、それぞれの長所と短所を使用するのですか?
ところで、私はここで記事を読みましたAUCとF1-scoreの違いは何ですか?、しかし、どちらを使用するかはわかりません。
助けてくれてありがとう!
回答:
ここにリストされている測定値はいずれも、適切な精度スコアリング規則、つまり正しいモデルによって最適化された規則ではありません。ブライアースコアと、疑似などの対数尤度ベースの尺度を検討してください。C -index(AUROC、一致確率)は適切ではなく、単一のモデルを説明するための良いです。モデルを選択したり、わずか2つのモデルを比較したりするために使用するほど敏感ではありません。
計算式:
ROC / AUCは同じ基準であり、PR(Precision-Recall)曲線(F1-score、Precision、Recall)も同じ基準です。
実際のデータでは、正のサンプルと負のサンプルの間に不均衡が生じる傾向があります。この不均衡はPRに大きな影響を及ぼしますが、ROC / AUCには影響を与えません。
そのため、現実の世界では、正と負のサンプルが非常に不均一であるため、PR曲線がより多く使用されます。ROC / AUC曲線は分類器のパフォーマンスを反映しませんが、PR曲線は反映できます。
研究論文で実験を行うだけでROCを使用できれば、実験結果はより美しくなります。一方、PRカーブは実際の問題で使用され、解釈しやすくなっています。
上記の答えは両方とも良いです。
しかし、私が指摘したい点は、AUC(ROC下の領域)が特に問題であり、特にデータが不均衡である(いわゆるスキューが大きい:は大きい)。この種の状況は、アクション検出、不正検出、破産予測などで非常に一般的です。つまり、あなたが気にするポジティブな例は、発生率が比較的低いです。
データが不均衡な場合でも、AUCは0.8前後のスペシフィックな値を提供します。ただし、大きなTP(真陽性)ではなく、FPが大きいために高くなります。
以下の例のように、
TP=155, FN=182
FP=84049, TN=34088
したがって、AUCを使用して分類器のパフォーマンスを測定する場合、問題はAUCの増加が実際にはより良い分類器を反映しないことです。これは、あまりにも多くの否定的な例の副作用にすぎません。データセットで簡単に試すことができます。
はリコールと比較した精度の相対的な重要度です。
次に、不均衡なデータに対する私の提案は、この投稿に似ています。また、十分位数の表を試すこともできます。これは、「2行2列の分類と十分位数の表」を検索して作成できます。その間、私はこの問題についても研究しており、より良い尺度を提供します。
一部のマルチクラス分類問題では、ROC / AUCの分析と視覚化は簡単ではありません。この質問、「マルチクラス分類でROC曲線をプロットする方法」をご覧ください。。このような状況では、F1スコアを使用する方がより適切なメトリックになる可能性があります。
また、F1スコアは情報検索の問題の一般的な選択肢であり、業界の設定で一般的です。よく説明されている例がありますが、MLモデルの構築は困難です。実際のビジネス環境でそれらを展開するのはより困難です。
分類の目的が確率によるスコアリングである場合、可能なすべてのしきい値を平均するAUCを使用することをお勧めします。ただし、分類の目的が2つの可能なクラス間で分類する必要があり、各クラスがモデルによって予測される可能性を必要としない場合、特定のしきい値を使用するFスコアに依存する方が適切です。