F1最適しきい値とは何ですか?計算方法は?


13

Rでh2o.glm()関数を使用しました。これは、他の統計とともに結果の分割表を提供します。分割表の見出しは「F1最適しきい値に基づくクロスタブ」です

ウィキペディアでは、F1スコアまたはFスコアを、精度と再現率の調和平均として定義しています。しかし、PrecisionとRecallは、ロジスティック回帰の予測値の結果(たとえば)がカットオフを使用してバイナリに変換された場合にのみ見つかりません。

カットオフで、F1スコアと最適なしきい値との関係は何ですか。最適なしきい値はどのように計算されますか?F1最適しきい値はどのように計算されますか?

何か見逃してしまった場合は申し訳ありませんが、ここの統計は初めてです。

回答:


21

実際、このトピックに関する機械学習の最初の論文を書きました。その中で、分類器がキャリブレーションされた確率を出力するとき(ロジスティック回帰の場合)、最適なしきい値は達成するF1スコアの約1/2であることがわかりました。これにより、直感が得られます。最適なしきい値は0.5を超えることはありません。F1が.5で、しきい値が.5の場合、しきい値を下げることでF1を改善することが期待できます。一方、F1が.5で、しきい値が.1の場合、おそらくしきい値を増やしてF1を改善する必要があります。

すべての詳細とF1が最適化に適した尺度である場合とそうでない場合がある理由の説明(シングルラベルとマルチラベルの両方の場合)は、ここにあります。

https://arxiv.org/abs/1402.1892

この投稿が注目されるまでに9か月かかりました。情報がまだ有用であることを願っています!


1
F1は1を超えることができますか?90%のAと10%〜Aがある場合、しきい値> .5が必要だと思います。
GUNG -復活モニカ

1
こんにちは@gung。いいえ、定義により、F1 = 2 * p * r /(p + r)であり、すべてのF-betaメジャーと同様に、範囲は[0,1]です。クラスの不均衡は、F1スコアの範囲を変更しません。一部のアプリケーションでは、0.5より高いしきい値で予測を行うことができます。具体的には、これは、偽陽性が偽陰性よりも悪いと考える場合に必ず発生します。ただし、このようなしきい値ではF1スコアが最適化されません。理由を理解するために、F1スコアは情報検索のコンテキストで開発されました。これらの設定では、陽性クラスはまれであり、通常、偽陽性は偽陰性ほど費用がかかりません。
ザカリーチェイスリプトン

@ZacharyChaseLipton train / val / testに分割されたデータセットがあるとします。確率を出力する分類器の場合、最適なF1を生成するしきい値を調べることにより、検証セットで最適なF1しきい値を選択します。しきい値を選択することは、最適なモデルを選択することに似ているため、これは理にかなっています。それは正しいことですか?
pir

さらに、確率を出力しない分類器(SVMなど)があるとします。検証セットでF1をどのように最適化しますか?
pir

私は質問にそれを作りました:stats.stackexchange.com/questions/283931/…–
pir
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.