0

以下の例では、fulldataからUnseenTestdataとTestdataのインデックスを取得できないようですが、誰か助けてもらえますか?

pointsToPick = 49402;  %# Numbers to pick
rVec = randperm(494021);   %# Random permutation of datapoint indices (N=494021 in this case)  

UnseenTestdata = fulldata(rVec(1:pointsToPick),:); %# Random sample
Testdata = fulldata(rVec((pointsToPick+1):length(rVec)),:);

unseentestdataが由来するfulldataの行番号のリストが必要であり、testdataと同じです。これは、ここでの前の質問に関連しています。インデックスがないと、どのクラスラベルがunseentestdataとtestdataに対応しているかわかりません。

4

1 に答える 1

1

rVec(1:pointsToPick)@Toboldが言ったように、すでにインデックスを格納しているものを使用したくない場合は、別の方法があります。

[~,indx_uns]=ismember(UnseenTestdata, fulldata, 'rows');
[~,indx_test]=ismember(Testdata, fulldata, 'rows');

最初の戻りパラメーターは使用されないことに注意してください(したがって、でマークされています~)。
indx_uns(n)UnseenTestdataのn番目の行に対応するfulldataの行を与えます。

さらに、関連するSOの質問へのリンクがあります。

ismemberの詳細については、このリンクを参照してください

于 2012-11-17T14:24:44.550 に答える