/// <summary>
 /// Initializes a new instance of <see cref="FastForestRegression"/> by using the legacy <see cref="Arguments"/> class.
 /// </summary>
 public FastForestRegression(IHostEnvironment env, Arguments args)
     : base(env, args, TrainerUtils.MakeR4ScalarLabel(args.LabelColumn), true)
 {
 }
Exemple #2
0
 internal LightGbmRankingTrainer(IHostEnvironment env, Options options)
     : base(env, LoadNameValue, options, TrainerUtils.MakeR4ScalarColumn(options.LabelColumnName))
 {
     Contracts.CheckUserArg(options.Sigmoid > 0, nameof(Options.Sigmoid), "must be > 0.");
 }
Exemple #3
0
 /// <summary>
 /// Initializes a new instance of <see cref="FastForestClassification"/> by using the legacy <see cref="Arguments"/> class.
 /// </summary>
 public FastForestClassification(IHostEnvironment env, Arguments args)
     : base(env, args, TrainerUtils.MakeBoolScalarLabel(args.LabelColumn))
 {
 }
Exemple #4
0
 internal LightGbmRegressorTrainer(IHostEnvironment env, LightGbmArguments args)
     : base(env, LoadNameValue, args, TrainerUtils.MakeR4ScalarColumn(args.LabelColumn))
 {
 }
Exemple #5
0
        private protected GamTrainerBase(IHostEnvironment env,
                                         string name,
                                         SchemaShape.Column label,
                                         string featureColumnName,
                                         string weightCrowGroupColumnName,
                                         int numberOfIterations,
                                         double learningRate,
                                         int maximumBinCountPerFeature)
            : base(Contracts.CheckRef(env, nameof(env)).Register(name), TrainerUtils.MakeR4VecFeature(featureColumnName), label, TrainerUtils.MakeR4ScalarWeightColumn(weightCrowGroupColumnName))
        {
            GamTrainerOptions = new TOptions();
            GamTrainerOptions.NumberOfIterations        = numberOfIterations;
            GamTrainerOptions.LearningRate              = learningRate;
            GamTrainerOptions.MaximumBinCountPerFeature = maximumBinCountPerFeature;

            GamTrainerOptions.LabelColumnName   = label.Name;
            GamTrainerOptions.FeatureColumnName = featureColumnName;

            if (weightCrowGroupColumnName != null)
            {
                GamTrainerOptions.ExampleWeightColumnName = weightCrowGroupColumnName;
            }

            Info = new TrainerInfo(normalization: false, calibration: NeedCalibration, caching: false, supportValid: true);
            _gainConfidenceInSquaredStandardDeviations = Math.Pow(ProbabilityFunctions.Probit(1 - (1 - GamTrainerOptions.GainConfidenceLevel) * 0.5), 2);
            _entropyCoefficient = GamTrainerOptions.EntropyCoefficient * 1e-6;

            InitializeThreads();
        }
 /// <summary>
 /// Initializes a new instance of <see cref="FastForestClassification"/> by using the <see cref="Options"/> class.
 /// </summary>
 /// <param name="env">The instance of <see cref="IHostEnvironment"/>.</param>
 /// <param name="options">Algorithm advanced settings.</param>
 internal FastForestClassification(IHostEnvironment env, Options options)
     : base(env, options, TrainerUtils.MakeBoolScalarLabel(options.LabelColumn))
 {
 }
        private protected LightGbmTrainerBase(IHostEnvironment env, string name, Options options, SchemaShape.Column label)
            : base(Contracts.CheckRef(env, nameof(env)).Register(name), TrainerUtils.MakeR4VecFeature(options.FeatureColumnName), label,
                   TrainerUtils.MakeR4ScalarWeightColumn(options.ExampleWeightColumnName), TrainerUtils.MakeU4ScalarColumn(options.RowGroupColumnName))
        {
            Host.CheckValue(options, nameof(options));

            LightGbmTrainerOptions = options;
            InitParallelTraining();
        }
 internal LightGbmBinaryTrainer(IHostEnvironment env, Options options)
     : base(env, LoadNameValue, options, TrainerUtils.MakeBoolScalarLabel(options.LabelColumn))
 {
 }
 internal LightGbmRankingTrainer(IHostEnvironment env, Options options)
     : base(env, LoadNameValue, options, TrainerUtils.MakeR4ScalarColumn(options.LabelColumn))
 {
 }
 internal OnlineGradientDescentTrainer(IHostEnvironment env, Arguments args)
     : base(args, env, UserNameValue, TrainerUtils.MakeR4ScalarLabel(args.LabelColumn))
 {
     LossFunction = args.LossFunction.CreateComponent(env);
 }
 internal LightGbmBinaryTrainer(IHostEnvironment env, Options options)
     : base(env, LoadNameValue, options, TrainerUtils.MakeBoolScalarLabel(options.LabelColumnName))
 {
     Contracts.CheckUserArg(options.Sigmoid > 0, nameof(Options.Sigmoid), "must be > 0.");
     Contracts.CheckUserArg(options.WeightOfPositiveExamples > 0, nameof(Options.WeightOfPositiveExamples), "must be > 0.");
 }
 /// <summary>
 /// Initializes a new instance of <see cref="LogisticRegression"/>
 /// </summary>
 internal LogisticRegression(IHostEnvironment env, Arguments args)
     : base(env, args, TrainerUtils.MakeBoolScalarLabel(args.LabelColumn))
 {
     _posWeight        = 0;
     ShowTrainingStats = Args.ShowTrainingStats;
 }
