MATLAB神经网络列车命令中的数据划分

时间:2016-09-13 06:15:47

标签: matlab neural-network artificial-intelligence training-data nntool

在MATLAB中训练神经网络时我正在使用“train”命令。此命令是否将数据自动划分为训练,测试和验证集,或者我们必须手动划分数据。

1 个答案:

答案 0 :(得分:1)

是的,确实如此。但是,如果我们愿意,我们可以手动划分数据。应使用网络对象的net.divideFcnnet.divideParam字段:

t=0:0.05:8; x= sin(t);
net = feedforwardnet(3);
net.divideFcn= 'dividerand'; % divide the data randomly 
net.divideParam.trainRatio= 0.7; % we use 70% of the data for training 
net.divideParam.valRatio= 0.3; % 30% is for validation
net.divideParam.testRatio= 0; % 0% for testing
net = train(net,t,x);
plot(t,x,t,net(t));

以下是手动数据分割的示例:

net.divideFcn= 'divideind'; % divide the data manually
net.divideParam.trainInd= 1:100; % training data indices 
net.divideParam.valInd= 101:140; % validation data indices 
net.divideParam.testInd= 141:161;  % testing data indices