internal SdcaRegressionTrainer(IHostEnvironment env, Options options, string featureColumn, string labelColumn, string weightColumn = null)
            : base(env, options, TrainerUtils.MakeR4ScalarColumn(labelColumn), TrainerUtils.MakeR4ScalarWeightColumn(weightColumn))
        {
            Host.CheckValue(labelColumn, nameof(labelColumn));
            Host.CheckValue(featureColumn, nameof(featureColumn));

            _loss = options.LossFunction.CreateComponent(env);
            Loss  = _loss;
        }
 /// <summary>
 /// Initializes a new instance of <see cref="OlsTrainer"/>
 /// </summary>
 internal OlsTrainer(IHostEnvironment env, Options options)
     : base(Contracts.CheckRef(env, nameof(env)).Register(LoadNameValue), TrainerUtils.MakeR4VecFeature(options.FeatureColumnName),
            TrainerUtils.MakeR4ScalarColumn(options.LabelColumnName), TrainerUtils.MakeR4ScalarWeightColumn(options.ExampleWeightColumnName))
 {
     Host.CheckValue(options, nameof(options));
     Host.CheckUserArg(options.L2Regularization >= 0, nameof(options.L2Regularization), "L2 regularization term cannot be negative");
     _l2Weight = options.L2Regularization;
     _perParameterSignificance = options.CalculateStatistics;
 }
Beispiel #3
0
 /// <summary>
 /// Initializes a new instance of <see cref="OrdinaryLeastSquaresRegressionTrainer"/>
 /// </summary>
 internal OrdinaryLeastSquaresRegressionTrainer(IHostEnvironment env, Options options)
     : base(Contracts.CheckRef(env, nameof(env)).Register(LoadNameValue), TrainerUtils.MakeR4VecFeature(options.FeatureColumnName),
            TrainerUtils.MakeR4ScalarColumn(options.LabelColumnName), TrainerUtils.MakeR4ScalarWeightColumn(options.ExampleWeightColumnName))
 {
     Host.CheckValue(options, nameof(options));
     Host.CheckUserArg(options.L2Weight >= 0, nameof(options.L2Weight), "L2 regularization term cannot be negative");
     _l2Weight = options.L2Weight;
     _perParameterSignificance = options.PerParameterSignificance;
 }
Beispiel #4
0
 /// <summary>
 /// Initializes a new instance of <see cref="PoissonRegression"/>
 /// </summary>
 /// <param name="env">The environment to use.</param>
 /// <param name="labelColumn">The name of the label column.</param>
 /// <param name="featureColumn">The name of the feature column.</param>
 /// <param name="weights">The name for the example weight column.</param>
 /// <param name="l1Weight">Weight of L1 regularizer term.</param>
 /// <param name="l2Weight">Weight of L2 regularizer term.</param>
 /// <param name="optimizationTolerance">Threshold for optimizer convergence.</param>
 /// <param name="memorySize">Memory size for <see cref="LogisticRegression"/>. Low=faster, less accurate.</param>
 /// <param name="enforceNoNegativity">Enforce non-negative weights.</param>
 internal PoissonRegression(IHostEnvironment env,
                            string labelColumn          = DefaultColumnNames.Label,
                            string featureColumn        = DefaultColumnNames.Features,
                            string weights              = null,
                            float l1Weight              = Options.Defaults.L1Weight,
                            float l2Weight              = Options.Defaults.L2Weight,
                            float optimizationTolerance = Options.Defaults.OptTol,
                            int memorySize              = Options.Defaults.MemorySize,
                            bool enforceNoNegativity    = Options.Defaults.EnforceNonNegativity)
     : base(env, featureColumn, TrainerUtils.MakeR4ScalarColumn(labelColumn), weights,
            l1Weight, l2Weight, optimizationTolerance, memorySize, enforceNoNegativity)
 {
     Host.CheckNonEmpty(featureColumn, nameof(featureColumn));
     Host.CheckNonEmpty(labelColumn, nameof(labelColumn));
 }
 /// <summary>
 /// Initializes a new instance of <see cref="SdcaRegressionTrainer"/>
 /// </summary>
 /// <param name="env">The environment to use.</param>
 /// <param name="labelColumn">The label, or dependent variable.</param>
 /// <param name="featureColumn">The features, or independent variables.</param>
 /// <param name="weights">The optional example weights.</param>
 /// <param name="loss">The custom loss.</param>
 /// <param name="l2Const">The L2 regularization hyperparameter.</param>
 /// <param name="l1Threshold">The L1 regularization hyperparameter. Higher values will tend to lead to more sparse model.</param>
 /// <param name="maxIterations">The maximum number of passes to perform over the data.</param>
 internal SdcaRegressionTrainer(IHostEnvironment env,
                                string labelColumn              = DefaultColumnNames.Label,
                                string featureColumn            = DefaultColumnNames.Features,
                                string weights                  = null,
                                ISupportSdcaRegressionLoss loss = null,
                                float?l2Const     = null,
                                float?l1Threshold = null,
                                int?maxIterations = null)
     : base(env, featureColumn, TrainerUtils.MakeR4ScalarColumn(labelColumn), TrainerUtils.MakeR4ScalarWeightColumn(weights),
            l2Const, l1Threshold, maxIterations)
 {
     Host.CheckNonEmpty(featureColumn, nameof(featureColumn));
     Host.CheckNonEmpty(labelColumn, nameof(labelColumn));
     _loss = loss ?? Args.LossFunction.CreateComponent(env);
     Loss  = _loss;
 }
Beispiel #6
0
 /// <summary>
 /// Initializes a new instance of <see cref="PoissonRegression"/>
 /// </summary>
 internal PoissonRegression(IHostEnvironment env, Options options)
     : base(env, options, TrainerUtils.MakeR4ScalarColumn(options.LabelColumn))
 {
 }
Beispiel #7
0
 internal OnlineGradientDescentTrainer(IHostEnvironment env, Options options)
     : base(options, env, UserNameValue, TrainerUtils.MakeR4ScalarColumn(options.LabelColumnName))
 {
     LossFunction = options.LossFunction ?? options.LossFunctionFactory.CreateComponent(env);
 }
 /// <summary>
 /// Initializes a new instance of <see cref="PoissonRegression"/>
 /// </summary>
 internal PoissonRegression(IHostEnvironment env, Arguments args)
     : base(env, args, TrainerUtils.MakeR4ScalarColumn(args.LabelColumn))
 {
 }