G検定(ジェネラリスト検定)
せいかいりつ
正解率
Accuracy
正解率(Accuracy)は、分類モデルが出した予測のうち、陽性か陰性かを問わず正しく分類できた割合を表す評価指標です。2つのクラスの件数が近いデータではモデルの品質の大まかな目安になります。一方、不均衡なデータでは、役に立たないモデルでも高い値が出ることがあります。
詳しい説明
すべての分類のうち正しかったものの割合
正解率は、モデルが行ったすべての分類のうち、正しかったものの割合です。陽性の分類か陰性の分類かは問いません。混同行列の4つの結果TP・TN・FP・FNを使うと、次の式で表せます。
正解率 = 正しい分類の数 / 全分類の数 = (TP + TN) / (TP + TN + FP + FN)
分子には、陽性を正しく陽性とした数(TP)と、陰性を正しく陰性とした数(TN)の両方が入ります。そのため正解率は、陽性と陰性を区別せず、全体としてどれだけ当たったかを見る指標です。スパムメールの分類でいえば、すべてのメールのうち正しく分類できたメールの割合にあたります。FPとFNがどちらも0の完全なモデルなら、正解率は1.0、つまり100%です。
なお、機械学習での正解率は数学的に定義された用語です。日常で使う正解や正確さという言葉とは意味が異なったり、より限定されていたりすることがあります。
陽性と陰性が半々のデータで計算する
陽性50件・陰性50件、合計100件のデータで、分類の結果がTP=45、TN=40、FP=10、FN=5だったとします。
正解率 = (45 + 40) / (45 + 40 + 10 + 5) = 85 / 100 = 0.85
正解率は85%です。このように2つのクラスの件数が近いデータでは、正解率は4つの結果をすべて使うため、モデルの品質を大まかに見る目安になります。この性質から、汎用的なモデルや特に指定のない課題では、正解率が既定の評価指標として使われることがよくあります。
陽性がまれなデータでは見かけだけ高くなる
陽性が全体の1%しかない、合計1000件のデータ(陽性10件、陰性990件)を考えます。すべてを陰性と予測するモデルでは、TP=0、TN=990、FP=0、FN=10となります。
正解率 = (0 + 990) / (0 + 990 + 0 + 10) = 990 / 1000 = 0.99
正解率は99%です。しかし、このモデルは陽性を1件も見つけられないので役に立ちません。陽性・陰性を区別せず全体で数える指標なので、数の多いクラスを当てるだけで値が高くなってしまいます。
単独で判断せず他の指標と組み合わせる
データが不均衡な場合や、FNとFPのどちらか一方の誤りが他方より大きな損失になる場合には、正解率以外の指標を最適化するほうがよいとされています。現実の用途の多くはこちらにあたります。Google Machine Learning Crash Courseの指針は、次の3点です。
- 均衡の取れたデータでは、学習の進み具合や収束を大まかに見る目安として使う
- モデルの性能を評価するときは、他の指標と組み合わせてだけ使う
- 不均衡なデータでは使うのを避ける
G検定シラバス2024では、中項目10のモデルの選択・評価のキーワードに、正解率・適合率・再現率・F値が挙げられています。
試験で問われること
G検定
- 正解率は(TP+TN)/(TP+TN+FP+FN)で求め、すべての分類のうち正しかったものの割合を表す。
- 陽性と陰性を区別せず、全体としてどれだけ当たったかを見る指標で、FPとFNが0の完全なモデルなら1.0(100%)になる。
- 陽性が1%しかない不均衡なデータでは、常に陰性と予測する役に立たないモデルでも正解率は99%になる。
- クラスの件数が近いデータでは大まかな目安になるが、モデルの性能は他の指標と組み合わせて評価し、不均衡なデータでは使うのを避ける。
- G検定シラバス2024では、中項目10のモデルの選択・評価のキーワードに正解率・適合率・再現率・F値が挙げられている。
最終更新日: 2026/09/23