* Define `best_iteration` only if early stopping is used. This is the behavior specified by the document but not honored in the actual code. - Don't set the attributes if there's no early stopping. - Clean up the code for callbacks, and replace assertions with proper exceptions. - Assign the attributes when early stopping `save_best` is used. - Turn the attributes into Python properties. --------- Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu>
======================
XGBoost Python Package
======================
|PyPI version|
Installation
============
From `PyPI <https://pypi.python.org/pypi/xgboost>`_
---------------------------------------------------
For a stable version, install using ``pip``::
pip install xgboost
.. |PyPI version| image:: https://badge.fury.io/py/xgboost.svg
:target: http://badge.fury.io/py/xgboost
For building from source, see `build <https://xgboost.readthedocs.io/en/latest/build.html>`_.