From 16796a76cd284084cde4cd89ad6704e532cccd22 Mon Sep 17 00:00:00 2001 From: Anurag Raj <181159358+Virtuoso-8051@users.noreply.github.com> Date: Fri, 3 Apr 2026 16:38:01 +0000 Subject: [PATCH] Fix: Add XGBoost 2.0+ compatibility for list and NoneType base_score --- m2cgen/assemblers/boosting.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/m2cgen/assemblers/boosting.py b/m2cgen/assemblers/boosting.py index 66bf8baf..fbc8a89f 100644 --- a/m2cgen/assemblers/boosting.py +++ b/m2cgen/assemblers/boosting.py @@ -77,7 +77,15 @@ def _assemble_bin_class_output(self, estimator_params): # return -logf(1.0f / base_score - 1.0f); base_score = 0.0 if self._base_score != 0.0: - base_score = -math.log(1.0 / self._base_score - 1.0) + #base_score = -math.log(1.0 / self._base_score - 1.0) + # Extract base_score properly for XGBoost 2.0+ compatibility + current_score = self._base_score + if current_score is None: + current_score = 0.5 + elif isinstance(current_score, list): + current_score = current_score[0] + + base_score = -math.log(1.0 / current_score - 1.0) expr = self._assemble_single_output(estimator_params, base_score=base_score)