logo

XGBoost 使用

王哲峰 / 2023-03-02


目录

XGBoost 参数

通用参数

控制整个模型的通用性能

Tree Booster 参数

控制每步迭代中每个基学习器(树模型)

需要调参:

一般不需要调参:

Linear Booster 参数

学习任务参数

控制模型优化的表现

参数调节

参数调优的一般策略:

  1. 首先, 选择一个相对较大的 eta/learning_rate, 比如: 0.1(一般范围在: $[0.05, 0.3]$)
    • 根据这个选定的 learning_rate,对树的数量 n_estimators 进行 CV 调优, 选择一个最优的 n_estimators
  2. 依次调节树参数
    • max_depth
      • $[3, 10]$
    • min_child_weight
      • 类别不平衡数据选择一个较小值
    • gamma
      • $[0.1, 0.2]$
    • subsample
      • $[0.5, 0.9]$
    • colsample_bytree
      • $[0.5, 0.9]$
    • scale_pos_weight
      • 类别不平衡数据选择一个较小值
  3. 调节正则化参数
    • lambda: L2
    • alpha: L1
  4. 减小 learning_rate, 增加决策树数量 n_estimators,并且优化其他参数
  5. 调节对模型结果影响最大的参数
    • max_depth
    • min_child_weight

参考