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; }
private static bool IsPerfectModel(RegressionMetrics metrics, RegressionMetric metric) { var metricsAgent = new RegressionMetricsAgent(null, metric); return(IsPerfectModel(metricsAgent, metrics)); }
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); }