2
我正试图构建HMM模型以离散序列为基础。 意思是我有单元阵列,每个单元包含一个不同长度的序列。MATLAB crossvalind函数在单元阵列上抛出错误
例如:
seqs{1} = 2 3 6 4 7 1 5 13 14 15 16 0 0 0 0 12
seqs{2} = 2 3 6 4 7 1 5 19 10 11 13
seqs{3} = 2 3 6 4 7 1 5 19 10
seqs{4} = 2 3 6 4 7 1 5 19 10 12
现在,我想用MATLAB crossvalind
功能K-折交叉验证。
当我试图运行indices = crossvalind('Kfold',seqs,2);
我得到以下错误:
Error using grp2idx (line 106) A grouping variable must be a categorical, numeric, logical, datetime or >duration vector, a cell vector of strings, or a 2D character array.
我需要每个单元(单元包含序列)属于从K组一组(K-褶皱) 。
例如(对于k = 2倍):
seqs{1} - Group 1
seqs{2} - Group 2
seqs{3} - Group 2
seqs{4} - Group 1
当我使用矩阵此错误没有出现,但因为我必须使用一个单元阵列,矩阵不是一个选项。
如何在单元阵列上进行交叉验证?