Exemple #13
0
 /// <summary>
 /// Initializes a new instance of <see cref="BinaryClassificationGamTrainer"/>
 /// </summary>
 internal BinaryClassificationGamTrainer(IHostEnvironment env, Options options)
     : base(env, options, LoadNameValue, TrainerUtils.MakeBoolScalarLabel(options.LabelColumnName))
 {
     _sigmoidParameter = 1;
 }
Exemple #14
0
 /// <summary>
 /// Initializes a new instance of <see cref="FastForestBinaryTrainer"/> by using the <see cref="Options"/> class.
 /// </summary>
 /// <param name="env">The instance of <see cref="IHostEnvironment"/>.</param>
 /// <param name="options">Algorithm advanced settings.</param>
 internal FastForestBinaryTrainer(IHostEnvironment env, Options options)
     : base(env, options, TrainerUtils.MakeBoolScalarLabel(options.LabelColumnName))
 {
 }
 /// <summary>
 /// Initializes a new instance of <see cref="FastTreeTweedieTrainer"/> by using the <see cref="Options"/> class.
 /// </summary>
 /// <param name="env">The instance of <see cref="IHostEnvironment"/>.</param>
 /// <param name="options">Algorithm advanced settings.</param>
 internal FastTreeTweedieTrainer(IHostEnvironment env, Options options)
     : base(env, options, TrainerUtils.MakeR4ScalarColumn(options.LabelColumn))
 {
     Initialize();
 }
Exemple #16
0
        private protected LightGbmTrainerBase(IHostEnvironment env, string name, LightGbmArguments args, SchemaShape.Column label)
            : base(Contracts.CheckRef(env, nameof(env)).Register(name), TrainerUtils.MakeR4VecFeature(args.FeatureColumn), label, TrainerUtils.MakeR4ScalarWeightColumn(args.WeightColumn, args.WeightColumn.IsExplicit))
        {
            Host.CheckValue(args, nameof(args));

            Args = args;
            InitParallelTraining();
        }
Exemple #17
0
 /// <summary>
 /// Initializes a new instance of <see cref="FastTreeBinaryClassificationTrainer"/> by using the legacy <see cref="Arguments"/> class.
 /// </summary>
 internal FastTreeBinaryClassificationTrainer(IHostEnvironment env, Arguments args)
     : base(env, args, TrainerUtils.MakeBoolScalarLabel(args.LabelColumn))
 {
     // Set the sigmoid parameter to the 2 * learning rate, for traditional FastTreeClassification loss
     _sigmoidParameter = 2.0 * Args.LearningRates;
 }
