public SchemaBindableQuantileRegressionPredictor(IPredictor predictor, Double[] quantiles) : base(predictor) { var qpred = Predictor as IQuantileValueMapper; Contracts.CheckParam(qpred != null, nameof(predictor), "Predictor doesn't implement " + nameof(IQuantileValueMapper)); _qpred = qpred; Contracts.CheckParam(ScoreType == NumberType.Float, nameof(predictor), "Unexpected predictor output type"); Contracts.CheckParam(ValueMapper != null && ValueMapper.InputType.IsVector && ValueMapper.InputType.ItemType == NumberType.Float, nameof(predictor), "Unexpected predictor input type"); Contracts.CheckNonEmpty(quantiles, nameof(quantiles), "Quantiles must not be empty"); _quantiles = quantiles; }
private SchemaBindableQuantileRegressionPredictor(IHostEnvironment env, ModelLoadContext ctx) : base(env, ctx) { // *** Binary format *** // <base info> // int: the number of quantiles // Double[]: the quantiles var qpred = Predictor as IQuantileValueMapper; Contracts.CheckDecode(qpred != null); _qpred = qpred; Contracts.CheckDecode(ScoreType == NumberType.Float); Contracts.CheckDecode(ValueMapper != null && ValueMapper.InputType.IsVector && ValueMapper.InputType.ItemType == NumberType.Float); _quantiles = ctx.Reader.ReadDoubleArray(); Contracts.CheckDecode(Utils.Size(_quantiles) > 0); }