Example #1
0
        public void Train()
        {
            var trainInput     = DataPreparator.GetTrainInput();
            var trainOutput    = DataPreparator.GetTrainOutput();
            var validateInput  = DataPreparator.GetValidateInput();
            var validateOutput = DataPreparator.GetValidateOutput();

            var lastIndex = 0;

            for (var i = 0; i < 9999; i++)
            {
                Classifier.Train(trainInput, trainOutput);
                var mse     = Validation.ValidateWithMse(validateInput, validateOutput);
                var logLoss = Validation.ValidateWithLogLoss(validateInput, validateOutput);

                LogLossList.Add(logLoss);
                MseList.Add(mse);

                if (mse < 0.01 || logLoss < 0.01)
                {
                    Classifier.Save();
                    break;
                }
                else if (i - lastIndex > 500)
                {
                    break;
                }
                else if (mse <= MseList.Min())
                {
                    Classifier.Save();
                    lastIndex = i;
                }
            }
        }