なっトク! 統計

【明快】混同行列で使う「F値」とは単なる「調和平均」。「F値」をマスターしよう!

2024-06-13

たすく

きょうは、F値が「いくつなら良いのか」まで踏み込んで決めていきます

分類のモデルを作ると、最後にF値が出てきます。

0.72。

さて、これは良いのでしょうか。

そこなんだよね。数字は出るけど、良し悪しが分からない

あかり

計算式は、どの本にも載っています。

ところが「いくつなら合格か」は、あまり書かれていません。

ここは、大人の学び直しに特有の詰まりだと思っています。

学生時代なら、合格点は決まっていました。

60点で通る。そう言われていたからです。

いまは、合格点を自分で決めなければなりません。

数字の読み方より、そちらのほうが難しい。

なので、決め方まで書きます。

結論:F値は「両方できているか」を1つにした数

まず、見ている2つを押さえます。

  • 適合率(Precision) … 「該当」と答えたうち、本当に該当だった割合。誤検知の少なさ
  • 再現率(Recall) … 本当の該当のうち、拾えた割合。見逃しの少なさ

片方だけなら、いくらでも上げられます。

全部「該当」と答えれば、見逃しはゼロ。

自信のある1件だけ答えれば、誤検知はゼロ。

どちらも、使い物になりません。

F値は、この2つを1つの数にまとめたもの。

その計算に、調和平均を使います。


なぜ普通の平均ではなく、調和平均なのか

ここが、この指標のいちばん面白いところです。

式そのものは、単純です。

F1 = 2 × 適合率 × 再現率 ÷ (適合率 + 再現率)

ふたつの値の調和平均、そのものです。

では、なぜ足して2で割らないのか。

実際に並べると、一目で分かります。

適合率再現率足して2で割るF値(調和平均)
1.000.000.500.00
0.900.100.500.18
0.500.500.500.50

3つとも、普通の平均では同じ0.50です。

え、上のふたつ、全然ちがう状態だよね

あかり
たすく

そこです。普通の平均だと、片方が壊れていても真ん中の顔をしてしまうんです

調和平均は、低いほうに強く引っぱられます。

だから、片方をごまかして稼ぐことができません。

どちらかが0なら、F値も0になります。

「両方できていること」を要求する。

そのために、この平均が選ばれています。

「トレードオフだから高い値は出ない」は誤解です

よくある疑問がここです。

適合率と再現率は、片方を上げると片方が下がる。

ならば、F値が0.8を超えるようなモデルは怪しいのではないか。

もっともな疑問ですが、ここにはひとつ抜けている前提があります。

そのトレードオフは「同じモデルのまま、判定の線を動かしたとき」の話です。

線を甘くすれば、たくさん拾えて、誤りも増える。

線を厳しくすれば、誤りは減って、見逃しが増える。

これは、確かにシーソーです。

でも、モデルそのものが良くなれば、シーソーごと持ち上がります。

両方が同時に上がることは、普通に起こります。

だから「値が高い=過学習」ではありません。

そこは切り離して考えてください。

では、過学習はどこで見抜くのか

結論から書きます。

値の高さでは分かりません。

分かるのは、学習に使ったデータと、使っていないデータの「差」です。

学習データで0.95、未知のデータで0.60。

これは、覚えただけの状態です。

学習データで0.88、未知のデータで0.85。

こちらは、高くても健全です。

単体の数字じゃなくて、差を見るのか

あかり
たすく

そうです。高さは状態を表しません。差のほうが表します

ひとつだけ、例外的に疑うべき場合があります。

難しいはずの問題で、いきなり0.99が出たときです。

この場合、まず疑うのは実力ではありません。

答えそのものが、入力に混ざっていないかを見ます。

解約したかを当てたいのに、解約日の列が入っている。

こういう混入は、実務でよく起きます。

出来すぎた数字は、喜ぶ前に疑う。

これは覚えておいて損がありません。

結局、いくつなら良いのか

ここが本題です。

先に、はっきり書いておきます。

業種を越えて通用する合格ラインは、ありません。

「0.7以上なら良い」といった表を見かけます。

ですが、その線に根拠はありません。

問題の難しさが違えば、同じ0.7の意味も変わるからです。

代わりに、比べる相手を決めます。

① 何もしない場合と比べる

1,000件のうち、該当が30件だとします。

全部「該当しない」と答えるだけで、正解率は97%になります。

賢そうな数字ですが、1件も拾えていません。

この場合、再現率は0。

したがってF値も0です。

F値が効くのは、まさにこういう偏ったデータです。

正解率では見えないものが見えます。

② いまの運用と比べる

人が手作業で拾っている、その精度が比較の相手です。

それを超えていれば、0.6でも導入する価値があります。

超えていなければ、0.85でも意味がありません。

絶対評価じゃなくて、相対評価なんだ

あかり
たすく

そうなんです。だから「よそは0.8だから」という話には、あまり意味がなくて


見逃しと誤検知、どちらが痛いか

最後に、実務でいちばん効く調整を書いておきます。

F値は、2つを対等に扱います。

でも現場では、たいてい対等ではありません。

病気の見落としと、念のための再検査。

痛さが、まるで違います。

そういうときは、重みを変えられます。

  • 見逃しを避けたい … 再現率を重く見る(F2など)
  • 誤検知を避けたい … 適合率を重く見る(F0.5など)

F1は、その真ん中にすぎません。

F1を使うというのは、

「見逃しと誤検知は同じくらい痛い」と決めた、という意味です。

その前提が違うなら、指標のほうを変えるべきです。

ここは、既定のまま使われがちなところだと思っています。

数式より、意味のほうが残ります

最後に、勉強のしかたの話を少しだけ。

この手の指標は、覚えても抜けます。

調和平均の式も、たぶん来月には出てこないでしょう。

それで構いません。

式は調べれば出てきます。

残すべきは「片方だけでは稼げない仕組みになっている」という一点。

そこさえ握っていれば、式は後から取りに行けます。

大人の学び直しで効くのは、この握り方のほうだと思っています。

覚えた端から忘れることについては、知識の定着率は、繰り返した回数で決まりますにまとめました。

ここを含む統計の範囲をどこまでやるかは、統計検定2級と準1級、どちらが必要かで線を引いています。

  • この記事を書いた人
  • 最新記事

花丸たすく

▸「思考タイプ診断」で、働き方をスマートに
▸ あなたの価値を、現実を変える力へ
▸ 「IT戦略×データ分析×プロジェクトマネジメント」の知見
▸ 京都大学卒業後、教育・情報サービス系JTCなどでDX推進・データ分析・人材開発に従事