二項分類のモデルの良し悪しを見るとき、混合行列をよく使う気がします。
そして、それに付随して再現率、適合率、F値、正解率とかが良く出てくる。これらが何なのかを忘れないようにメモっておきます。
混合行列
混合行列は上記のように、機械学習が出した予測値と実際に計測した値を並べた表になります。
表の青色の部分が正しく予測できた数、赤色になってるのが間違っている数を表します。
これらの値をもとに先述した評価指標を求めていくことになります。
再現率(TP/(TP+FN))
再現率は実際に正であるデータのうち正しく正であると予測できたデータの割合を表します。
つまり、実際に正である値をどれだけとり逃すことなく予測できたかを表す指標です。
レコメンドのように、可能性があるものは少しも取り逃したくないというときに参考にするとよいでしょう。
注意点として、再現率100%でも大量に負を正と誤って予測することがあるので気をつけましょう。
適合率(TP/(TP+FP))
適合率は正と予測したデータのうち実際に正だったデータの割合を表します。
つまり、正と予測したものがどれだけ正しかったかを表す指標です。
正と予測したものが必ず正であってほしい場合に参考にするとよいでしょう。
注意点として、適合率が100%でも大量に正解をとり逃すことがあるので気をつけましょう。
F値((2再現率適合率)/(再現率+適合率))
F値は再現率と適合率の調和平均をとったものです。
調和平均とかいう難しい言葉を使ったいますが、要するにこの二つの指標をバランスよく判断している、と思っていいと思います。
上の図のようにF値はどれだけ正のデータを正しく予測できているか、を表す指標になります。
正の予測が外れたり、負のデータを誤って正と判断するとこの評価値は下がっていきます。
特に使用用途が決まっておらず、精度を求めたいときはF値を参考にするといいかもしれません。
正解率((TP+TN)/(TP+TN+FP+FN))
正解率はすべてのデータのうち正しく予測できた割合を表しています。
一見それらしい値に見えますが、欠点があります。
(割合の表示がミスってたので更新しました)
(緑枠は正と予測したデータを表してます。)
ここにデータ量が偏ったデータがあったとします。
このモデルは常に正と予測するだけのモデルですが、正解率は90%と出てしまいます。
このようにデータの偏りによってよさそうな値でもよいモデルとは限らないことがあります。
データが偏っておらず、かつ正、負ともに正確に予測したい場合には正解率を利用してもいいのかもしれません。
まとめ
精度の指標について振り返りが必要だったので簡単にまとめておきました。
これ以外にもaucや特異性などもあるようなので時間があれば追加でまとめておきます。