0

クロス検証用のインデックスを取得する 1x84 セル配列があります。

indices = crossvalind('Kfold',length(filenames),k_fold);
for i = 1:k_fold
    test = (indices == i);
    train = ~test;

テストとトレーニング (1 または 0 の 84x1 論理配列) が与えられた場合、テスト/トレーニングによってインデックス付けされたすべてのファイル名を取得するにはどうすればよいですか?

4

1 に答える 1

0

cell 配列に論理インデックスを適用してスライスすることができます。簡単な例を次に示します。

%# create a cell array of string
C = cellstr(num2str((1:5)', 'file %d'));

%# random split
trainIdx = rand(size(C)) > 0.5;
testIdx = ~trainIdx;

%# slice cell array
tr = C(trainIdx)
ts = C(testIdx)

trとの両方tsが文字列自体のセル配列であることに注意してください。の最初の文字列にアクセスするには、次のtrようにします。

>> tr{1}
于 2013-05-03T15:09:37.513 に答える