機械学習の基礎
-------------------------4.モデルの評価方法(1)
回帰と分類で評価指標が異なります。
ここでは分類における評価指標について述べます。
モデルの性能評価は検証データ(未知データ)に対して行います。
学習データに対して評価を実施した場合、一般的に検証データの場合より性能は高くなります。
しかし、これはあくまで学習したデータに対する評価であるため、高くなるのは当然でです。
予測に役立つかどうかという視点では、検証データに対して評価を実施しなければならなりません(汎化性能)。
モデルの評価基準は正解率(Accuracy)を採用する場合が多いです。
この指標は分かりやすく、全体のデータのうち、正しく予測できたデータの割合を求めます。
例えば、全体100データのうち、70データが正解の場合は70%となります。
この正解率は分かりやすいですが、モデルが実用的であるかどうかを判断するためには、もう少し踏み込んだ評価をする必要があります。
それは、「混同行列(Confusion Matrix)」を用いた評価です。
この混同行列から求められる「適合率」「再現率」「f値」を性能評価指標として用います。
どれを採用するかは、実際にこのモデルを使用する業務を考慮する必要がある。
以下、混同行列の例で説明します。
<予測モデルによる新型コロナウイルスの感染判別(数値は人数)>
【正解率】=(90+190)/(90+190+200+10)=57%
【適合率】
適合率とは、「予測したデータの中に正解データはどの程度含まれているか」です。
陽性の適合率=90/(90+10)=90%
陰性の適合率=190/(200+190)=49%
【再現率】
再現率とは、「全ての正解データの中に予測した正解データはどの程度含まれているか」です。
つまり、もれなく正解データを拾っているか、ということを意味します(カバー率)。
陽性の再現率=90/(90+200)=31%
陰性の再現率=190/(10+190)=95%
【f値:(2×適合率×再現率)/(適合率+再現率)】
f値とは、適合率と再現率の調和平均です。適合率も再現率も100%の時にf値は100%になります。
陽性のf値=(2×0.9×0.31)/(0.9+0.31)=0.46
陰性のf値=(2×0.49×0.95)/(0.49+0.95)=0.64
この予測モデルの性能は以下のように表現できます。
「陽性も陰性も含めた全体での性能は57%であり高くはないが、陽性と予測された場合の性能は高い(90%)。ただし、その場合、真の陽性者全体の31%しかカバーできない。陰性と予測された場合の性能は低いが(49%)その場合、真の陰性者全体の95%をカバーできる」
この表現をもう少し簡略化すると、
「陽性と予測された場合、ほぼ陽性であると考えられる。陰性と予測された場合はどちらとも判断できないため、別の方法で確定する必要がある。」となります。
この予測モデルは全体の正解率が低く、一見実用化が難しいように見えますが、陽性判定だけで使用することは可能です。
このように予測モデルの性能評価を実施する場合は、正解率だけでなく、混合行列もよく検討して実務にあった評価指標を採用することが大切です。