How to get validation test and training errors of a neural network?

105 views (last 30 days)
Newman
Newman on 30 Jul 2016
Edited: Mohamed Nedal on 14 Dec 2019
I have created and trained a neural network using the following code .I want to know how to get the training testing and validation errors/mis-classifications the way we get using the matlab GUI.
trainFcn = 'trainscg'; % Scaled conjugate gradient backpropagation.
% Create a Pattern Recognition Network
hiddenLayerSize = 25;
net = patternnet(hiddenLayerSize);
% Setup Division of Data for Training, Validation, Testing
net.divideParam.trainRatio = trainper/100;
net.divideParam.valRatio = valper/100;
net.divideParam.testRatio = testper/100;
% Train the Network
[net,tr] = train(net,x,t);

Accepted Answer

Greg Heath
Greg Heath on 5 Aug 2016
BOTH documentation commands
help patternnet
and
doc patternnet
have the following sample code for CLASSIFICATION & PATTERN-RECOGNITION:
[x,t] = iris_dataset;
net = patternnet(10);
net = train(net,x,t);
view(net)
y = net(x);
perf = perform(net,t,y);
classes = vec2ind(y);
However, the following are missing
1. Dimensions of x and t
2. Plots of x, t, and t vs x
3. Minimum possible number of hidden nodes
4. Initial state of the RNG (Needed for duplication)
5. Training record, tr
6. Plots of e = y-t vs x
7. Misclassified cases
8. trn/val/tst Error rates
For details see my NEWSGROUP posts
SIZES OF MATLAB CLASSIFICATION EXAMPLE DATA SETS
http://www.mathworks.com/matlabcentral/newsreader/...
view_thread/339984
and
BEYOND THE HELP/DOC DOCUMENTATION : PATTERNNET for
NN Classification and PatternRecognition
http://www.mathworks.com/matlabcentral/newsreader/...
view_thread/344832
Hope this helps.
Thank you for formally accepting my answer
Greg
  2 Comments
Greg Heath
Greg Heath on 20 Apr 2019
help and doc are to be used in the MATLAB command line. For example
>> help patternnet
patternnet Pattern recognition neural network.
...
Hope this helps
Greg

Sign in to comment.

More Answers (1)

Greg Heath
Greg Heath on 31 Jul 2016
clear all, clc
[ x, t ] = simplefit_dataset;
net = fitnet;
rng('default') % For reproducibility
[ net tr y e ] = train( net, x, t );
% y = net(x); e = t - y;
tr = tr % No semicolon: LOOK AT ALL OF THE GOODIES!!!
msetrn = tr.best_perf
mseval = tr.best_vperf
msetst = tr.best_tperf
Hope this helps
Thank you for formally accepting my answer
Greg
  5 Comments
Mohamed Nedal
Mohamed Nedal on 30 Nov 2019
If I wrote this:
rmse = sqrt(mean(e));
Does this give me the RMSE of the whole NN?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!