Exemple #18
0
        private protected LightGbmTrainerBase(IHostEnvironment env,
                                              string name,
                                              SchemaShape.Column label,
                                              string featureColumn,
                                              string weightColumn,
                                              string groupIdColumn,
                                              int?numLeaves,
                                              int?minDataPerLeaf,
                                              double?learningRate,
                                              int numBoostRound,
                                              Action <LightGbmArguments> advancedSettings)
            : base(Contracts.CheckRef(env, nameof(env)).Register(name), TrainerUtils.MakeR4VecFeature(featureColumn), label, TrainerUtils.MakeR4ScalarWeightColumn(weightColumn), TrainerUtils.MakeU4ScalarColumn(groupIdColumn))
        {
            Args = new LightGbmArguments();

            Args.NumLeaves      = numLeaves;
            Args.MinDataPerLeaf = minDataPerLeaf;
            Args.LearningRate   = learningRate;
            Args.NumBoostRound  = numBoostRound;

            //apply the advanced args, if the user supplied any
            advancedSettings?.Invoke(Args);

            Args.LabelColumn   = label.Name;
            Args.FeatureColumn = featureColumn;

            if (weightColumn != null)
            {
                Args.WeightColumn = Optional <string> .Explicit(weightColumn);
            }

            if (groupIdColumn != null)
            {
                Args.GroupIdColumn = Optional <string> .Explicit(groupIdColumn);
            }

            InitParallelTraining();
        }
        private protected LightGbmTrainerBase(IHostEnvironment env,
                                              string name,
                                              SchemaShape.Column labelColumn,
                                              string featureColumnName,
                                              string exampleWeightColumnName,
                                              string rowGroupColumnName,
                                              int?numberOfLeaves,
                                              int?minimumExampleCountPerLeaf,
                                              double?learningRate,
                                              int numberOfIterations)
            : base(Contracts.CheckRef(env, nameof(env)).Register(name), TrainerUtils.MakeR4VecFeature(featureColumnName),
                   labelColumn, TrainerUtils.MakeR4ScalarWeightColumn(exampleWeightColumnName), TrainerUtils.MakeU4ScalarColumn(rowGroupColumnName))
        {
            LightGbmTrainerOptions = new Options();

            LightGbmTrainerOptions.NumberOfLeaves             = numberOfLeaves;
            LightGbmTrainerOptions.MinimumExampleCountPerLeaf = minimumExampleCountPerLeaf;
            LightGbmTrainerOptions.LearningRate       = learningRate;
            LightGbmTrainerOptions.NumberOfIterations = numberOfIterations;

            LightGbmTrainerOptions.LabelColumnName         = labelColumn.Name;
            LightGbmTrainerOptions.FeatureColumnName       = featureColumnName;
            LightGbmTrainerOptions.ExampleWeightColumnName = exampleWeightColumnName;
            LightGbmTrainerOptions.RowGroupColumnName      = rowGroupColumnName;

            InitParallelTraining();
        }
Exemple #20
0
 /// <summary>
 /// Initializes a new instance of <see cref="PoissonRegression"/>
 /// </summary>
 internal PoissonRegression(IHostEnvironment env, Arguments args)
     : base(env, args, TrainerUtils.MakeR4ScalarLabel(args.LabelColumn))
 {
 }
 /// <summary>
 /// Initializes a new instance of <see cref="FastTreeTweedieTrainer"/> by using the legacy <see cref="Arguments"/> class.
 /// </summary>
 internal FastTreeTweedieTrainer(IHostEnvironment env, Arguments args)
     : base(env, args, TrainerUtils.MakeR4ScalarLabel(args.LabelColumn))
 {
     Initialize();
 }
 internal RegressionGamTrainer(IHostEnvironment env, Options options)
     : base(env, options, LoadNameValue, TrainerUtils.MakeR4ScalarColumn(options.LabelColumn))
 {
 }
 internal LightGbmMulticlassTrainer(IHostEnvironment env, Options options)
     : base(env, LoadNameValue, options, TrainerUtils.MakeU4ScalarColumn(options.LabelColumnName))
 {
     _numClass = -1;
 }
 internal RegressionGamTrainer(IHostEnvironment env, Arguments args)
     : base(env, args, LoadNameValue, TrainerUtils.MakeR4ScalarLabel(args.LabelColumn))
 {
 }
