分類モデルの評価⑥(AUC)

AUC (Area Under the Curve)

AUCとは、PR曲線からモデルの性能を測るための指標です。

PR曲線より下の部分の面積を表す指標で、AUCが1に近いほどモデルの性能が良いことになります。

AUCの算出

AUCを算出するためには、aucメソッドに再現率と適合率を渡します。(2行目)

[Google Colaboratory]

1
2
from sklearn.metrics import auc
auc(recall, precision)

[実行結果]

算出されたAUCは0.95となりました。

閾値を切り口とした可視化

最適な閾値を確認しやすくするため、横軸に閾値を表示したグラフを作成します。

[Google Colaboratory]

1
2
3
4
5
6
7
plt.plot(np.append(thresholds, 1), recall, label = "Recall")
plt.plot(np.append(thresholds, 1), precision, label = "Precision")
plt.xlabel("Thresholds")
plt.ylabel("Score")
plt.grid()
plt.legend()
plt.show()

[実行結果]

閾値ごとに再現率と適合率の変化を確認しやすくなりました。

どの閾値を最適とするかは、どの程度の偽陽性陽性未検出を許容できるかに依存しますので、状況に応じて閾値を設定することになります。