データベーススペシャリスト 2016年 午前2 問19
問題文
文献検索システム、データ検索システムなどの情報検索システムを評価する尺度として用いられる再現率(recall ratio)と精度(precision ratio)の組合せとして、適切なものはどれか。ここで、a, b, cは次の件数を示す。
a:蓄積された全てのデータのうち、質問に適合する件数
b:検索結果のデータのうち、質問に適合する件数
c:検索結果のデータの件数

選択肢
ア:
イ:(正解)
ウ:
エ:
🔒 解説は解答すると表示されます
再現率と精度【午前2解説】
正解の理由
情報検索における再現率(recall)は「全体の中で見つけられた適合件数の割合」、精度(precision)は「検索結果の中で適合している割合」を表します。設問の定義では a が「全体の適合件数」、b が「検索結果内の適合件数」、c が「検索結果の件数」なので、再現率は 、精度は となります。したがって選択肢イが正しいです。
解法ステップ
- 用語の意味を確認する
- 全体で適合する件数 = a
- 検索結果内で適合する件数 = b
- 検索結果全体の件数 = c
- 再現率と精度の定義を思い出す
- 再現率(recall) = 「見つかった適合件数」 ÷ 「全体の適合件数」 =
- 精度(precision) = 「見つかった適合件数」 ÷ 「検索結果件数」 =
- 各選択肢の分数と定義を照らし合わせ、当てはまるものを選ぶ
- 上の定義と一致するのがイであることを確認する
選択肢別の誤答解説
- ア:再現率を としているが、これは全体の適合件数を検索結果内の適合件数で割ったもので意味が逆転している。再現率は「検索で得られた適合」の割合を全体の適合で割るべき。
- イ:再現率 、精度 で定義どおり。正解。
- ウ:再現率を (正)としているが、精度を としている。 は「検索結果件数/検索内適合件数」であり、精度の逆数(適合率の逆)になってしまう。
- エ:再現率を 、精度を としており、両者とも入れ替わっている上に分子・分母が本来の定義と一致していない。
よくある誤解
- 「再現率と精度は合計して1になる」と考える誤解:両者は独立の比率であり合計は一般に意味を持たない(合計が1になるわけではない)。
- 分母の取り違え:総数(全体の適合数=a)と検索結果全体(c)を混同しやすい。再現率は全体(a)を分母に、精度は検索結果(c)を分母にする点を常に確認すること。
補足コラム
再現率と精度はトレードオフの関係になりやすく、両者のバランス指標として F値(特に F1スコア)がよく使われます。F1は再現率 と精度 の調和平均であり、式は
です。検索や分類問題で「適合率を上げると再現率が下がる」ことがあるため、用途に応じてどちらを優先するかを設計時に決める必要があります。
FAQ
Q: 再現率が高くても精度が低いと何が問題ですか?
A: 再現率が高い=多くの適合を拾えているが、精度が低い=検索結果に誤検出が多く含まれる、つまりノイズが多い状態です。ユーザーの利便性や誤警報の許容度によって許されるバランスが変わります。
A: 再現率が高い=多くの適合を拾えているが、精度が低い=検索結果に誤検出が多く含まれる、つまりノイズが多い状態です。ユーザーの利便性や誤警報の許容度によって許されるバランスが変わります。
Q: 実務でどちらを重視すべきですか?
A: 目的次第です。例えば医療診断のスクリーニングでは見逃し(再現率)を極力減らすため再現率重視、メールフィルタでは誤分類(精度)を避けるため精度重視、という選び分けになります。
A: 目的次第です。例えば医療診断のスクリーニングでは見逃し(再現率)を極力減らすため再現率重視、メールフィルタでは誤分類(精度)を避けるため精度重視、という選び分けになります。
Q: 実際に数値を計算する簡単な例は?
A: 全体適合 a=100、検索で見つかった適合 b=80、検索結果 c=200 のとき、再現率 、精度 です。Pythonで計算するなら次のようになります。
A: 全体適合 a=100、検索で見つかった適合 b=80、検索結果 c=200 のとき、再現率 、精度 です。Pythonで計算するなら次のようになります。
a, b, c = 100, 80, 200
recall = b / a
precision = b / c
recall, precision
関連キーワード: 再現率、精度、Precision、Recall、F1スコア、混同行列、情報検索、評価指標

\ せっかくなら /
データベーススペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