Exemple #25
0
        private RandomizedPcaTrainer(IHostEnvironment env, Arguments args, string featureColumn, string weightColumn,
                                     int rank = 20, int oversampling = 20, bool center = true, int?seed = null)
            : base(Contracts.CheckRef(env, nameof(env)).Register(LoadNameValue), TrainerUtils.MakeR4VecFeature(featureColumn), null, TrainerUtils.MakeR4ScalarWeightColumn(weightColumn))
        {
            // if the args are not null, we got here from maml, and the internal ctor.
            if (args != null)
            {
                _rank         = args.Rank;
                _center       = args.Center;
                _oversampling = args.Oversampling;
                _seed         = args.Seed ?? Host.Rand.Next();
            }
            else
            {
                _rank         = rank;
                _center       = center;
                _oversampling = oversampling;
                _seed         = seed ?? Host.Rand.Next();
            }

            _featureColumn = featureColumn;

            Host.CheckUserArg(_rank > 0, nameof(_rank), "Rank must be positive");
            Host.CheckUserArg(_oversampling >= 0, nameof(_oversampling), "Oversampling must be non-negative");
        }
 /// <summary>
 /// Initializes a new instance of <see cref="MulticlassLogisticRegression"/>
 /// </summary>
 internal MulticlassLogisticRegression(IHostEnvironment env, Arguments args)
     : base(env, args, TrainerUtils.MakeU4ScalarColumn(args.LabelColumn))
 {
     ShowTrainingStats = Args.ShowTrainingStats;
 }
 /// <summary>
 /// Initializes a new instance of <see cref="FastTreeRegressionTrainer"/> by using the <see cref="Options"/> class.
 /// </summary>
 /// <param name="env">The instance of <see cref="IHostEnvironment"/>.</param>
 /// <param name="options">Algorithm advanced settings.</param>
 internal FastTreeRegressionTrainer(IHostEnvironment env, Options options)
     : base(env, options, TrainerUtils.MakeR4ScalarColumn(options.LabelColumn))
 {
 }
Exemple #28
0
 /// <summary>
 /// Initializes a new instance of <see cref="BinaryClassificationGamTrainer"/>
 /// </summary>
 internal BinaryClassificationGamTrainer(IHostEnvironment env, Arguments args)
     : base(env, args, LoadNameValue, TrainerUtils.MakeBoolScalarLabel(args.LabelColumn))
 {
     _sigmoidParameter = 1;
 }
Exemple #29
0
 internal AveragedPerceptronTrainer(IHostEnvironment env, Arguments args)
     : base(args, env, UserNameValue, TrainerUtils.MakeBoolScalarLabel(args.LabelColumn))
 {
     _args        = args;
     LossFunction = _args.LossFunction.CreateComponent(env);
 }
        private protected LightGbmTrainerBase(IHostEnvironment env,
                                              string name,
                                              SchemaShape.Column label,
                                              string featureColumn,
                                              string weightColumn,
                                              string groupIdColumn,
                                              int?numLeaves,
                                              int?minDataPerLeaf,
                                              double?learningRate,
                                              int numBoostRound)
            : base(Contracts.CheckRef(env, nameof(env)).Register(name), TrainerUtils.MakeR4VecFeature(featureColumn), label, TrainerUtils.MakeR4ScalarWeightColumn(weightColumn), TrainerUtils.MakeU4ScalarColumn(groupIdColumn))
        {
            LightGbmTrainerOptions = new Options();

            LightGbmTrainerOptions.NumLeaves      = numLeaves;
            LightGbmTrainerOptions.MinDataPerLeaf = minDataPerLeaf;
            LightGbmTrainerOptions.LearningRate   = learningRate;
            LightGbmTrainerOptions.NumBoostRound  = numBoostRound;

            LightGbmTrainerOptions.LabelColumn   = label.Name;
            LightGbmTrainerOptions.FeatureColumn = featureColumn;
            LightGbmTrainerOptions.WeightColumn  = weightColumn;
            LightGbmTrainerOptions.GroupIdColumn = groupIdColumn;

            InitParallelTraining();
        }