def _assemble_multi_class_output(self, trees): # Multi-class output is calculated based on discussion in # https://github.com/dmlc/xgboost/issues/1746#issuecomment-295962863 splits = _split_trees_by_classes(trees, self._output_size) base_score = self._base_score exprs = [self._assemble_single_output(t, base_score) for t in splits] proba_exprs = utils.softmax_exprs(exprs) return ast.VectorVal(proba_exprs)
def _assemble_multi_class_output(self, estimator_params): # Multi-class output is calculated based on discussion in # https://github.com/dmlc/xgboost/issues/1746#issuecomment-295962863 splits = _split_estimator_params_by_classes( estimator_params, self._output_size) base_score = self._base_score exprs = [ self._assemble_single_output(e, base_score=base_score, split_idx=i) for i, e in enumerate(splits) ] proba_exprs = utils.softmax_exprs(exprs) return ast.VectorVal(proba_exprs)