/// <summary>
        ///     Select the training type.
        /// </summary>
        /// <param name="dataset">The dataset.</param>
        public void SelectTrainingType(VersatileMLDataSet dataset)
        {
            if (_methodType == null)
            {
                throw new EncogError(
                          "Please select your training method, before your training type.");
            }
            IMethodConfig config = _methodConfigurations[_methodType];

            SelectTraining(dataset, config.SuggestTrainingType(),
                           config.SuggestTrainingArgs(_trainingType));
        }
        /// <summary>
        ///     Select the method to create.
        /// </summary>
        /// <param name="dataset">The dataset.</param>
        /// <param name="methodType">The method type.</param>
        public void SelectMethod(VersatileMLDataSet dataset, String methodType)
        {
            if (!_methodConfigurations.ContainsKey(methodType))
            {
                throw new EncogError("Don't know how to autoconfig method: "
                                     + methodType);
            }

            _config     = _methodConfigurations[methodType];
            _methodType = methodType;
            _methodArgs = _config.SuggestModelArchitecture(dataset);
            dataset.NormHelper.NormStrategy =
                _config.SuggestNormalizationStrategy(dataset, _methodArgs);
        }
        /// <summary>
        ///     Select the method to create.
        /// </summary>
        /// <param name="dataset">The dataset.</param>
        /// <param name="methodType">The method type.</param>
        public void SelectMethod(VersatileMLDataSet dataset, String methodType)
        {
            if (!_methodConfigurations.ContainsKey(methodType))
            {
                throw new EncogError("Don't know how to autoconfig method: "
                                     + methodType);
            }

            _config = _methodConfigurations[methodType];
            _methodType = methodType;
            _methodArgs = _config.SuggestModelArchitecture(dataset);
            dataset.NormHelper.NormStrategy =
                _config.SuggestNormalizationStrategy(dataset, _methodArgs);
        }