Machine Learning 10: 10分でできるAUC(Area Under the Curve)値の求め方

IT

前回は、ROC曲線を描き、性能評価の可視化をしてみた。
すでにroc_curveというライブラリが用意されているので、プロット自体は簡単だ。

今回は、ROC曲線の下の部分のエリアであるAUC(Area Under the Curve)について、見てみよう。

AUC(Area Under the Curve)とは

AUCとは、その名のとおり、ROC曲線の下のエリアだ。
前回描いたROC曲線で説明すると、この赤い斜線のエリアだ。

AUCが1に近いほど予測能・診断能が高いモデルとなる。

一方、完全にランダムに予測される場合、AUCは0.5、つまりROC曲線は原点(0,0)と(1,1)を結ぶ直線になる。このような場合には、機械学習は失敗とみなしてもいいだろう。

例えば、コインをなげて、表か裏か予測するような場合だ。

AUCの計算

sklearnのroc_auc_score()を使って、AUCスコアを計算してみよう。

y_trueとy_scoreの順にパラメータを渡すだけで、計算してくれる。

ここでは、前回定義したy_train_5とy_scoresを使ってみると、結果が0.96と出る。

つまり、かなり診断の精度が高いと言える。

まとめ

ROC曲線を描いたら、予測モデルの評価も視覚的にできるが、ついでにAUC値も求めると、モデルの比較に役立つ。

この値が1に近いほど、予測モデルの評価は良好と言える。

コメント

タイトルとURLをコピーしました