XGBoost 是极致优化的梯度提升框架,通过并行处理、正则化和近似算法显著提升性能。
核心特性
- 并行计算优化
- 正则化防止过拟合
- 高效处理缺失值
- 树剪枝与分位数优化
目标函数
正则项:
关键参数
| 参数 | 描述 | 典型值 |
|---|---|---|
| learning_rate | 学习率 | 0.01-0.3 |
| max_depth | 树的最大深度 | 3-10 |
| min_child_weight | 叶子节点最小权重和 | 1-10 |
| gamma | 分裂所需最小损失减少 | 0-1 |
| subsample | 样本采样率 | 0.5-1 |
| colsample_bytree | 特征采样率 | 0.5-1 |
适用场景
适用:表格数据、大规模数据集、特征重要性分析、竞赛高精度场景
不适用:图像/音视频处理、小样本学习、在线学习
代码示例
import xgboost as xgb
dtrain = xgb.DMatrix(X_train, label=y_train)
params = {
'objective': 'reg:squarederror',
'learning_rate': 0.05,
'max_depth': 6
}
model = xgb.train(params, dtrain, num_boost_round=1000)最新进展
| 发展 | 说明 |
|---|---|
| GPU加速 | tree_method='gpu_hist' |
| ONNX支持 | 跨平台部署 |
| SHAP集成 | 模型可解释性 |