LightGbm(this SweepableMultiClassificationTrainers trainer, string labelColumnName = "Label", string featureColumnName = "Features", SweepableOption <LightGbmMulticlassTrainer.Options> optionBuilder = null, LightGbmMulticlassTrainer.Options defaultOption = null) { var context = trainer.Context; if (optionBuilder == null) { optionBuilder = LightGbmMulticlassTrainerSweepableOptions.Default; } optionBuilder.SetDefaultOption(defaultOption); return(context.AutoML().CreateSweepableEstimator( (context, option) => { if (defaultOption != null) { Util.CopyFieldsTo(defaultOption, option); } option.LabelColumnName = labelColumnName; option.FeatureColumnName = featureColumnName; return context.MulticlassClassification.Trainers.LightGbm(option); }, optionBuilder, trainerName: nameof(LightGbmMulticlassTrainer), inputs: new string[] { featureColumnName }, outputs: new string[] { PredictedLabel })); }
NaiveBayes(this SweepableMultiClassificationTrainers trainer, string labelColumnName = "Label", string featureColumnName = "Features") { var context = trainer.Context; var instance = context.MulticlassClassification.Trainers.NaiveBayes(labelColumnName, featureColumnName); return(context.AutoML().CreateUnsweepableEstimator( instance, estimatorName: nameof(NaiveBayesMulticlassTrainer), inputs: new string[] { featureColumnName }, outputs: new string[] { PredictedLabel })); }
OneVersusAll <TModel, TOption>(this SweepableMultiClassificationTrainers trainer, ISweepableEstimator <ITrainerEstimator <BinaryPredictionTransformer <TModel>, TModel>, TOption> node, string labelColumnName = "Label", bool imputeMissingLabelsAsNegative = false, Microsoft.ML.IEstimator <Microsoft.ML.ISingleFeaturePredictionTransformer <Microsoft.ML.Calibrators.ICalibrator> > calibrator = default, int maximumCalibrationExampleCount = 1000000000, bool useProbabilities = true) where TModel : class where TOption : class { var context = trainer.Context; return(context.AutoML().CreateSweepableEstimator( (context, option) => { var estimator = node.EstimatorFactory(option); return context.MulticlassClassification.Trainers.OneVersusAll(estimator, labelColumnName, imputeMissingLabelsAsNegative, calibrator, maximumCalibrationExampleCount, useProbabilities); }, node.OptionBuilder, inputs: node.InputColumns, outputs: node.OutputColumns, trainerName: node.EstimatorName + "Ova")); }
SdcaNonCalibreated(this SweepableMultiClassificationTrainers trainer, string labelColumnName = "Label", string featureColumnName = "Features", SweepableOption <SdcaNonCalibratedMulticlassTrainer.Options> optionBuilder = null, SdcaNonCalibratedMulticlassTrainer.Options defaultOption = null) { var context = trainer.Context; if (optionBuilder == null) { optionBuilder = SdcaNonCalibratedMulticlassTrainerSweepableOptions.Default; } optionBuilder.SetDefaultOption(defaultOption); return(context.AutoML().CreateSweepableEstimator( (context, option) => { option.LabelColumnName = labelColumnName; option.FeatureColumnName = featureColumnName; return context.MulticlassClassification.Trainers.SdcaNonCalibrated(option); }, optionBuilder, trainerName: nameof(SdcaNonCalibratedMulticlassTrainer), inputs: new string[] { featureColumnName }, outputs: new string[] { PredictedLabel })); }