本文整理汇总了C#中mlpensemble类的典型用法代码示例。如果您正苦于以下问题:C# mlpensemble类的具体用法?C# mlpensemble怎么用?C# mlpensemble使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
mlpensemble类属于命名空间,在下文中一共展示了mlpensemble类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: mlpecreate0
/*************************************************************************
Like MLPCreate0, but for ensembles.
-- ALGLIB --
Copyright 18.02.2009 by Bochkanov Sergey
*************************************************************************/
public static void mlpecreate0(int nin,
int nout,
int ensemblesize,
ref mlpensemble ensemble)
{
mlpbase.multilayerperceptron net = new mlpbase.multilayerperceptron();
mlpbase.mlpcreate0(nin, nout, ref net);
mlpecreatefromnetwork(ref net, ensemblesize, ref ensemble);
}
开发者ID:palefacer,项目名称:TelescopeOrientation,代码行数:16,代码来源:mlpe.cs
示例2: mlpeallerrorsx
/*************************************************************************
Calculation of all types of errors
-- ALGLIB --
Copyright 17.02.2009 by Bochkanov Sergey
*************************************************************************/
public static void mlpeallerrorsx(mlpensemble ensemble,
double[,] densexy,
sparse.sparsematrix sparsexy,
int datasetsize,
int datasettype,
int[] idx,
int subset0,
int subset1,
int subsettype,
alglib.smp.shared_pool buf,
mlpbase.modelerrors rep)
{
int i = 0;
int j = 0;
int nin = 0;
int nout = 0;
bool iscls = new bool();
int srcidx = 0;
hpccores.mlpbuffers pbuf = null;
mlpbase.modelerrors rep0 = new mlpbase.modelerrors();
mlpbase.modelerrors rep1 = new mlpbase.modelerrors();
int i_ = 0;
int i1_ = 0;
//
// Get network information
//
nin = mlpbase.mlpgetinputscount(ensemble.network);
nout = mlpbase.mlpgetoutputscount(ensemble.network);
iscls = mlpbase.mlpissoftmax(ensemble.network);
//
// Retrieve buffer, prepare, process data, recycle buffer
//
alglib.smp.ae_shared_pool_retrieve(buf, ref pbuf);
if( iscls )
{
bdss.dserrallocate(nout, ref pbuf.tmp0);
}
else
{
bdss.dserrallocate(-nout, ref pbuf.tmp0);
}
apserv.rvectorsetlengthatleast(ref pbuf.x, nin);
apserv.rvectorsetlengthatleast(ref pbuf.y, nout);
apserv.rvectorsetlengthatleast(ref pbuf.desiredy, nout);
for(i=subset0; i<=subset1-1; i++)
{
srcidx = -1;
if( subsettype==0 )
{
srcidx = i;
}
if( subsettype==1 )
{
srcidx = idx[i];
}
alglib.ap.assert(srcidx>=0, "MLPEAllErrorsX: internal error");
if( datasettype==0 )
{
for(i_=0; i_<=nin-1;i_++)
{
pbuf.x[i_] = densexy[srcidx,i_];
}
}
if( datasettype==1 )
{
sparse.sparsegetrow(sparsexy, srcidx, ref pbuf.x);
}
mlpeprocess(ensemble, pbuf.x, ref pbuf.y);
if( mlpbase.mlpissoftmax(ensemble.network) )
{
if( datasettype==0 )
{
pbuf.desiredy[0] = densexy[srcidx,nin];
}
if( datasettype==1 )
{
pbuf.desiredy[0] = sparse.sparseget(sparsexy, srcidx, nin);
}
}
else
{
if( datasettype==0 )
{
i1_ = (nin) - (0);
for(i_=0; i_<=nout-1;i_++)
{
pbuf.desiredy[i_] = densexy[srcidx,i_+i1_];
}
}
if( datasettype==1 )
{
//.........这里部分代码省略.........
开发者ID:Kerbas-ad-astra,项目名称:MechJeb2,代码行数:101,代码来源:dataanalysis.cs
示例3: mlpeallerrors
/*************************************************************************
Calculation of all types of errors
-- ALGLIB --
Copyright 17.02.2009 by Bochkanov Sergey
*************************************************************************/
private static void mlpeallerrors(mlpensemble ensemble,
double[,] xy,
int npoints,
ref double relcls,
ref double avgce,
ref double rms,
ref double avg,
ref double avgrel)
{
int i = 0;
double[] buf = new double[0];
double[] workx = new double[0];
double[] y = new double[0];
double[] dy = new double[0];
int nin = 0;
int nout = 0;
int i_ = 0;
int i1_ = 0;
relcls = 0;
avgce = 0;
rms = 0;
avg = 0;
avgrel = 0;
nin = mlpbase.mlpgetinputscount(ensemble.network);
nout = mlpbase.mlpgetoutputscount(ensemble.network);
workx = new double[nin];
y = new double[nout];
if( mlpbase.mlpissoftmax(ensemble.network) )
{
dy = new double[1];
bdss.dserrallocate(nout, ref buf);
}
else
{
dy = new double[nout];
bdss.dserrallocate(-nout, ref buf);
}
for(i=0; i<=npoints-1; i++)
{
for(i_=0; i_<=nin-1;i_++)
{
workx[i_] = xy[i,i_];
}
mlpeprocess(ensemble, workx, ref y);
if( mlpbase.mlpissoftmax(ensemble.network) )
{
dy[0] = xy[i,nin];
}
else
{
i1_ = (nin) - (0);
for(i_=0; i_<=nout-1;i_++)
{
dy[i_] = xy[i,i_+i1_];
}
}
bdss.dserraccumulate(ref buf, y, dy);
}
bdss.dserrfinish(ref buf);
relcls = buf[0];
avgce = buf[1];
rms = buf[2];
avg = buf[3];
avgrel = buf[4];
}
开发者ID:lgatto,项目名称:proteowizard,代码行数:73,代码来源:dataanalysis.cs
示例4: mlpeserialize
/*************************************************************************
Serializer: serialization
-- ALGLIB --
Copyright 14.03.2011 by Bochkanov Sergey
*************************************************************************/
public static void mlpeserialize(alglib.serializer s,
mlpensemble ensemble)
{
s.serialize_int(scodes.getmlpeserializationcode());
s.serialize_int(mlpefirstversion);
s.serialize_int(ensemble.ensemblesize);
apserv.serializerealarray(s, ensemble.weights, -1);
apserv.serializerealarray(s, ensemble.columnmeans, -1);
apserv.serializerealarray(s, ensemble.columnsigmas, -1);
mlpbase.mlpserialize(s, ensemble.network);
}
开发者ID:lgatto,项目名称:proteowizard,代码行数:17,代码来源:dataanalysis.cs
示例5: mlpetraines
/*************************************************************************
Training neural networks ensemble using early stopping.
INPUT PARAMETERS:
Ensemble - model with initialized geometry
XY - training set
NPoints - training set size
Decay - weight decay coefficient, >=0.001
Restarts - restarts, >0.
OUTPUT PARAMETERS:
Ensemble - trained model
Info - return code:
* -2, if there is a point with class number
outside of [0..NClasses-1].
* -1, if incorrect parameters was passed
(NPoints<0, Restarts<1).
* 6, if task has been solved.
Rep - training report.
OOBErrors - out-of-bag generalization error estimate
-- ALGLIB --
Copyright 10.03.2009 by Bochkanov Sergey
*************************************************************************/
public static void mlpetraines(mlpensemble ensemble,
double[,] xy,
int npoints,
double decay,
int restarts,
ref int info,
mlptrain.mlpreport rep)
{
int i = 0;
int k = 0;
int ccount = 0;
int pcount = 0;
double[,] trnxy = new double[0,0];
double[,] valxy = new double[0,0];
int trnsize = 0;
int valsize = 0;
int tmpinfo = 0;
mlptrain.mlpreport tmprep = new mlptrain.mlpreport();
int nin = 0;
int nout = 0;
int wcount = 0;
int i_ = 0;
int i1_ = 0;
info = 0;
nin = mlpbase.mlpgetinputscount(ensemble.network);
nout = mlpbase.mlpgetoutputscount(ensemble.network);
wcount = mlpbase.mlpgetweightscount(ensemble.network);
if( (npoints<2 || restarts<1) || (double)(decay)<(double)(0) )
{
info = -1;
return;
}
if( mlpbase.mlpissoftmax(ensemble.network) )
{
for(i=0; i<=npoints-1; i++)
{
if( (int)Math.Round(xy[i,nin])<0 || (int)Math.Round(xy[i,nin])>=nout )
{
info = -2;
return;
}
}
}
info = 6;
//
// allocate
//
if( mlpbase.mlpissoftmax(ensemble.network) )
{
ccount = nin+1;
pcount = nin;
}
else
{
ccount = nin+nout;
pcount = nin+nout;
}
trnxy = new double[npoints, ccount];
valxy = new double[npoints, ccount];
rep.ngrad = 0;
rep.nhess = 0;
rep.ncholesky = 0;
//
// train networks
//
for(k=0; k<=ensemble.ensemblesize-1; k++)
{
//
// Split set
//
do
//.........这里部分代码省略.........
开发者ID:lgatto,项目名称:proteowizard,代码行数:101,代码来源:dataanalysis.cs
示例6: aggregating
/*************************************************************************
Training neural networks ensemble using bootstrap aggregating (bagging).
Modified Levenberg-Marquardt algorithm is used as base training method.
INPUT PARAMETERS:
Ensemble - model with initialized geometry
XY - training set
NPoints - training set size
Decay - weight decay coefficient, >=0.001
Restarts - restarts, >0.
OUTPUT PARAMETERS:
Ensemble - trained model
Info - return code:
* -2, if there is a point with class number
outside of [0..NClasses-1].
* -1, if incorrect parameters was passed
(NPoints<0, Restarts<1).
* 2, if task has been solved.
Rep - training report.
OOBErrors - out-of-bag generalization error estimate
-- ALGLIB --
Copyright 17.02.2009 by Bochkanov Sergey
*************************************************************************/
public static void mlpebagginglm(mlpensemble ensemble,
double[,] xy,
int npoints,
double decay,
int restarts,
ref int info,
mlptrain.mlpreport rep,
mlptrain.mlpcvreport ooberrors)
{
info = 0;
mlpebagginginternal(ensemble, xy, npoints, decay, restarts, 0.0, 0, true, ref info, rep, ooberrors);
}
开发者ID:lgatto,项目名称:proteowizard,代码行数:38,代码来源:dataanalysis.cs
示例7: MLPEProcess
/*************************************************************************
'interactive' variant of MLPEProcess for languages like Python which
support constructs like "Y = MLPEProcess(LM,X)" and interactive mode of the
interpreter
This function allocates new array on each call, so it is significantly
slower than its 'non-interactive' counterpart, but it is more convenient
when you call it from command line.
-- ALGLIB --
Copyright 17.02.2009 by Bochkanov Sergey
*************************************************************************/
public static void mlpeprocessi(mlpensemble ensemble,
double[] x,
ref double[] y)
{
y = new double[0];
mlpeprocess(ensemble, x, ref y);
}
开发者ID:lgatto,项目名称:proteowizard,代码行数:20,代码来源:dataanalysis.cs
示例8: type
/*************************************************************************
Return normalization type (whether ensemble is SOFTMAX-normalized or not).
-- ALGLIB --
Copyright 17.02.2009 by Bochkanov Sergey
*************************************************************************/
public static bool mlpeissoftmax(mlpensemble ensemble)
{
bool result = new bool();
result = mlpbase.mlpissoftmax(ensemble.network);
return result;
}
开发者ID:lgatto,项目名称:proteowizard,代码行数:13,代码来源:dataanalysis.cs
示例9: properties
/*************************************************************************
Return ensemble properties (number of inputs and outputs).
-- ALGLIB --
Copyright 17.02.2009 by Bochkanov Sergey
*************************************************************************/
public static void mlpeproperties(mlpensemble ensemble,
ref int nin,
ref int nout)
{
nin = 0;
nout = 0;
nin = ensemble.nin;
nout = ensemble.nout;
}
开发者ID:Ring-r,项目名称:opt,代码行数:16,代码来源:dataanalysis.cs
示例10: mlperandomize
/*************************************************************************
Randomization of MLP ensemble
-- ALGLIB --
Copyright 17.02.2009 by Bochkanov Sergey
*************************************************************************/
public static void mlperandomize(mlpensemble ensemble)
{
int i = 0;
for(i=0; i<=ensemble.ensemblesize*ensemble.wcount-1; i++)
{
ensemble.weights[i] = math.randomreal()-0.5;
}
}
开发者ID:Ring-r,项目名称:opt,代码行数:15,代码来源:dataanalysis.cs
示例11: mlpeunserialize
/*************************************************************************
Unserialization of MLPEnsemble strucure
INPUT PARAMETERS:
RA - real array which stores ensemble
OUTPUT PARAMETERS:
Ensemble- restored structure
-- ALGLIB --
Copyright 17.02.2009 by Bochkanov Sergey
*************************************************************************/
public static void mlpeunserialize(double[] ra,
mlpensemble ensemble)
{
int i = 0;
int ssize = 0;
int ntotal = 0;
int ccount = 0;
int hsize = 0;
int offs = 0;
int i_ = 0;
int i1_ = 0;
ap.assert((int)Math.Round(ra[1])==mlpevnum, "MLPEUnserialize: incorrect array!");
//
// load info
//
hsize = 13;
ensemble.ensemblesize = (int)Math.Round(ra[2]);
ensemble.nin = (int)Math.Round(ra[3]);
ensemble.nout = (int)Math.Round(ra[4]);
ensemble.wcount = (int)Math.Round(ra[5]);
ensemble.issoftmax = (int)Math.Round(ra[6])==1;
ensemble.postprocessing = (int)Math.Round(ra[7])==1;
ssize = (int)Math.Round(ra[8]);
ntotal = (int)Math.Round(ra[9]);
ccount = (int)Math.Round(ra[10]);
offs = (int)Math.Round(ra[11]);
ensemble.serializedlen = (int)Math.Round(ra[12]);
//
// Allocate arrays
//
ensemble.structinfo = new int[ssize-1+1];
ensemble.weights = new double[ensemble.ensemblesize*ensemble.wcount-1+1];
ensemble.columnmeans = new double[ensemble.ensemblesize*ccount-1+1];
ensemble.columnsigmas = new double[ensemble.ensemblesize*ccount-1+1];
ensemble.tmpweights = new double[ensemble.wcount-1+1];
ensemble.tmpmeans = new double[ccount-1+1];
ensemble.tmpsigmas = new double[ccount-1+1];
ensemble.neurons = new double[ntotal-1+1];
ensemble.dfdnet = new double[ntotal-1+1];
ensemble.serializedmlp = new double[ensemble.serializedlen-1+1];
ensemble.y = new double[ensemble.nout-1+1];
//
// load data
//
for(i=offs; i<=offs+ssize-1; i++)
{
ensemble.structinfo[i-offs] = (int)Math.Round(ra[i]);
}
offs = offs+ssize;
i1_ = (offs) - (0);
for(i_=0; i_<=ensemble.ensemblesize*ensemble.wcount-1;i_++)
{
ensemble.weights[i_] = ra[i_+i1_];
}
offs = offs+ensemble.ensemblesize*ensemble.wcount;
i1_ = (offs) - (0);
for(i_=0; i_<=ensemble.ensemblesize*ccount-1;i_++)
{
ensemble.columnmeans[i_] = ra[i_+i1_];
}
offs = offs+ensemble.ensemblesize*ccount;
i1_ = (offs) - (0);
for(i_=0; i_<=ensemble.ensemblesize*ccount-1;i_++)
{
ensemble.columnsigmas[i_] = ra[i_+i1_];
}
offs = offs+ensemble.ensemblesize*ccount;
i1_ = (offs) - (0);
for(i_=0; i_<=ensemble.serializedlen-1;i_++)
{
ensemble.serializedmlp[i_] = ra[i_+i1_];
}
offs = offs+ensemble.serializedlen;
}
开发者ID:Ring-r,项目名称:opt,代码行数:90,代码来源:dataanalysis.cs
示例12: mlpeserialize
/*************************************************************************
Serialization of MLPEnsemble strucure
INPUT PARAMETERS:
Ensemble- original
OUTPUT PARAMETERS:
RA - array of real numbers which stores ensemble,
array[0..RLen-1]
RLen - RA lenght
-- ALGLIB --
Copyright 17.02.2009 by Bochkanov Sergey
*************************************************************************/
public static void mlpeserialize(mlpensemble ensemble,
ref double[] ra,
ref int rlen)
{
int i = 0;
int ssize = 0;
int ntotal = 0;
int ccount = 0;
int hsize = 0;
int offs = 0;
int i_ = 0;
int i1_ = 0;
ra = new double[0];
rlen = 0;
hsize = 13;
ssize = ensemble.structinfo[0];
if( ensemble.issoftmax )
{
ccount = ensemble.nin;
}
else
{
ccount = ensemble.nin+ensemble.nout;
}
ntotal = ensemble.structinfo[mlpntotaloffset];
rlen = hsize+ssize+ensemble.ensemblesize*ensemble.wcount+2*ccount*ensemble.ensemblesize+ensemble.serializedlen;
//
// RA format:
// [0] RLen
// [1] Version (MLPEVNum)
// [2] EnsembleSize
// [3] NIn
// [4] NOut
// [5] WCount
// [6] IsSoftmax 0/1
// [7] PostProcessing 0/1
// [8] sizeof(StructInfo)
// [9] NTotal (sizeof(Neurons), sizeof(DFDNET))
// [10] CCount (sizeof(ColumnMeans), sizeof(ColumnSigmas))
// [11] data offset
// [12] SerializedLen
//
// [..] StructInfo
// [..] Weights
// [..] ColumnMeans
// [..] ColumnSigmas
//
ra = new double[rlen-1+1];
ra[0] = rlen;
ra[1] = mlpevnum;
ra[2] = ensemble.ensemblesize;
ra[3] = ensemble.nin;
ra[4] = ensemble.nout;
ra[5] = ensemble.wcount;
if( ensemble.issoftmax )
{
ra[6] = 1;
}
else
{
ra[6] = 0;
}
if( ensemble.postprocessing )
{
ra[7] = 1;
}
else
{
ra[7] = 9;
}
ra[8] = ssize;
ra[9] = ntotal;
ra[10] = ccount;
ra[11] = hsize;
ra[12] = ensemble.serializedlen;
offs = hsize;
for(i=offs; i<=offs+ssize-1; i++)
{
ra[i] = ensemble.structinfo[i-offs];
}
offs = offs+ssize;
i1_ = (0) - (offs);
for(i_=offs; i_<=offs+ensemble.ensemblesize*ensemble.wcount-1;i_++)
//.........这里部分代码省略.........
开发者ID:Ring-r,项目名称:opt,代码行数:101,代码来源:dataanalysis.cs
示例13: mlpecopy
/*************************************************************************
Copying of MLPEnsemble strucure
INPUT PARAMETERS:
Ensemble1 - original
OUTPUT PARAMETERS:
Ensemble2 - copy
-- ALGLIB --
Copyright 17.02.2009 by Bochkanov Sergey
*************************************************************************/
public static void mlpecopy(mlpensemble ensemble1,
mlpensemble ensemble2)
{
int i = 0;
int ssize = 0;
int ccount = 0;
int ntotal = 0;
int i_ = 0;
//
// Unload info
//
ssize = ensemble1.structinfo[0];
if( ensemble1.issoftmax )
{
ccount = ensemble1.nin;
}
else
{
ccount = ensemble1.nin+ensemble1.nout;
}
ntotal = ensemble1.structinfo[mlpntotaloffset];
//
// Allocate space
//
ensemble2.structinfo = new int[ssize-1+1];
ensemble2.weights = new double[ensemble1.ensemblesize*ensemble1.wcount-1+1];
ensemble2.columnmeans = new double[ensemble1.ensemblesize*ccount-1+1];
ensemble2.columnsigmas = new double[ensemble1.ensemblesize*ccount-1+1];
ensemble2.tmpweights = new double[ensemble1.wcount-1+1];
ensemble2.tmpmeans = new double[ccount-1+1];
ensemble2.tmpsigmas = new double[ccount-1+1];
ensemble2.serializedmlp = new double[ensemble1.serializedlen-1+1];
ensemble2.neurons = new double[ntotal-1+1];
ensemble2.dfdnet = new double[ntotal-1+1];
ensemble2.y = new double[ensemble1.nout-1+1];
//
// Copy
//
ensemble2.nin = ensemble1.nin;
ensemble2.nout = ensemble1.nout;
ensemble2.wcount = ensemble1.wcount;
ensemble2.ensemblesize = ensemble1.ensemblesize;
ensemble2.issoftmax = ensemble1.issoftmax;
ensemble2.postprocessing = ensemble1.postprocessing;
ensemble2.serializedlen = ensemble1.serializedlen;
for(i=0; i<=ssize-1; i++)
{
ensemble2.structinfo[i] = ensemble1.structinfo[i];
}
for(i_=0; i_<=ensemble1.ensemblesize*ensemble1.wcount-1;i_++)
{
ensemble2.weights[i_] = ensemble1.weights[i_];
}
for(i_=0; i_<=ensemble1.ensemblesize*ccount-1;i_++)
{
ensemble2.columnmeans[i_] = ensemble1.columnmeans[i_];
}
for(i_=0; i_<=ensemble1.ensemblesize*ccount-1;i_++)
{
ensemble2.columnsigmas[i_] = ensemble1.columnsigmas[i_];
}
for(i_=0; i_<=ensemble1.serializedlen-1;i_++)
{
ensemble2.serializedmlp[i_] = ensemble1.serializedmlp[i_];
}
}
开发者ID:Ring-r,项目名称:opt,代码行数:82,代码来源:dataanalysis.cs
示例14: mlpecreatefromnetwork
/*************************************************************************
Creates ensemble from network. Only network geometry is copied.
-- ALGLIB --
Copyright 17.02.2009 by Bochkanov Sergey
*************************************************************************/
public static void mlpecreatefromnetwork(mlpbase.multilayerperceptron network,
int ensemblesize,
mlpensemble ensemble)
{
int i = 0;
int ccount = 0;
int i_ = 0;
int i1_ = 0;
ap.assert(ensemblesize>0, "MLPECreate: incorrect ensemble size!");
//
// network properties
//
mlpbase.mlpproperties(network, ref ensemble.nin, ref ensemble.nout, ref ensemble.wcount);
if( mlpbase.mlpissoftmax(network) )
{
ccount = ensemble.nin;
}
else
{
ccount = ensemble.nin+ensemble.nout;
}
ensemble.postprocessing = false;
ensemble.issoftmax = mlpbase.mlpissoftmax(network);
ensemble.ensemblesize = ensemblesize;
//
// structure information
//
ensemble.structinfo = new int[network.structinfo[0]-1+1];
for(i=0; i<=network.structinfo[0]-1; i++)
{
ensemble.structinfo[i] = network.structinfo[i];
}
//
// weights, means, sigmas
//
ensemble.weights = new double[ensemblesize*ensemble.wcount-1+1];
ensemble.columnmeans = new double[ensemblesize*ccount-1+1];
ensemble.columnsigmas = new double[ensemblesize*ccount-1+1];
for(i=0; i<=ensemblesize*ensemble.wcount-1; i++)
{
ensemble.weights[i] = math.randomreal()-0.5;
}
for(i=0; i<=ensemblesize-1; i++)
{
i1_ = (0) - (i*ccount);
for(i_=i*ccount; i_<=(i+1)*ccount-1;i_++)
{
ensemble.columnmeans[i_] = network.columnmeans[i_+i1_];
}
i1_ = (0) - (i*ccount);
for(i_=i*ccount; i_<=(i+1)*ccount-1;i_++)
{
ensemble.columnsigmas[i_] = network.columnsigmas[i_+i1_];
}
}
//
// serialized part
//
mlpbase.mlpserializeold(network, ref ensemble.serializedmlp, ref ensemble.serializedlen);
//
// temporaries, internal buffers
//
ensemble.tmpweights = new double[ensemble.wcount-1+1];
ensemble.tmpmeans = new double[ccount-1+1];
ensemble.tmpsigmas = new double[ccount-1+1];
ensemble.neurons = new double[ensemble.structinfo[mlpntotaloffset]-1+1];
ensemble.dfdnet = new double[ensemble.structinfo[mlpntotaloffset]-1+1];
ensemble.y = new double[ensemble.nout-1+1];
}
开发者ID:Ring-r,项目名称:opt,代码行数:81,代码来源:dataanalysis.cs
示例15: mlpeavgrelerror
/*************************************************************************
Average relative error on the test set
INPUT PARAMETERS:
Ensemble- ensemble
XY - test set
NPoints - test set size
RESULT:
Its meaning for regression task is obvious. As for classification task
it means average relative error when estimating posterior probabilities.
-- ALGLIB --
Copyright 17.02.2009 by Bochkanov Sergey
*************************************************************************/
public static double mlpeavgrelerror(mlpensemble ensemble,
double[,] xy,
int npoints)
{
double result = 0;
mlpbase.modelerrors rep = new mlpbase.modelerrors();
mlpeallerrorsx(ensemble, xy, ensemble.network.dummysxy, npoints, 0, ensemble.network.dummyidx, 0, npoints, 0, ensemble.network.buf, rep);
result = rep.avgrelerror;
return result;
}
开发者ID:Kerbas-ad-astra,项目名称:MechJeb2,代码行数:26,代码来源:dataanalysis.cs
示例16: mlperandomize
/*************************************************************************
Randomization of MLP ensemble
-- ALGLIB --
Copyright 17.02.2009 by Bochkanov Sergey
*************************************************************************/
public static void mlperandomize(mlpensemble ensemble)
{
int i = 0;
int wcount = 0;
wcount = mlpbase.mlpgetweightscount(ensemble.network);
for(i=0; i<=ensemble.ensemblesize*wcount-1; i++)
{
ensemble.weights[i] = math.randomreal()-0.5;
}
}
开发者ID:lgatto,项目名称:proteowizard,代码行数:17,代码来源:dataanalysis.cs
示例17: properties
/*************************************************************************
Return ensemble properties (number of inputs and outputs).
-- ALGLIB --
Copyright 17.02.2009 by Bochkanov Sergey
*************************************************************************/
public static void mlpeproperties(mlpensemble ensemble,
ref int nin,
ref int nout)
{
nin = 0;
nout = 0;
nin = mlpbase.mlpgetinputscount(ensemble.network);
nout = mlpbase.mlpgetoutputscount(ensemble.network);
}
开发者ID:lgatto,项目名称:proteowizard,代码行数:16,代码来源:dataanalysis.cs
示例18: type
/*************************************************************************
Return normalization type (whether ensemble is SOFTMAX-normalized or not).
-- ALGLIB --
Copyright 17.02.2009 by Bochkanov Sergey
*************************************************************************/
public static bool mlpeissoftmax(mlpensemble ensemble)
{
bool result = new bool();
result = ensemble.issoftmax;
return result;
}
开发者ID:Ring-r,项目名称:opt,代码行数:13,代码来源:dataanalysis.cs
示例19: mlpeprocess
/*************************************************************************
Procesing
INPUT PARAMETERS:
Ensemble- neural networks ensemble
X - input vector, array[0..NIn-1].
Y - (possibly) preallocated buffer; if size of Y is less than
NOut, it will be reallocated. If it is large enough, it
is NOT reallocated, so we can save some time on reallocation.
OUTPUT PARAMETERS:
Y - result. Regression estimate when solving regression task,
vector of posterior probabilities for classification task.
-- ALGLIB --
Copyright 17.02.2009 by Bochkanov Sergey
*************************************************************************/
public static void mlpeprocess(mlpensemble ensemble,
double[] x,
ref double[] y)
{
int i = 0;
int es = 0;
int wc = 0;
int cc = 0;
double v = 0;
int nout = 0;
int i_ = 0;
int i1_ = 0;
if( alglib.ap.len(y)<mlpbase.mlpgetoutputscount(ensemble.network) )
{
y = new double[mlpbase.mlpgetoutputscount(ensemble.network)];
}
es = ensemble.ensemblesize;
wc = mlpbase.mlpgetweightscount(ensemble.network);
if( mlpbase.mlpissoftmax(ensemble.network) )
{
cc = mlpbase.mlpgetinputscount(ensemble.network);
}
else
{
cc = mlpbase.mlpgetinputscount(ensemble.network)+mlpbase.mlpgetoutputscount(ensemble.network);
}
v = (double)1/(double)es;
nout = mlpbase.mlpgetoutputscount(ensemble.network);
for(i=0; i<=nout-1; i++)
{
y[i] = 0;
}
for(i=0; i<=es-1; i++)
{
i1_ = (i*wc) - (0);
for(i_=0; i_<=wc-1;i_++)
{
ensemble.network.weights[i_] = ensemble.weights[i_+i1_];
}
i1_ = (i*cc) - (0);
for(i_=0; i_<=cc-1;i_++)
{
ensemble.network.columnmeans[i_] = ensemble.columnmeans[i_+i1_];
}
i1_ = (i*cc) - (0);
for(i_=0; i_<=cc-1;i_++)
{
ensemble.network.columnsigmas[i_] = ensemble.columnsigmas[i_+i1_];
}
mlpbase.mlpprocess(ensemble.network, x, ref ensemble.y);
for(i_=0; i_<=nout-1;i_++)
{
y[i_] = y[i_] + v*ensemble.y[i_];
}
}
}
开发者ID:lgatto,项目名称:proteowizard,代码行数:75,代码来源:dataanalysis.cs
示例20: mlpeprocess
/*************************************************************************
Procesing
INPUT PARAMETERS:
Ensemble- neural networks ensemble
X - input vector, array[0..NIn-1].
Y - (possibly) preallocated buffer; if size of Y is less than
NOut, it will be reallocated. If it is large enough, it
is NOT reallocated, so we can save some time on reallocation.
OUTPUT PARAMETERS:
Y - result. Regression estimate when solving regression task,
vector of posterior probabilities for classification task.
-- ALGLIB --
Copyright 17.02.2009 by Bochkanov Sergey
*************************************************************************/
public static void mlpeprocess(mlpensemble ensemble,
double[] x,
ref double[] y)
{
int i = 0;
int es = 0;
int wc = 0;
int cc = 0;
double v = 0;
int i_ = 0;
int i1_ = 0;
if( ap.len(y)<ensemble.nout )
{
y = new double[ensemble.nout];
}
es = ensemble.ensemblesize;
wc = ensemble.wcount;
if( ensemble.issoftmax )
{
cc = ensemble.nin;
}
else
{
cc = ensemble.nin+ensemble.nout;
}
v = (double)1/(double)es;
for(i=0; i<=ensemble.nout-1; i++)
{
y[i] = 0;
}
for(i=0; i<=es-1; i++)
{
i1_ = (i*wc) - (0);
for(i_=0; i_<=wc-1;i_++)
{
ensemble.tmpweights[i_] = ensemble.weights[i_+i1_];
}
i1_ = (i*cc) - (0);
for(i_=0; i_<=cc-1;i_++)
{
ensemble.tmpmeans[i_] = ensemble.columnmeans[i_+i1_];
}
i1_ = (i*cc) - (0);
for(i_=0; i_<=cc-1;i_++)
{
ensemble.tmpsigmas[i_] = ensemble.columnsigmas[i_+i1_];
}
mlpbase.mlpinternalprocessvector(ensemble.structinfo, ensemble.tmpweights, ensemble.tmpmeans, ensemble.tmpsigmas, ref ensemble.neurons, ref ensemble.dfdnet, x, ref ensemble.y);
for(i_=0; i_<=ensemble.nout-1;i_++)
{
y[i_] = y[i_] + v*ensemble.y[i_];
}
}
}
开发者ID:Ring-r,项目名称:opt,代码行数:73,代码来源:dataanalysis.cs
注:本文中的mlpensemble类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论