簡単な質問がありますが、matlab にはあまり詳しくありません。そのため、コードは非常に役立ちます;)。クロスバリデーションで評価したい KNN 分類器があります。私のコードは次のようになります。
load ds
train_data= trainData';
train_target=trainLabels;
Num=size(3,3);
Smooth=0.2;
nfold=10
indices = crossvalind('Kfold',train_target,10);
for i = 1:nfold
test = (indices == i); train = ~test;
[Prior,PriorN,Cond,CondN]=KNNtr(train_data(train,:),train_target(train,:),Num,Smooth);
[HammingLoss,RankingLoss,OneError,Coverage,Average_Precision,Outputs,Pre_Labels] = KNNte(train_data(train,:),train_target(train,:),train_data(test,:),train_target(test,:),Num,Prior,PriorN,Cond,CondN);
end
私の入力データは、ラベル 10000*1 と training_data 128*10000 です。ここで、プログラムを実行すると、1000*1 Pre_Labels またはその他の出力も得られます。これは、表示されている折り目が1つしかないためだと思います。私が望むのは、すべての折り畳みのすべての出力を、順序付けられた構造で表示することだけです。これを実現するには、コードをどのように変更する必要がありますか?
どうもありがとうございました!!大変助かります