Changed the name of eval_results to evals_result, so that the naming is the same in training.py and sklearn.py
Made the structure of evals_result the same as in training.py, the names of the keys are different:
In sklearn.py you cannot name your evals_result, but they are automatically called 'validation_0', 'validation_1' etc.
The dict evals_result will output something like: {'validation_0': {'logloss': ['0.674800', '0.657121']}, 'validation_1': {'logloss': ['0.63776', '0.58372']}}
In training.py you can name your multiple evals_result with a watchlist like: watchlist = [(dtest,'eval'), (dtrain,'train')]
The dict evals_result will output something like: {'train': {'logloss': ['0.68495', '0.67691']}, 'eval': {'logloss': ['0.684877', '0.676767']}}
You can access the evals_result using the evals_result() function.
eXtreme Gradient Boosting
An optimized general purpose gradient boosting library. The library is parallelized, and also provides an optimized distributed version.
It implements machine learning algorithms under the Gradient Boosting framework, including Generalized Linear Model (GLM) and Gradient Boosted Decision Trees (GBDT). XGBoost can also be distributed and scale to Terascale data
XGBoost is part of Distributed Machine Learning Common <img src=https://avatars2.githubusercontent.com/u/11508361?v=3&s=20> projects
Contents
- What's New
- Version
- Documentation
- Build Instruction
- Features
- Distributed XGBoost
- Usecases
- Bug Reporting
- Contributing to XGBoost
- Committers and Contributors
- License
- XGBoost in Graphlab Create
What's New
- XGBoost helps Owen Zhang to win the Avito Context Ad Click competition. Check out the interview from Kaggle.
- XGBoost helps Chenglong Chen to win Kaggle CrowdFlower Competition Check out the winning solution
- XGBoost-0.4 release, see CHANGES.md
- XGBoost helps three champion teams to win WWW2015 Microsoft Malware Classification Challenge (BIG 2015) Check out the winning solution
- External Memory Version
Version
- Current version xgboost-0.4
- Change log
- This version is compatible with 0.3x versions
Features
- Easily accessible through CLI, python, R, Julia
- Its fast! Benchmark numbers comparing xgboost, H20, Spark, R - benchm-ml numbers
- Memory efficient - Handles sparse matrices, supports external memory
- Accurate prediction, and used extensively by data scientists and kagglers - highlight links
- Distributed version runs on Hadoop (YARN), MPI, SGE etc., scales to billions of examples.
Bug Reporting
- For reporting bugs please use the xgboost/issues page.
- For generic questions or to share your experience using xgboost please use the XGBoost User Group
Contributing to XGBoost
XGBoost has been developed and used by a group of active community members. Everyone is more than welcome to contribute. It is a way to make the project better and more accessible to more users.
- Check out Feature Wish List to see what can be improved, or open an issue if you want something.
- Contribute to the documents and examples to share your experience with other users.
- Please add your name to CONTRIBUTORS.md after your patch has been merged.
License
© Contributors, 2015. Licensed under an Apache-2 license.
XGBoost in Graphlab Create
- XGBoost is adopted as part of boosted tree toolkit in Graphlab Create (GLC). Graphlab Create is a powerful python toolkit that allows you to do data manipulation, graph processing, hyper-parameter search, and visualization of TeraBytes scale data in one framework. Try the Graphlab Create
- Nice blogpost by Jay Gu about using GLC boosted tree to solve kaggle bike sharing challenge:
Description
Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Dask, Flink and DataFlow
Languages
C++
45.5%
Python
20.3%
Cuda
15.2%
R
6.8%
Scala
6.4%
Other
5.6%