XGBoost
Open-source gradient boosting library for classification, regression, and ranking, with Python and R interfaces, GPU acceleration, and distributed training support.
About XGBoost
XGBoost is a machine learning library focused on gradient boosting. It provides tree-based modeling capabilities for tasks including classification, regression, and ranking, with parameters for controlling training objectives and model behavior.
The library supports multiple language interfaces and includes a scikit-learn-compatible Python API. Developers can use it within existing data science workflows or connect it to distributed processing systems for suitable workloads.
GPU acceleration is available on supported configurations, but capabilities differ across operating systems and package builds. XGBoost is distributed under the Apache 2.0 license and can be used without a software license fee.
Key Features
- Gradient Boosting: Train boosted models for predictive tasks using configurable boosters and objectives.
- Classification and Regression: Model categorical outcomes and continuous numerical targets.
- Learning to Rank: Use ranking objectives for applications that order results by relevance.
- GPU Acceleration: Accelerate supported training, prediction, and evaluation operations with CUDA-capable GPUs.
- Distributed Execution: Integrate with systems including Dask, Spark, and PySpark for distributed workloads.
- Python Workflow Compatibility: Use native APIs or the scikit-learn estimator interface for training and prediction.
Pricing
- Open-Source Library: Free. XGBoost is distributed under the Apache 2.0 license. Computing resources, GPU infrastructure, and hosted platforms are separate costs.
Use Cases
- Build classification models from structured business data.
- Predict numerical outcomes using regression.
- Train ranking models for ordered search or recommendation results.
- Scale suitable boosting workloads through GPU or distributed execution.
Pros & Cons
Pros:
- Provides focused tooling for gradient boosting workflows.
- Fits into Python pipelines through its scikit-learn interface.
- Offers GPU and distributed execution options on supported platforms.
Cons:
- GPU capabilities vary by platform and binary package.
- The installation documentation restricts multi-GPU training to Linux.
Integrations
scikit-learn, Dask, Apache Spark, PySpark, RAPIDS Memory Manager
FAQ
What is XGBoost used for?
XGBoost is used for predictive modeling with gradient boosting. Its supported tasks include classification, regression, and ranking.
Is XGBoost free?
Yes. XGBoost is distributed under the Apache 2.0 license. Hardware, cloud computing, and external managed services may have separate charges.
Does XGBoost work with scikit-learn?
Yes. Its Python package includes a scikit-learn estimator interface for use in compatible modeling workflows.
Can XGBoost use a GPU?
Yes. Supported packages can accelerate training, prediction, and evaluation with CUDA-capable GPUs. Availability depends on the platform and installation.
Does XGBoost support distributed training?
Yes. Official documentation covers distributed integrations including Dask, Spark, and PySpark.
Can XGBoost train ranking models?
Yes. It includes learning-to-rank objectives and parameters for tasks that require ordering items by relevance.
Last edited
November 6, 2026 at 11:08 AM by Venkatraman Chandrasekaran
