ボブサップになりたい人のブログ

ボブサップにはなりたいけれど、エンジニアにもなりたいのでそのあたりのことを書きます

機械学習(分類タスク)で用いる評価指標についてわかりやすくまとめる

題名のとおり。

今日もアウトプットする

予測値の分け方

評価指標について説明する前に、機械学習の予測(分類タスク)は以下のような種類に分けられることを紹介しよう。

  • TP(True Positive)
  • TF(True False)
  • FP(False Positive)
  • FN(False Negative)

True/Falseは予測があっていたか、Positive/Negativeは予測値が正例かどうかを示している。

すなわち正例と予測し、合っていたらTPというわけだ。

少しややこしいので例で説明しよう。


ここにAIドクターがいる。

AIドクターは患者がガンかどうか見極める。(ガンだったら正例)

おや一人患者が来たようだ。。。

AIドクター「オマエ、チョット、ガン、ダトオモウワ」

早速、メスを取り出し、患者に手術するAIドクター。

しかし、どうやらガンは見つからなかったらしい。

AIドクター「マチガエチッタ。テヘペロ。」


この例をまとめるとAIドクターは患者をガンを患っていると予測したが(Positive)、誤診(False)だったのでFP(False Positive)となる。

評価指標

予測値の分け方を紹介した上で評価指標をいくつか説明する。

  • Accuracy
  • Precision
  • Recall
  • F1 value

Accuracyは以下のように計算できる。 一番直感的にこの指標がわかりやすいかもしれない。 単純に予測のいわゆる正解率を出している。

Accuracy = (TP + TN) / (全データ)

Precisionは以下のように計算できる。 これが意味するのは正例と予測した中にどれだけ間違いがあるかということである。 逆に言えば正例の取りこぼしのペナルティは全くない。(先の例で言えばがん患者を手術せず家に返しても医者の評価は下がらない)

Precision = TP / (TP + FP)

Recallは以下のように計算できる。 これが意味するところは真の値が正例であるものをどれだけ正確に予測できたかということである。 先の例で言えば、間違えて手術してもペナルティはまったくないということである。(積極的な診断をする医者の評価は高くなる)

Recall = TP / (TP + FN)

F1 valueはRecallの調和平均を撮ったものである。 PrecisionとRecallはトレードオフの関係にあり、この調和平均を取ることで2つの特性についてバランスの良い指標になるのである。

終わりに

まぁ他にも分類タスクでの指標はいっぱいあるけど今日はこのへんで。。。