Beispiel #1
0
        public static RunDetail <RegressionMetrics> GetBestRun(IEnumerable <RunDetail <RegressionMetrics> > results,
                                                               RegressionMetric metric)
        {
            var metricsAgent = new RegressionMetricsAgent(null, metric);
            var metricInfo   = new OptimizingMetricInfo(metric);

            return(GetBestRun(results, metricsAgent, metricInfo.IsMaximizing));
        }
        public AutoMLExperiment SetEvaluateMetric(RegressionMetric metric, string labelColumn = "Label", string scoreColumn = "Score")
        {
            var metricManager = new RegressionMetricManager()
            {
                Metric      = metric,
                ScoreColumn = scoreColumn,
                LabelColumn = labelColumn,
            };

            _serviceCollection.AddSingleton <IMetricManager>(metricManager);
            SetIsMaximizeMetric(metricManager.IsMaximize);

            return(this);
        }
 public RegressionMetricsAgent(MLContext mlContext, RegressionMetric optimizingMetric)
 {
     _mlContext        = mlContext;
     _optimizingMetric = optimizingMetric;
 }
Beispiel #4
0
        private static bool IsPerfectModel(RegressionMetrics metrics, RegressionMetric metric)
        {
            var metricsAgent = new RegressionMetricsAgent(null, metric);

            return(IsPerfectModel(metricsAgent, metrics));
        }
Beispiel #5
0
 private static double GetScore(RegressionMetrics metrics, RegressionMetric metric)
 {
     return(new RegressionMetricsAgent(null, metric).GetScore(metrics));
 }
        /// <summary>
        /// Select the best run from an enumeration of experiment cross validation runs.
        /// </summary>
        /// <param name="results">Enumeration of AutoML experiment cross validation run results.</param>
        /// <param name="metric">Metric to consider when selecting the best run.</param>
        /// <returns>The best experiment run.</returns>
        public static CrossValidationRunDetail <RegressionMetrics> Best(this IEnumerable <CrossValidationRunDetail <RegressionMetrics> > results, RegressionMetric metric = RegressionMetric.RSquared)
        {
            var metricsAgent       = new RegressionMetricsAgent(null, metric);
            var isMetricMaximizing = new OptimizingMetricInfo(metric).IsMaximizing;

            return(BestResultUtil.GetBestRun(results, metricsAgent, isMetricMaximizing));
        }
 public OptimizingMetricInfo(RegressionMetric regressionMetric)
 {
     IsMaximizing = !_minimizingRegressionMetrics.Contains(regressionMetric);
 }