0
1

【入門者・非専門家向け】【recall・precision・accuracy】確率(正答率など)はどのように評価すべきか

Last updated at Posted at 2024-08-18

Introduction

プロジェクトの評価にあたって、正答率などの「確率」が指標になることは多いです。一方で、「確率」などのように数値で評価する際に「数値だけに目が行き、数値の定義については正しく解釈されない」というのは往々にしてよく起こりがちです。

次節では「作成した予測の効果」の評価にあたって、どのように解釈すべきかについて非専門家向けになるべくわかりやすくまとめます。

予測の質が高いかをどのように判断するか

「予測の質が高いか」の判断にあたっては様々な指標がありますが、主にはrecall(再現率)・precision(適合率)・accuracy(正答率)の3つを抑えておくと良いです。具体例があるとわかりやすいので、以下下記のような表に基づいて解説します。

accuracy1.png
表1

上記は2択の問題に対し、「予測」と「実際」の内訳を表にしたものです。この表1を元に予測の質について判断する状況を仮定します。まずはじめに正答率(accuracy)を元に判断を行ってみようと思います。正答率は下記のように計算できます。

\frac{100+800}{100+10+90+800} = \frac{900}{1000} = 0.9

上記より、表1の予測の正答率は90%であることが確認できます。同様に、下記の表2のような予測についても正答率の計算を行う場合を仮定します。

accuracy2.png
表2

\frac{180+610}{180+200+10+610} = \frac{790}{1000} = 0.79

計算結果より、表2の正答率は79%であることが確認できます。

ここからが本題ですが、「表1の予測は表2の予測より良い予測である」と果たしていえるでしょうか。

色々な意見が出るかもしれませんが、「一概には言えない」というのが筆者の考える正解です。というのも表1と表2の予測が良いかどうかは問題に大きく依存するからです。

たとえば「検索エンジン」の評価を行う場合は表1は「正しいと予測した110のうち100が正しい」、表2は「正しいと予測した380のうち180が正しい」ので、表1が良い予測であると判断できます。一方で、これが「異常値の検知」だった場合はどうでしょうか。「異常値の検知」の場合、表1は「実際の異常値である190のうち100を検知」、表2は「実際の異常値である190のうち180を検知」しているので、表2が良い予測であると解釈できます。

「検索エンジン」の評価に用いたような「正しいと予測したうちの何%が正しいか」を評価する指標をprecision(適合率)、「異常値の検知」の評価に用いたような「実際の異常値のうちの何%を予測できたか」を評価する指標をrecall(再現率)といいます。

このように、「予測が良いかどうか」を判断するにあたっては、単に「正答率」を計算するのではなく、「どのような観点から評価するか」というのが同時に重要になります。

どのように予測の質を上げるか

予測の質を上げるにあたっては、「複数の予測を組み合わせること(アンサンブル)」がよく行われます。合議制や議会などもこの一例です。

複数の予測を組み合わせて予測の効果を上げる際も、まず「予測の目的」を明確にすると良いです。特に「予測したものが正しい確率(precision)」や「正しいものをどのくらい予測できるか(recall)」のどちらかにのみ重きが置かれる場合は注意が必要です。

「複数の予測を組み合わせる」際に注意しておくと良いのが、precisionを重視する場合は「and条件(かつ)」、recallを重視する場合は「or条件(または)」を元に組み合わせると良いということです。たとえるなら「正しい意思決定のみ行いたい場合は全員の意見が一致する場合のみ採用」、「起こった異常に全て対処したい場合は誰か一人でも問題を指摘したら採用」というイメージです。このように単にスコアだけを見るのではなく、スコアの意味も理解した上で評価するというのは大変重要です。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1