From: Davide De March on
i'm Working on modeling very high dimensional data with very few observation, and of course there's no way to obtain a good model in prediction, but i'd like to implement a new approach for assessing neural netowork but i really need a way not to divide the set of dat in training - validation -test, but only
training and use the test set for detect the best network in prediction.

how can i set the parameter in newff for exclude the validation set?

i tried with:

net.divideParam.trainRatio = 0.8;
net.divideParam.testRatio = 0.2;

but it doesn't work.
I also split randomly my initial data set in 2 different sets of 80% of data for training and 20% for test as follows:

Nexp = 96;
Npos = 4
Domains=95
perccamp=20;
Gen1 = ceil(rand(Nexp,Npos)*Domains);
numtest =round((Nexp*perccamp)./100);
datiinput=randperm(96);
test= Gen1(datiinput(1:numtest),:);
train = Gen1(datiinput(numtest+1:Nexp),:);
trainp= train(:,1:Npos*Domains)
traint=train(:,Npos*Domains+1)
testp=test(:,1:Npos*Domains)
testt=test(:,Npos*Domains+1)
net= newff(p',t',nn);

but i don't know how to train the net with only the testset

Any suggestions?
From: droulias Roulias on
"Davide De March" <davidedemarch(a)unive.it> wrote in message <hs11hg$rfe$1(a)fred.mathworks.com>...
> i'm Working on modeling very high dimensional data with very few observation, and of course there's no way to obtain a good model in prediction, but i'd like to implement a new approach for assessing neural netowork but i really need a way not to divide the set of dat in training - validation -test, but only
> training and use the test set for detect the best network in prediction.
>
> how can i set the parameter in newff for exclude the validation set?
>
> i tried with:
>
> net.divideParam.trainRatio = 0.8;
> net.divideParam.testRatio = 0.2;
>
> but it doesn't work.
> I also split randomly my initial data set in 2 different sets of 80% of data for training and 20% for test as follows:
>
> Nexp = 96;
> Npos = 4



Hi

Matlab uses a default function that divides the given training examples into "training" "validation" and "testing", dividerand.m. at nnet\nnet\nn\format you will find(hopefully) the specified file. Open it with an editor and change the ratio values at Function info category

if ischar(allV)
switch (allV)
case 'name'
trainV = 'Random Indices';
case 'fpdefaults'
defaults = struct;
defaults.trainRatio = 0.6;
defaults.valRatio = 0.2;
defaults.testRatio = 0.2;
trainV = defaults;
otherwise
error('NNET:Arguments','Unrecognized string: %s',allV)
end
return
endThen

if you specify

defaults.trainRatio = 1;
defaults.valRatio = 0;
defaults.testRatio = 0;

Then problem solved...

> Domains=95
> perccamp=20;
> Gen1 = ceil(rand(Nexp,Npos)*Domains);
> numtest =round((Nexp*perccamp)./100);
> datiinput=randperm(96);
> test= Gen1(datiinput(1:numtest),:);
> train = Gen1(datiinput(numtest+1:Nexp),:);
> trainp= train(:,1:Npos*Domains)
> traint=train(:,Npos*Domains+1)
> testp=test(:,1:Npos*Domains)
> testt=test(:,Npos*Domains+1)
> net= newff(p',t',nn);
>
> but i don't know how to train the net with only the testset
>
> Any suggestions?
From: Davide De March on
"droulias Roulias" <droulias(a)mech.upatras.gr> wrote in message <ht5hmg$7un$1(a)fred.mathworks.com>...
> "Davide De March" <davidedemarch(a)unive.it> wrote in message <hs11hg$rfe$1(a)fred.mathworks.com>...
> > i'm Working on modeling very high dimensional data with very few observation, and of course there's no way to obtain a good model in prediction, but i'd like to implement a new approach for assessing neural netowork but i really need a way not to divide the set of dat in training - validation -test, but only
> > training and use the test set for detect the best network in prediction.
> >
> > how can i set the parameter in newff for exclude the validation set?
> >
> > i tried with:
> >
> > net.divideParam.trainRatio = 0.8;
> > net.divideParam.testRatio = 0.2;
> >
> > but it doesn't work.
> > I also split randomly my initial data set in 2 different sets of 80% of data for training and 20% for test as follows:
> >
> > Nexp = 96;
> > Npos = 4
>
>
>
> Hi
>
> Matlab uses a default function that divides the given training examples into "training" "validation" and "testing", dividerand.m. at nnet\nnet\nn\format you will find(hopefully) the specified file. Open it with an editor and change the ratio values at Function info category
>
> if ischar(allV)
> switch (allV)
> case 'name'
> trainV = 'Random Indices';
> case 'fpdefaults'
> defaults = struct;
> defaults.trainRatio = 0.6;
> defaults.valRatio = 0.2;
> defaults.testRatio = 0.2;
> trainV = defaults;
> otherwise
> error('NNET:Arguments','Unrecognized string: %s',allV)
> end
> return
> endThen
>
> if you specify
>
> defaults.trainRatio = 1;
> defaults.valRatio = 0;
> defaults.testRatio = 0;
>
> Then problem solved...
>
Thank you Droulias,

i'will try it soon... does it works, in your opinion, also if i will split
as follows?

defaults.trainRatio = 0.8;
defaults.valRatio = 0.2;

regards
D.