Skip to content

Commit 3dd6d9c

Browse files
authored
Merge pull request #6570 from PrimozGodec/fix-xgboost
Gradient boosting - Adapt tests to version xgboost=2; move xgboost/catboost to regular requirements
2 parents 480930e + 68b5d5f commit 3dd6d9c

File tree

7 files changed

+17
-22
lines changed

7 files changed

+17
-22
lines changed

.github/workflows/test.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -148,10 +148,6 @@ jobs:
148148
with:
149149
python-version: ${{ matrix.python-version }}
150150

151-
- name: Install system dependencies on MacOS
152-
run: brew install libomp
153-
if: runner.os == 'macOS'
154-
155151
- name: Install dependencies
156152
run: |
157153
python -m pip install --upgrade pip

Orange/widgets/model/tests/test_owgradientboosting.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,14 @@
3636
from Orange.widgets.widget import OWWidget
3737

3838

39+
def get_tree_train_params(model):
40+
ln = json.loads(model.skl_model.get_booster().save_config())["learner"]
41+
try:
42+
return ln["gradient_booster"]["tree_train_param"]
43+
except KeyError:
44+
return ln["gradient_booster"]["updater"]["grow_colmaker"]["train_param"]
45+
46+
3947
def create_parent(editor_class):
4048
class DummyWidget(OWWidget):
4149
name = "Mock"
@@ -158,9 +166,7 @@ def test_default_parameters_cls(self):
158166
booster = XGBClassifier()
159167
model = booster(data)
160168
params = model.skl_model.get_params()
161-
booster_params = json.loads(model.skl_model.get_booster().save_config())
162-
updater = booster_params["learner"]["gradient_booster"]["updater"]
163-
tp = updater["grow_colmaker"]["train_param"]
169+
tp = get_tree_train_params(model)
164170
self.assertEqual(params["n_estimators"], self.editor.n_estimators)
165171
self.assertEqual(
166172
round(float(tp["learning_rate"]), 1), self.editor.learning_rate
@@ -178,9 +184,7 @@ def test_default_parameters_reg(self):
178184
booster = XGBRegressor()
179185
model = booster(data)
180186
params = model.skl_model.get_params()
181-
booster_params = json.loads(model.skl_model.get_booster().save_config())
182-
updater = booster_params["learner"]["gradient_booster"]["updater"]
183-
tp = updater["grow_colmaker"]["train_param"]
187+
tp = get_tree_train_params(model)
184188
self.assertEqual(params["n_estimators"], self.editor.n_estimators)
185189
self.assertEqual(
186190
round(float(tp["learning_rate"]), 1), self.editor.learning_rate
@@ -223,9 +227,7 @@ def test_default_parameters_cls(self):
223227
booster = XGBRFClassifier()
224228
model = booster(data)
225229
params = model.skl_model.get_params()
226-
booster_params = json.loads(model.skl_model.get_booster().save_config())
227-
updater = booster_params["learner"]["gradient_booster"]["updater"]
228-
tp = updater["grow_colmaker"]["train_param"]
230+
tp = get_tree_train_params(model)
229231
self.assertEqual(params["n_estimators"], self.editor.n_estimators)
230232
self.assertEqual(
231233
round(float(tp["learning_rate"]), 1), self.editor.learning_rate
@@ -243,9 +245,7 @@ def test_default_parameters_reg(self):
243245
booster = XGBRFRegressor()
244246
model = booster(data)
245247
params = model.skl_model.get_params()
246-
booster_params = json.loads(model.skl_model.get_booster().save_config())
247-
updater = booster_params["learner"]["gradient_booster"]["updater"]
248-
tp = updater["grow_colmaker"]["train_param"]
248+
tp = get_tree_train_params(model)
249249
self.assertEqual(params["n_estimators"], self.editor.n_estimators)
250250
self.assertEqual(
251251
round(float(tp["learning_rate"]), 1), self.editor.learning_rate

conda-recipe/meta.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ requirements:
6969
- cachecontrol >=0.12.6
7070
- qtconsole >=4.7.2
7171
- pygments >=2.8.0
72+
- catboost >=1.0.1
73+
- xgboost >=1.7.4
7274

7375
test:
7476
# Python imports

requirements-core.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,5 @@ pandas>=1.4.0,!=1.5.0,!=2.0.0
2626
pyyaml
2727
openpyxl
2828
httpx>=0.21.0
29+
catboost>=1.0.1
30+
xgboost>=1.7.4

requirements-opt.txt

Lines changed: 0 additions & 2 deletions
This file was deleted.

requirements-readthedocs.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,4 @@ cython
33
-r requirements-doc.txt
44
-r requirements-gui.txt
55
-r requirements-pyqt.txt
6-
# for orange data mining library catboost and xgboost required
7-
-r requirements-opt.txt
86
-e .

tox.ini

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ deps =
3030
pyqt5==5.15.*;platform_system!="Windows" or python_version>='3.10'
3131
pyqtwebengine==5.12.*;platform_system=="Windows" and python_version<'3.10'
3232
pyqtwebengine==5.15.*;platform_system!="Windows" or python_version>='3.10'
33-
-r {toxinidir}/requirements-opt.txt
3433
coverage
3534
psycopg2-binary
3635
pymssql<3.0
@@ -66,7 +65,7 @@ deps =
6665
# oldest: pyyaml
6766
# oldest: openpyxl
6867
oldest: httpx==0.21.0
69-
oldest: xgboost==1.5.0
68+
oldest: xgboost==1.7.4
7069
oldest: catboost==1.0.1
7170

7271
commands_pre =

0 commit comments

Comments
 (0)