🙆

【E資格対策】混同行列の作り方と適合率・再現率の覚え方について

2023/01/15に公開

機械学習やディープラーニングのモデルの性能を評価する指標として、適合率・再現率があります。
「どっちがどっちだっけ?」「どうやって計算するんだっけ?」と混乱しやすい、この二つの指標について、この記事を読めば、理解を固めることができます。

この二つの指標の出発点となる混同行列の作り方から、順番にしっかりおさえていきたいと思います。

混同行列の作り方

下準備として、実際と予測を縦軸・横軸に持っていき、それぞれに陽性(Positive)と陰性(Negative)の項目を持つ2×2の空き箱を作ります。

❶ PとNを入力。

これは予測値が陽性(Positive)だったか、陰性(Negative)だったかで見ますので、以下の通り、予測値から矢印を伸びばすイメージで入力します。

❷ TとFを入力

これは実際と予測があっていたか(True)、違っていたか(False)で見ますので、以下のイメージの通り、✖️印のイメージで入力します。

❶+❷を合体させて完成

適合率・再現率の覚え方

完成した混同行列をベースに、適合率・再現率がどこのハコで計算されているかを示したのが、以下の図です。

適合率

陽性(Positive)と予測したもののうち、実際に陽性だったものの割合になります。
数式で表すと、

適合率(Precision) = \frac{TP}{TP+FP}

再現率

実際に陽性(Positive)となっているもののうち、予測でも陽性(Positive)と判定できたものの割合になります。
数式で表すと、

再現率(Recall) = \frac{TP}{TP+FN}

ROC曲線について

再現率は真陽性率とも言います。
また、実際には陰性(Negative)にもかかわらず、予測で陽性(Positive)と判定されたものの割合を偽陽性率と言います。
縦軸に真陽性率、横軸に偽陽性率をとって、0 から 1 の間の可能なすべてのしきい値に対して相互にこれらをプロットすると、ROC 曲線と呼ばれる曲線が生成されます。
理想的なモデルでは、曲線が左端から上部を横断し、グラフ全域を覆うようになります。 AUC メトリックの "曲線の下の領域" (0 から 1 までの任意の値) が大きいほど、モデルのパフォーマンスが高くなります。 

Discussion