def segmentation(self):
        # there is no notion of weighted sum, so we should take weighted average and multiply result by total weight
        # in output transformation
        segmentation = pmml.Segmentation(multipleModelMethod="weightedAverage")

        # build the context for the nested regression models by replacing output categorical feature
        # with the continuous numeric feature
        regression_context = TransformationContext(schemas=dict(self.context.schemas))
        regression_context.schemas[Schema.OUTPUT] = [RealNumericFeature(
            name=self.context.schemas[Schema.OUTPUT][0].name,
            namespace=Schema.NUMERIC.namespace
        )]

        # first, transform initial estimator
        init_segment = pmml.Segment(weight=1)
        init_segment.append(pmml.True_())
        init_segment.append(find_converter(self.estimator.init_)(self.estimator.init_, regression_context).model())
        segmentation.append(init_segment)

        for est in self.estimator.estimators_[:, 0]:
            s = pmml.Segment(weight=self.estimator.learning_rate)
            s.append(pmml.True_())
            s.append(DecisionTreeConverter(est, regression_context, ModelMode.REGRESSION)._model())
            segmentation.append(s)

        return segmentation
Checks whether a given hostmask is banned by the channel banlist.
dataset/ETHPy150Open alex-pirozhenko/sklearn-pmml/sklearn_pmml/convert/gbrt.py/GradientBoostingConverter.segmentation--crossover with--dataset/ETHPy150Open ProgVal/Limnoria/src/ircdb.py/IrcChannel.checkBan