SuperAPI AI 工具集

xgboost

数据与分析

查看项目

更新于 10-15 21:49

技能介绍

用途:XGBoost 是面向表格数据的高效分布式梯度提升库,适合分类与回归任务,常用于数据竞赛与工业级生产场景。

主要能力:

  • 提供 sklearn 兼容 API(如 XGBClassifier)以及原生 xgb.train 训练方式。
  • 支持 GPU 加速树构建:tree_method="hist" 搭配 device="cuda"。
  • 自动为缺失值分配分支方向,无需手动插补。
  • 支持单调特征约束 monotone_constraints,可用业务规则限制预测方向。
  • 支持早停(early_stopping_rounds 或 EarlyStopping 回调)防止过拟合。

必要用法:

  • 使用 sklearn API:xgb.XGBClassifier(n_estimators=100, learning_rate=0.05, max_depth=6, tree_method="hist", device="cuda"),然后 model.fit(X_train, y_train)。
  • 原生训练:dtrain = xgb.DMatrix(X_train, label=y_train);bst = xgb.train(params, dtrain, num_boost_round=1000, evals=evals, callbacks=[xgb.callback.EarlyStopping(rounds=50, save_best=True)])。
  • 模型保存:clf.save_model("xgboost_model.json");加载:loaded_clf.load_model("xgboost_model.json")。

适用场景:表格数据竞赛、工业预测、GPU 大规模训练、含缺失值或高基数类别特征的数据(可用 enable_categorical=True)、需要单调约束的受监管业务(如信用评分)。

限制与注意事项:

  • 不要使用已弃用的 gpu_hist,应改用 tree_method="hist" 加 device="cuda"。
  • 推理时 DataFrame 列须与训练时顺序和名称一致。
  • GPU 不可用时应设 device="cpu" 或检查 nvidia-smi。
  • 过拟合时可降低 max_depth 并调整 reg_alpha、reg_lambda。
  • 具体收费、价格与版本支持情况资料未提供。