主な指標
モデル構築後に確認する主な指標は4つある。
- 正解率
- 適合率
- 再現率
- F値
正解率
$$ 正解率 = \frac{TP + TN}{TP+FP+TN+FN} $$
正解率は全データ数に対する正解した件数である。
一見したところ正解率だけ用いればよいように感じられる。例えば{0,1}に分類する2値分類問題を考える。とりあえずすべてのデータに対して0とした場合には、正解率は50%となる。分類する数が増えていくにつれてランダムな分類では正解率は下がっていくことがわかる。データの件数に偏りがない場合には正解率は有効な指標となる。
しかしいま100件のうち0が99件、1が1件とする。この場合、すべてのデータに対して1と予測すると99%という高い正解率になる。しかしこれは意味がない正解率であることが明白だ。唯一の1については正解率は0%であるからだ。
適合率
$$ 適合率(精度)= \frac{TP}{TP+FP} $$
適合率は正解としてラベル付けされたデータの正しさを示す。まず適合率を考えるときに機械学習の目的から考える必要がある。機械学習の目的は知りたいことに「適合」するデータを拾い出すことである。ここではTrueとなるデータが適合するデータである。
データが1000件あり、学習結果として適合するデータが100件得られたとする。しかしこの100件のうちすべてが正しいかはわからない。本来は適合していないデータが20件あるとしたら適合率は80%となる。
適合率を上げるということは誤りは許さないが、見逃しは許すということである。
例えばスパムフィルタであるならば、スパムメールボックスに入っているメールはほぼすべてスパムであり、非スパムメールはスパムメールボックスに入っていない。しかしスパムでありながら、受信ボックスに入ってしまったメールが多い、つまり見逃しが発生している可能性がある。
適合率が低いということは可能性があるスパムメールだったらとりあえず間違っている可能性が低いにも関わらずスパムとして取り扱うことになる。受信ボックスにスパムメールはなくなる。しかしスパムメールボックスにたくさんの非スパムメールがあることになる。
適合率が低い場合には適合するデータを探すためにさらに手間をかける必要がある。
再現率
$$ 再現率 = \frac{TP}{TP+FN} $$
再現率はすべての適合する情報のうち、実際に取得できた割合である。例えば1000件中20件のスパムメールがあるとする。このとき15件がスパムとマークされれば75%の再現率となる。最も高い再現率を出すためには、1000件すべてに対してスパムとマークすればよい。しかしこれでは分類の意味がない。さらにこの時の適合率は2%と極端に低い値になる。このように再現率と適合率はトレードオフの関係にある。
F値
適合率と再現率の調和平均である。適合率と再現率の両方がバランスよくなればF値が改善される。