ROC 曲線をプロットする
動画で見たように、ROC 曲線は、あらゆるしきい値に対する分類器の性能を手早く要約できる、とても便利な方法です。多数のしきい値でクラス予測を計算し、それぞれについて混同行列を確認するという面倒な作業を省けます。
ROC 曲線の計算に私がよく使うパッケージは caTools で、colAUC() という関数が含まれています。この関数は使いやすく、実は複数の予測スコアに対して同時に ROC 曲線を計算できます。今回必要なのは 1 つの予測スコアに対する ROC 曲線だけなので、例えば次のようにします。
colAUC(predicted_probabilities, actual, plotROC = TRUE)
この関数は AUC と呼ばれるスコア(詳細は後ほど説明します)を返し、plotROC = TRUE 引数を指定すると、目視確認のために ROC 曲線のプロットも表示されます。
この演習はコースの一部です
Rで学ぶ caret を使った Machine Learning
演習の手順
前の演習で使ったソナー データの model、test、train がワークスペースに読み込まれています。
- テストセットに対して確率(
type = "response")を予測し、結果をpに保存します。 - 予測したテストセットの確率を使って ROC 曲線を作成します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Predict on test: p
# Make ROC curve