コード例 #1
0
 /// <summary>
 /// Construct a cross trainer.
 /// </summary>
 /// <param name="network">The network.</param>
 /// <param name="training">The training data.</param>
 public CrossTraining(BasicNetwork network,
                      FoldedDataSet training)
 {
     this.network = network;
     Training     = training;
     this.folded  = training;
 }
コード例 #2
0
        public void TestRPROPFolded()
        {
            IMLDataSet trainingData = XOR.CreateNoisyXORDataSet(10);

            BasicNetwork network = NetworkUtil.CreateXORNetworkUntrained();

            var      folded      = new FoldedDataSet(trainingData);
            IMLTrain train       = new ResilientPropagation(network, folded);
            var      trainFolded = new CrossValidationKFold(train, 4);

            EncogUtility.TrainToError(trainFolded, 0.2);

            XOR.VerifyXOR((IMLRegression)trainFolded.Method, 0.2);
        }
コード例 #3
0
        /// <summary>
        ///     Obtain the training set.
        /// </summary>
        /// <returns>The training set.</returns>
        private IMLDataSet ObtainTrainingSet()
        {
            String trainingID = Prop.GetPropertyString(
                ScriptProperties.MlConfigTrainingFile);

            FileInfo trainingFile = Script.ResolveFilename(trainingID);

            IMLDataSet trainingSet = EncogUtility.LoadEGB2Memory(trainingFile);

            if (_kfold > 0)
            {
                trainingSet = new FoldedDataSet(trainingSet);
            }

            return(trainingSet);
        }
コード例 #4
0
        public NeuralNetworkModel(VersatileMLDataSet dataset)
        {
            dataset.NormHelper.NormStrategy = new BasicNormalizationStrategy(0, 1, 0, 1);
            dataset.Normalize();

            var inputs  = dataset.NormHelper.InputColumns.Count;
            var outputs = dataset.NormHelper.OutputColumns.Count;
            var hiddens = (inputs + outputs) * 1.5;

            var method = (BasicNetwork) new MLMethodFactory().Create(
                MLMethodFactory.TypeFeedforward,
                $"?:B->SIGMOID->{hiddens}:B->SIGMOID->?",
                inputs,
                outputs);

            var folds = new FoldedDataSet(dataset);

            folds.Fold(5);

            var propTrainer = new ResilientPropagation(method, folds);

            _kfoldTrainer = new CrossValidationKFold(propTrainer, 5);
        }
コード例 #5
0
 /// <summary>
 /// Construct a cross trainer.
 /// </summary>
 ///
 /// <param name="network">The network.</param>
 /// <param name="training">The training data.</param>
 protected CrossTraining(IMLMethod network, FoldedDataSet training) : base(TrainingImplementationType.Iterative)
 {
     _network = network;
     Training = training;
     _folded  = training;
 }