質問: nprtool関数を用いてプロットしたroc曲線のaucの算出方法について neural network toolboxの中のnprtool関数についての質問です。 nprtool関数を実行するとニューラルネットワークのguiが立ち上がると思います。 このguiのtrain networkというページにplot rocというボタンがあり、これを押すとroc曲線が表示されますが、このroc曲線のauc(area under the curve)はどのように求めたらよいのでしょう? nprtoolのguiではaucは求められないのでしょうか?
回答: 残念ながら 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}) など。