patternnet分類器を使用して、0,1とラベル付けされた2つの異なるクラスを分類しています。パターンネットを使用して生成されたデータのためにMATLABを使用して、私は実行する必要があるパラメータを理解するのに苦労しています。plot perfcurveを使用したニューラルネットワーク分類器のROC曲線
[xTr, yTr, TTr, aucTr] = perfcurve(t, results.Data.y, 1);
Iは仮定する: Tラベルのベクトルが自分のデータが属するクラスに状態が(私は0と1で構成され、サイズは2x834である) スコア」と呼ばれるpatternnetにより作成された変数であること生成されresults.Data.y '(2x834サイズ) posclassは1です。 しかし、スコアはベクター(1x834サイズ)でなければならず、どの行を選択するのか分かりません。
ありがとうございます。 「予測=のClassType:LableFormatConvertion.mファイル、ライン50で (http://lamda.nju.edu.cn/code_CSNN.ashx) :私は次のコードの一部を説明することができればその後、私は感謝します(id); ' @ArchitTaneja – ebrahimi
@ebrahimi入力に正確に何が入っているのか分かりませんが、あなたの質問に答えてください: max(Label)を使って 'id'を見つけると、Labelの行インデックスが得られます。 : 例: の場合A = [1 9 -2; 8 4 -5]の場合、idは[2、1、1]となります。これは最初の列で8が最大で行インデックスが2であることを表します。 これで 'id'というタプルが作成されました。 'id'の値を使用して、ClassTypeの配列要素にアクセスします。 例: 'id'が[2,1,1]でClassTypeが[0,1]の場合 'prediction'は[1,0,0]です。すなわち、id(1)= 2はClassType(2)= 1、id(2)= 1をフェッチするとClassType(1)= 0をフェッチします。 –
ありがとうございます。事実、不均衡な分類に対処する6つのアルゴリズムがあります。たとえば、オーバーサンプリングを考えてから、sample_oversamplingを見てください。 mファイルであるため、どのラベルが正しいかはわかります。テストデータのシミュレーション出力です。私の問題は、ClassTypeを[1,0]に変更すると、その結果が逆であり、[0、1]または[1、0]を実行するのが正しいことがわかっているということです。 @ArchitTaneja – ebrahimi