0

我想使用 Matlab 工具箱为自动语音识别准备训练和测试集。我已经有包含几个录制音频(.wav)的样本集。我是 Matlab 的新手。为了使用工具箱,我需要创建保存在 .mat 文件中的训练广告测试集。问题是如何创建包含所有音频的单个 .mat 文件?太感谢了。

4

1 回答 1

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 循环中,但是为了保存,你需要使用一些技巧或者通过在每个点放置一个断点来手动完成,以避免数据被覆盖。这是创建训练测试集的通用技术。我希望您能够将其应用于您的问题。

于 2013-04-20T04:05:14.953 回答