public static (PipelineRunResult[] allPipelines, PipelineRunResult bestPipeline) Fit(IDataView trainData, IDataView validationData, string label, InferredColumn[] inferredColumns, AutoFitSettings settings, TaskKind task, OptimizingMetric metric, IDebugLogger debugLogger) { // hack: init new MLContext var mlContext = new MLContext(); // infer pipelines var optimizingMetricfInfo = new OptimizingMetricInfo(metric); var autoFitter = new AutoFitter(mlContext, optimizingMetricfInfo, settings, task, label, ToInternalColumnPurposes(inferredColumns), trainData, validationData, debugLogger); var allPipelines = autoFitter.Fit(1); var bestScore = allPipelines.Max(p => p.Score); var bestPipeline = allPipelines.First(p => p.Score == bestScore); return(allPipelines, bestPipeline); }
public static (PipelineRunResult[] allPipelines, PipelineRunResult bestPipeline) Fit(IDataView trainData, IDataView validationData, string label, AutoFitSettings settings, TaskKind task, OptimizingMetric metric, IEnumerable <(string, ColumnPurpose)> purposeOverrides, IDebugLogger debugLogger)
public OptimizingMetricInfo(OptimizingMetric optimizingMetric) { Name = optimizingMetric.ToString(); IsMaximizing = !_minimizingMetrics.Contains(optimizingMetric); }