public SinglePipelineTrainingService(MLContext context, SingleEstimatorSweepablePipeline pipeline, Option option)
 {
     this.context  = context;
     this.option   = option;
     this.Pipeline = pipeline;
     this.id2Name  = pipeline.SweepableValueGenerators.Select(x => new KeyValuePair <string, string>(x.ID, x.Name)).ToDictionary(kv => kv.Key, kv => kv.Value);
 }
 internal IterationInfo(SingleEstimatorSweepablePipeline singleweepablePipeline, IDictionary <string, string> parameters, double time, double evaluateScore, bool isMaximizing, double[] metrics = null, ITransformer model = null)
 {
     this.SingleSweepablePipeline = singleweepablePipeline;
     this.Parameters         = parameters;
     this.TrainingTime       = time;
     this.EvaluateScore      = evaluateScore;
     this.IsMetricMaximizing = isMaximizing;
     this.Metrics            = metrics ?? new double[0];
     this.Model = model;
 }