Ejemplo n.º 1
0
        public override float Predict(Sample sample)
        {
            var convertedSample = new [] { ModelTrainer.ConvertToMlSample(sample) };
            var sampleView      = _context.Data.LoadFromEnumerable(convertedSample);
            var res             = _model.Transform(sampleView);

            return(res.GetColumn <float>("Score").First());
        }
Ejemplo n.º 2
0
        public static void AutoMlOnDataset(MLContext context, TrainingData train, TrainingData validation)
        {
            var regExpSettings = new RegressionExperimentSettings {
                MaxExperimentTimeInSeconds = 60 * 5,
                OptimizingMetric           = RegressionMetric.MeanAbsoluteError,
                CacheDirectory             = null,
            };
            var experiment = context.Auto().CreateRegressionExperiment(regExpSettings);
            IProgress <RunDetail <RegressionMetrics> > progressHandler = new Handler();
            //ModelTrainer.ToDataView(context, validation)
            var experimentResults = experiment.Execute(ModelTrainer.ToDataView(context, train), progressHandler: progressHandler);

            foreach (var res in experimentResults.RunDetails)
            {
                if (res.TrainerName != null && res.ValidationMetrics != null)
                {
                    Console.WriteLine($"Trainer={res.TrainerName}; MAE={res.ValidationMetrics.MeanAbsoluteError}");
                }
            }
            var best = experimentResults.BestRun;

            Console.WriteLine($"Lé best trainer is {best.TrainerName} with MAE={best.ValidationMetrics.MeanAbsoluteError}");
        }