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
當我使用矩陣此錯誤沒有出現,但因爲我必須使用一個單元陣列,矩陣不是一個選項。
如何在單元陣列上進行交叉驗證?