How to disable validation and test data set in neural network

13 visualizzazioni (ultimi 30 giorni)
I need to train patternnet neural network using all data set in the training set and avoiding validation check. I found two methods and they works very well in command line but not in a script returning very simple errors.
method 1:
mynet.divideFcn = '';
method 2:
mynet.divideParam.trainRatio = 1;
mynet.divideParam.valRatio = 0;
mynet.divideParam.testRatio = 0;
and the code:
mynet=patternnet([]);
P=rand(10,1000);
T=rand(2,1000);
[mynet,tr]=train(mynet,P,T);
Matlab R2012 b windows xp 32
Thanks !

Risposte (2)

Greg Heath
Greg Heath il 14 Feb 2020
You have to define net before modifying any properties.
clear all, close all, clc
[x,t] = iris_dataset;
for i = 1:2
net = patternnet([]);
if i==1
net.divideFcn = '';
else
net.divideParam.trainRatio = 1;
net.divideParam.valRatio = 0;
net.divideParam.testRatio = 0;
end
net = train(net,x,t);
view(net)
y = net(x);
MSE(i) = mse(y-t)
end
MSE = 0.0084 0.0084
Hope this helps.
Greg

Prasanth Sundaravelu
Prasanth Sundaravelu il 26 Apr 2018
Modificato: Prasanth Sundaravelu il 26 Apr 2018
Hi, I think you need to type specific Divide function, instead of blank.
Try this : mynet.divideFcn = 'dividerand';

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by