public static CommonOutputs.SummaryOutput Summarize(IHostEnvironment env, SummarizePredictor.Input input) { Contracts.CheckValue(env, nameof(env)); var host = env.Register("LinearRegressionPredictor"); host.CheckValue(input, nameof(input)); EntryPointUtils.CheckInputArgs(host, input); RoleMappedData rmd; IPredictor predictor; input.PredictorModel.PrepareData(host, new EmptyDataView(host, input.PredictorModel.TransformModel.InputSchema), out rmd, out predictor); var output = new CommonOutputs.SummaryOutput(); output.Summary = GetSummaryAndStats(host, predictor, rmd.Schema, out output.Stats); return(output); }
public static SummaryOutput Summarize(IHostEnvironment env, SummarizePredictor.Input input) { Contracts.CheckValue(env, nameof(env)); var host = env.Register("PipelineEnsemblePredictor"); host.CheckValue(input, nameof(input)); EntryPointUtils.CheckInputArgs(host, input); input.PredictorModel.PrepareData(host, new EmptyDataView(host, input.PredictorModel.TransformModel.InputSchema), out RoleMappedData rmd, out IPredictor predictor ); var calibrated = predictor as CalibratedPredictorBase; while (calibrated != null) { predictor = calibrated.SubPredictor; calibrated = predictor as CalibratedPredictorBase; } var ensemble = predictor as SchemaBindablePipelineEnsembleBase; host.CheckUserArg(ensemble != null, nameof(input.PredictorModel.Predictor), "Predictor is not a pipeline ensemble predictor"); var summaries = new IDataView[ensemble.PredictorModels.Length]; var stats = new IDataView[ensemble.PredictorModels.Length]; for (int i = 0; i < ensemble.PredictorModels.Length; i++) { var pm = ensemble.PredictorModels[i]; pm.PrepareData(host, new EmptyDataView(host, pm.TransformModel.InputSchema), out rmd, out IPredictor pred); summaries[i] = SummarizePredictor.GetSummaryAndStats(host, pred, rmd.Schema, out stats[i]); } return(new SummaryOutput() { Summaries = summaries, Stats = stats }); }