nprtool関数を​用いてプロットしたR​OC曲線のAUCの算​出方法について

9 ビュー (過去 30 日間)
hiroki komiya
hiroki komiya 2017 年 12 月 27 日
編集済み: hiroki komiya 2018 年 1 月 14 日
Neural Network Toolboxの中のnprtool関数についての質問です。 nprtool関数を実行するとニューラルネットワークのguiが立ち上がると思います。 このguiのTrain NetworkというページにPlot ROCというボタンがあり、これを押すとROC曲線が表示されますが、このROC曲線のAUC(Area Under the Curve)はどのように求めたらよいのでしょう? nprtoolのguiではAUCは求められないのでしょうか?

採用された回答

michio
michio 2018 年 1 月 4 日
残念ながら nprtoolのGUIでは求めることはできません。 コマンドベースで実行する必要がありますが、例えば roc 関数 (Neural Network Toolbox) で各出力クラスの受信者動作特性を計算した後に、trapz関数 (MATLAB本体)で簡単に積分して AUCを計算することができるかと思います。下記は roc関数のドキュメンテーションページのサンプルプログラムからですが、、
load iris_dataset
net = patternnet(20);
net = train(net,irisInputs,irisTargets);
irisOutputs = sim(net,irisInputs);
[tpr,fpr,thresholds] = roc(irisTargets,irisOutputs)
AUC1 = trapz(fpr{1}, tpr{1})
など。
  1 件のコメント
hiroki komiya
hiroki komiya 2018 年 1 月 14 日
編集済み: hiroki komiya 2018 年 1 月 14 日
nprtoolのGUIでtargetとoutputの値を返させてその値を用いるわけですね。 提案していただいた方法でAUCを求めることができました。回答ありがとうございました。

サインインしてコメントする。

その他の回答 (1 件)

mizuki
mizuki 2017 年 12 月 31 日
nprtool の GUI では AUC を求めることができません. Statistics and Machine Learning Toolbox をお持ちであれば, perfcurve 関数を使用してAUCを求めることができます.
  1 件のコメント
hiroki komiya
hiroki komiya 2018 年 1 月 14 日
なるほど,やはりGUI上では求められないのですね. 回答ありがとうございます.

サインインしてコメントする。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!