RapidMiner(ラピッドマイナー)はデータ可視化、データ加工、モデル作成、評価、運用まで一括サポートする機械学習プラットフォームです。KSKアナリティクスはRapidMinerの正規販売代理店です。

ROC曲線



 

(回答)

Performanceオペレータなどを用いた際、結果画面に表れる図は「ROC曲線」と言って、作成したモデルが良いのか悪いのかを表しています。
まずは真ん中の図(AUC(何もなし))からご説明いたします。

訓練データにGolfデータ、テストデータにGolf-Testset、使用するアルゴリズムにk-NNを用いて詳しく見ていきます。
k-NNのkを3にし、weighted voteのチェックを外してください。

このプロセスを実行した結果、以下のような混合行列とデータが得られます。

混合行列より、真陽性率と偽陽性率というのを算出します。
真陽性率(=再現率;recall)= TP/(TP+FN)=8/(8+1)=0.88
偽陽性率= FP/(FP+TN)=4/(4+1)=0.8
真陽性率は再現率(recall)と同義で、yesのうち、どれだけ予測を当てられたかの割合です。
偽陽性率はnoのうち、間違えてyesと予測してしまった割合です。つまり1からnoのrecallを引いた値と同じです(1-0.2=0.8)。

一方、出力されたデータを見てください。
デフォルトでは、Confidence(yes)の値が0.5以上だとyesと予測されます。

ROC曲線は、このconfidence(yes)の値を、どこからyesと判断するか(閾値と言います)を変えて、x軸に偽陽性率、y軸に真陽性率をプロットした図になります。

つまり、今は閾値が0.667のとき、真陽性率0.88、偽陽性率0.8なので、(0.8,0.88)にプロットされます。
閾値が0.667になっているのは、0.333、0.667、1でyesかどうかが変わるためです。

これが、閾値0.333のときと1のときについても見て、プロットします(図のオレンジの星)。
計算は以下のようです。
閾値1(confidence(yes)>=1) のときの混合行列

真陽性率(=再現率;recall)= TP/(TP+FN)=0/(0+9)=0
偽陽性率= FP/(FP+TN)=1/(1+4)=0.2
閾値1のとき、(0.2,0)にプロットする

閾値0.333(Confidence(yes)>= 0.333)のときの混合行列

真陽性率(=再現率;recall)= TP/(TP+FN)=9/(9+0)=1
偽陽性率= FP/(FP+TN)=5/(5+0)=1
閾値0.333のとき、(1,1)にプロットする
そのプロットしたものを線上につなげたものがROC曲線です。

ROC曲線は、左上にいくほど良いモデルです。

ですが、複数のROC曲線があるとして、それを目で判断するのは大変なので、ROC曲線の下の部分の面積を出します。
それがAUC(area under the curve)です。
AUCはROC曲線の下の部分の面積なので、1(底辺)×1(高さ)=1より、最大1になります。
そのため、AUCは1に近いほうが良いモデルになります。
今回のAUCは0.456と0.5以下なので、良いモデルではありません。おそらく、データが少なすぎるのでしょう。

次に、AUC(optimistic)とAUC(pessimistic)について見ていきます。

AUC(optimistic)とAUC(pessimistic)の違いは、 x軸に偽陽性率、y軸に真陽性率をプロットした後、線上にする際に上から行くか右から行くかの違いです。

AUC(optimistic)の場合、

AUC(pessimistic)の場合、

このように、線の繋げ方でAUCが変わるため、optimisticとpessimisticの二つがあります。
このAUCの値の変化が見られるようにoptimisticとpessimisticの画面があります。
なお、直線で繋いだものがAUC(何もなし)になり、ちょうどoptimisticとpessimisticのAUCの平均と同じです。

API認証に失敗しました メールまたはパスワードが正しくありません メールアドレスは必須です パスワードは必須です
キャンセル