我想使用Matlab工具箱为自动语音识别准备训练和测试集。我已经有包含几个录制音频(.wav)的示例集。我是Matlab的新手。为了使用工具箱,我需要在.mat文件中创建训练广告测试集保存。问题是如何创建包含所有音频的单个.mat文件?万分感谢。
答案 0 :(得分:0)
要创建不相交的训练和测试集,最好的方法是使用crossvalind
命令。因此,它执行k-fold
的交叉验证,其中k
是作为输入给出的参数。如果k=5
则使用1/5th
数据进行测试,4/5th
数据用于培训。代码如下:
data=randi(20,[500 20]); %creating random data with 500 rows and 20 columns.
indices=crossvalid('Kfold',size(data,1),5);
test = (indices == 2); %you can put any number between 1 to 5
train = ~test;
trainData=data(train,:);
testData=data(test,:);
savefile='dataFile.mat'
save(savefile,'trainData','testData');
如果您将数字2更改为其他数字,您将获得具有相同分布的列车测试数据,并且每次都是随机的。您也可以将它放在for循环中,但是为了保存,您需要使用一些技巧或通过每个点放置一个断点来手动执行它以避免数据被覆盖。这是创建列车测试集的一般技术。我希望你能够将这个用于你的问题。