XGBoost Hyperparameters Tuning
Recently there’s quite a few research learning papers detailing work in attempt to unseat XGBoost from the crown of the best model for tabular data. Though none has worked well enough, the biggest contributions of these papers are the XGBoost hyperparameter ranges that they used to tune the models for comparison. The following outlined the ranges used.
Tabular Data: Deep Learning is Not All You Need
Hyperopt
Hyperparameter | Distribution | Range |
---|---|---|
Eta | Log-Uniform distribution | [e−7,1] |
Max depth | Discrete uniform distribution | [1,10] |
Subsample | Uniform distribution | [0.2,1] |
Colsample bytree | Uniform distribution | [0.2,1] |
Colsample bylevel | Uniform distribution | [0.2,1] |
Min child weight | Log-Uniform distribution | [e−16, e5] |
Alpha | Uniform choice | {0, Log-Uniform distribution [e−16, e2]} |
Lambda | Uniform choice | {0, Log-Uniform distribution [e−16, e2]} |
Gamma | Uniform choice | {0, Log-Uniform distribution [e−16, e2]} |
Regularization is all you Need: Simple Neural Nets can Excel on Tabular Data
Auto-sckit learn, no one hot encoding
Hyperparameter | Type | Range | Log scale |
---|---|---|---|
eta | Continuous | [0.001,1] | X |
lambda | Continuous | [1e−10,1] | X |
alpha | Continuous | [1e−10,1] | X |
num_round | Integer | [1,1000] | - |
gamma | Continuous | [0.1,1] | X |
colsample_bylevel | Continuous | [0.1,1] | - |
colsample_bynode | Continuous | [0.1,1] | - |
colsample_bytree | Continuous | [0.5,1] | - |
max_depth | Integer | [1,20] | - |
max_delta_step | Integer | [0,10] | - |
min_child_weight | Continuous | [0.1,20] | X |
subsample | Continuous | [0.01,1] | - |
AWS: Tune an XGBoost Model
Lastly, recommendations from AWS.
Parameter Name | Parameter Type | Recommended Ranges |
---|---|---|
alpha | ContinuousParameterRanges | MinValue: 0, MaxValue: 1000 |
colsample_bylevel | ContinuousParameterRanges | MinValue: 0.1, MaxValue: 1 |
colsample_bynode | ContinuousParameterRanges | MinValue: 0.1, MaxValue: 1 |
colsample_bytree | ContinuousParameterRanges | MinValue: 0.5, MaxValue: 1 |
eta | ContinuousParameterRanges | MinValue: 0.1, MaxValue: 0.5 |
gamma | ContinuousParameterRanges | MinValue: 0, MaxValue: 5 |
lambda | ContinuousParameterRanges | MinValue: 0, MaxValue: 1000 |
max_delta_step | IntegerParameterRanges | [0, 10] |
max_depth | IntegerParameterRanges | [0, 10] |
min_child_weight | ContinuousParameterRanges | MinValue: 0, MaxValue: 120 |
num_round | IntegerParameterRanges | [1, 4000] |
subsample | ContinuousParameterRanges | MinValue: 0.5, MaxValue: 1 |
References:
Tabular Data: Deep Learning is Not All You Need
Regularization is all you Need: Simple Neural Nets can Excel on Tabular Data
To cite this content, please use:
@article{
leehanchung,
author = {Lee, Hanchung},
title = {XGBoost Hyperparameters Tuning: Research Paper Edition},
year = {2021},
howpublished = {\url{https://leehanchung.github.io}},
url = {https://leehanchung.github.io/2021-07-17-xgboost-hyperparameter-tuning/}
}