Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab-神经网络-如何使用不同的数据集进行训练、验证和测试?_Matlab_Neural Network - Fatal编程技术网

Matlab-神经网络-如何使用不同的数据集进行训练、验证和测试?

Matlab-神经网络-如何使用不同的数据集进行训练、验证和测试?,matlab,neural-network,Matlab,Neural Network,最好的 我有一个关于Matlab中神经网络的问题 首先,我有一个小的神经网络,2个输入,1个隐藏层,有10个神经元和一个输出。这个很好用。但我的问题是。我可以确定我的培训日期、验证数据和测试数据吗 我知道,如果我使用例如net=feedforwardnet10;我可以将整个数据集划分为70/100、15/100和15/100。但我不想这样做,因为在这种情况下,我想用1000个数据点训练我的神经网络,用另一个数据点验证它们,并使用另一个包含1000个数据点的独立数据集来测试它们。换句话说,我想控制

最好的

我有一个关于Matlab中神经网络的问题

首先,我有一个小的神经网络,2个输入,1个隐藏层,有10个神经元和一个输出。这个很好用。但我的问题是。我可以确定我的培训日期、验证数据和测试数据吗

我知道,如果我使用例如net=feedforwardnet10;我可以将整个数据集划分为70/100、15/100和15/100。但我不想这样做,因为在这种情况下,我想用1000个数据点训练我的神经网络,用另一个数据点验证它们,并使用另一个包含1000个数据点的独立数据集来测试它们。换句话说,我想控制这3个相互依赖的数据集

那么,有人能帮我吗

问候

编辑,我不想使用一个有3000个数据点的数据集,而将DeviceParams设置为1/3 1/3和1/3。

使用前馈网络时,您可以定义分割参数

net.divideParam.trainRatio = 1/3;
net.divideParam.valRatio = 1/3;
net.divideParam.testRatio = 1/3;
您知道您的数据将分为3部分。 但你知道我不知道是哪种数据

但当你和我通过以下命令行训练我的网络时:

[net,tr]=train(net,x,t); 
然后,tr将包含所有必要的信息,例如:

tr.trainInd 1x1000 double, 
tr.valInd  1x1000 double, 
tr.testInd  1x1000 double,
因此,例如tr.TRAIND将包含我们用于培训的数据集的所有索引。此外,在tr中,我们可以看到tr.divideFcn的类型设置为dividerand,这意味着索引是随机选取的。因此,合乎逻辑的是,这些索引可能不是随机选取的,这意味着,如果我们将两者结合起来。应该可以使用另一个测试集->net.divideParam.testRatio=0,并使用两个不同的训练和验证集->net.divideParam.trainRatio=1/2和net.divideParam.valRatio=1/2-如果可以按时间顺序设置tr.divideFcn。最后但并非最不重要的一点是,如果这是可能的,那么我们没有更多的事情要做,然后将训练和验证集放入一个数据集中,等等

向我自己问好

可能的副本