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

조회 수: 10 (최근 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!