A new parameter `custom_metric` is added to `train` and `cv` to distinguish the behaviour from the old `feval`. And `feval` is deprecated. The new `custom_metric` receives transformed prediction when the built-in objective is used. This enables XGBoost to use cost functions from other libraries like scikit-learn directly without going through the definition of the link function. `eval_metric` and `early_stopping_rounds` in sklearn interface are moved from `fit` to `__init__` and is now saved as part of the scikit-learn model. The old ones in `fit` function are now deprecated. The new `eval_metric` in `__init__` has the same new behaviour as `custom_metric`. Added more detailed documents for the behaviour of custom objective and metric.
This folder contains test cases for XGBoost c++ core, Python package and some other CI facilities.
Directories
- ci_build: Test facilities for Jenkins CI and GitHub action.
- cli: Basic test for command line executable
xgboost. Most of the other command line specific tests are in Python testtest_cli.py - cpp: Tests for C++ core, using Google test framework.
- python: Tests for Python package, demonstrations and CLI. For how to setup the
dependencies for tests, see conda files in
ci_build. - python-gpu: Similar to python tests, but for GPU.
- travis: CI facilities for Travis.
- distributed: Legacy tests for distributed system. Most of the distributed tests are
in Python tests using
daskand jvm package usingspark. - benchmark: Legacy benchmark code. There are a number of benchmark projects for XGBoost with much better configurations.
Others
- pytest.ini: Describes the
pytestmarker for python tests, some markers are generated byconftest.pyfile.