internal static MulticlassClassificationResult AutoFit(this MulticlassClassificationContext context, IDataView trainData, string label, IDataView validationData = null, InferredColumn[] inferredColumns = null, AutoFitSettings settings = null, CancellationToken cancellationToken = default, IProgress <MulticlassClassificationIterationResult> iterationCallback = null, IDebugLogger debugLogger = null) { // run autofit & get all pipelines run in that process var(allPipelines, bestPipeline) = AutoFitApi.Fit(trainData, validationData, label, inferredColumns, settings, TaskKind.MulticlassClassification, OptimizingMetric.Accuracy, debugLogger); var results = new MulticlassClassificationIterationResult[allPipelines.Length]; for (var i = 0; i < results.Length; i++) { var iterationResult = allPipelines[i]; var result = new MulticlassClassificationIterationResult(iterationResult.Model, (MultiClassClassifierMetrics)iterationResult.EvaluatedMetrics, iterationResult.ScoredValidationData); results[i] = result; } var bestResult = new MulticlassClassificationIterationResult(bestPipeline.Model, (MultiClassClassifierMetrics)bestPipeline.EvaluatedMetrics, bestPipeline.ScoredValidationData); return(new MulticlassClassificationResult(bestResult, results)); }
public MulticlassClassificationResult(MulticlassClassificationIterationResult bestPipeline, MulticlassClassificationIterationResult[] iterationResults) { BestPipeline = bestPipeline; IterationResults = iterationResults; }