「良い」分類子は私の精密再現率曲線を破壊しました。どうした?


11

私は不均衡なデータを処理しています。そこでは、すべてのclass = 1に対して約40のclass = 0ケースがあります。個々の機能を使用してクラスを合理的に区別することができ、6つの機能でナイーブベイズとSVM分類器をトレーニングし、データのバランスをとることで、より良い識別が得られました(以下のROC曲線)。

ここに画像の説明を入力してください

それは結構です、そして私はうまくやっていると思いました。ただし、この特定の問題の慣例は、通常50%から90%の間の精度レベルでヒットを予測することです。例:「90%の精度でいくつかのヒットを検出しました。」これを試したところ、分類子から得られる最大精度は約25%でした(黒い線、下のPR曲線)。

PR曲線は不均衡に敏感でROC曲線はそうではないので、これをクラスの不均衡問題として理解できました。ただし、不均衡は個々の機能に影響を与えていないようです。個々の機能(青とシアン)を使用すると、かなり高い精度を得ることができます。

ここに画像の説明を入力してください

何が起こっているのかわかりません。結局のところ、データが非常に不均衡であるため、PRスペースですべてがうまく機能していなければ、それを理解できました。分類子がROC PRの領域で見た目が悪い場合にも、それを理解できました。しかし、ROCによって判断されると分類子をより良くするために何が起こっているのですか?

編集:TPR /リコールの低い領域(TPRが0から0.35の間)では、個々の機能がROC曲線とPR曲線の両方の分類子を常に上回っていることに気付きました。多分私の混乱は、ROC曲線が高いTPR領域(分類器がうまく機能している場合)を「強調」し、PR曲線が低いTPR(分類器が悪い場合)を強調しているためです。

編集2:バランスの取れていないデータ、つまり生データと同じ不均衡でのトレーニングにより、PR曲線が復活しました(以下を参照)。私の問題は分類子の不適切なトレーニングだったと思いますが、何が起こったのか完全には理解できません。 ここに画像の説明を入力してください

回答:


7

クラスが適度に不均衡(つまり、100:1以上)で、しきい値不変メトリック(AUC​​など)を使用している場合、ダウンサンプリング/アップサンプリングを使用しても、信じられないほどのメリットはないことがわかりました。サンプリングは、F1スコアや精度などのメトリックに最大の影響を与えます。サンプリングは、ROCカーブの「最適な」場所と見なされる可能性があるものにしきい値を近づけるために人為的に移動するためです。この例は、キャレットのドキュメントで確認できます

それが問題のコンテキストに完全に関連しているので、良いAUCを持つことは精度よりも優れているという点で@Chrisに同意しません。さらに、クラスが不均衡な場合、AUCが良好であっても、必ずしも正確な再現率曲線になるとは限りません。モデルが優れたAUCを示しているが、早期の検索が不十分である場合、Precision-Recall曲線は多くのことが望まれます。同様の質問に対するこの回答で、これが起こっていることの良い例を見ることができます。このため、斎藤ら。クラスが不均衡な場合は、AUCではなく、Precision-Recall曲線の下の領域を使用することをお勧めします。


私は、優れたAUCが常に優れたPR曲線よりも優れていることを示唆するつもりはありませんでした。
Chris

1
また、モデルをフィッティングしてAUC-PRを最大化する前に、常に正と負のラベルを反転できることに注意してください。人気のあるドキュメント検索の例は、AUC-PRが誤ヒットを最小限に抑えるために使用できるため、通常AUC-PRを好むという事実を示しています。見落としている関連文書よりも、見ざるを得ない関連文書の方が明らかに煩わしい。私は戦争を研究しています...つまり、簡単に言うと、誤警報よりもヒットの失敗に悩まされています。しかし、それは私がAUC-PRを平和をプラスにして使用していることを意味します。ROCを使用するのは、エラーの種類に関して好みがない場合のみです。
DHW 2018

1

モデルを評価する最良の方法は、モデルが実際にどのように使用されるかを検討し、コスト関数を開発することです。

余談ですが、たとえば、rの2乗にあまりにも重点を置いていますが、多くの人はそれが役に立たない統計であると信じています。ですから、1つの統計にとらわれないでください。

あなたの答えは精度のパラドックスの例だと思います。

https://en.m.wikipedia.org/wiki/Accuracy_paradox

リコール(真陽性率とも呼ばれる感度)は、取得される関連インスタンスの割合です。

tpr = tp /(tp + fn)

精度(別名、正の予測値)は、関連する検索されたインスタンスの割合です。

ppv = tp /(tp + fp)

99のポジティブと1つのネガティブの非常に不均衡なセットがあるとします。

モデルがすべてが肯定的であるとモデルが訓練されているとしましょう。

tp = 99 fp = 1 ppvは0.99になります

「良い」ポジティブ予測値にもかかわらず、明らかにジャンクモデル。

オーバーサンプリングまたはアンダーサンプリングのいずれかによりバランスの取れたトレーニングセットを構築することをお勧めします。モデルが構築されたら、が元の不均衡を維持する検証セットを使用し、その上にパフォーマンスチャートを構築します。


本当にありがとう。私はそれについて言及しませんでしたが、私はバランスの取れたデータ(再サンプリングを行った)についてトレーニングし、バランスの取れていないデータについて評価しています。再:精度のパラドックス、分類子が支配的なクラスを選択しているだけかもしれないということですか?それは、ランダムに見えるROC曲線につながりませんか?あなたの例での「良い」分類子は、良い精度と悪いROCを持っています。私の場合、「良い」分類子には反対の精度がありますが、精度は低くてもROCは優れています。
Rグレッグステイシー2016年

貴重なデータを省略するのは正しい解決策ではありません。これは、不適切な精度のスコアリングルールを使用することに起因する問題に対処するための無駄な方法です。さらに、最初の質問で提示された提案された戦略は、最適な意思決定と対立しています。
フランクハレル2016年

彼は貴重なデータを省略しているとどこに述べていますか?
Chris

@フランクコメントをありがとう。「不適切な精度のスコアリングルールを使用する」とはどういう意味ですか?また、「提案された戦略は最適な意思決定と対立しています」?特定の精度レベルでヒットを定義することを意味しますか?
Rグレッグステイシー2016年

1
ビジネスケース内のモデルを評価するだけでは不十分です。ビジネスケースを最適に解決するには、最適なモデルを構築し、その上にユーティリティ関数を適用して意思決定を行う必要があります。しきい値を分析に組み込むことによってではありません。不連続な精度スコアとその他の不適切な精度スコアにより、偽の(間違った)モデルが優れていると主張でき、不適切な精度スコアを使用してモデルを構築すると、誤った機能やその他の害を選択するようになります。@Qroidがデータを破棄したという事実は、精度評価に誤りがあることを示す大きな証拠です。
フランクハレル2016年

1

PR曲線は不均衡に敏感でROC曲線はそうではないので、これをクラスの不均衡問題として理解できました。ただし、不均衡は個々の機能に影響を与えていないようです。個々の機能(青とシアン)を使用すると、かなり高い精度を得ることができます。

これは実際には逆です。ROCはクラスの不均衡に敏感ですが、歪んだクラス分布を処理する場合はPRがより堅牢です。https://www.biostat.wisc.edu/~page/rocpr.pdfを参照してください

彼らはまた、「ROC曲線の下の領域を最適化するアルゴリズムは、PR曲線の下の領域を最適化することを保証されていない」ことも示しています。

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