コード例 #1
0
        public OptimizationEpoch(IComputationalUnit<double?> unit, IFeatureMatrixProvider matrixProvider, bool supervised = true)
        {
            Contract.Requires(matrixProvider != null);
            Contract.Requires(unit != null);
            Contract.Requires(!supervised || matrixProvider is ISupervisedFeatureMatrixProvider);
            Contract.Requires((!supervised && unit is IUnsupervisedComputation<double>) || (supervised && unit is ISupervisedComputation<double>));

            Setup(unit, matrixProvider, null, 1, supervised);
        }
コード例 #2
0
        public OptimizationEpoch(IComputationalUnit<double?> unit, IFeatureMatrixProvider matrixProvider, IFeatureMatrixProvider validationMatrixProvider, int validationFrequency = 10, bool supervised = true)
        {
            Contract.Requires(matrixProvider != null);
            Contract.Requires(unit != null);
            Contract.Requires(validationFrequency >= 1);
            Contract.Requires(!supervised || matrixProvider is ISupervisedFeatureMatrixProvider);
            Contract.Requires(!supervised || validationMatrixProvider is ISupervisedFeatureMatrixProvider);
            Contract.Requires((!supervised && unit is IUnsupervisedComputation<double>) || (supervised && unit is ISupervisedComputation<double>));

            Setup(unit, matrixProvider, validationMatrixProvider, validationFrequency, supervised);
        }
コード例 #3
0
 private void Setup(IComputationalUnit<double?> unit, IFeatureMatrixProvider matrixProvider, IFeatureMatrixProvider validationMatrixProvider, int validationFrequency, bool supervised)
 {
     IsSupervised = supervised;
     MatrixProvider = matrixProvider;
     if ((ValidationMatrixProvider = validationMatrixProvider) != null)
     {
         // TODO: Check provider compatibility.
     }
     Unit = unit;
     ValidationFrequency = validationFrequency;
     BestResult = new OptimizationResult(this, true);
     CurrentResult = new OptimizationResult(this);
     BestValidationResult = new OptimizationResult(this, true);
     CurrentValidationResult = new OptimizationResult(this);
 }