XGBoost参数解释

XGBoost参数解释
前⾔
本⽂中针对XGBoost的参数说明进⾏部分翻译得来,。因⽽本⽂中只对⼀些关键参数进⾏了翻译,且由于本⼈能⼒有限,⽂中难免存在错误的地⽅,还望指正。以下是⼤致翻译内容。
在运⾏XGboost之前, 我们必须设置三种类型的参数: 通⽤参数(general parameters),Booster 参数(booster parameters)和学习⽬标参数(task parameters)
· 通⽤参数决定了那种Booster被我们选择⽤于Boosting, 通常是线性和树型模型,也就是⽤于宏观函数控制
· Booster参数取决于选择的Booster类型,⽤于控制每⼀步的booster
· 学习任务参数决定学习策略。例如,回归任务可以使⽤不同的参数和排序任务
· 命令⾏参数取决于xgboost的CLI版本
General Parameters
1. booster [缺省值=gbtree]
决定那个使⽤那个booster,可以是gbtree,gblinear或者dart。 gbtree和dart使⽤基于树的模型,⽽gblinear 使⽤线性函数.
2. silent [缺省值=0]
设置为0打印运⾏信息;设置为1静默模式,不打印
3. nthread [缺省值=设置为最⼤可能的线程数]
并⾏运⾏xgboost的线程数,输⼊的参数应该<=系统的CPU核⼼数,若是没有设置算法会检测将其设置为CPU的全部核⼼数 下⾯的两个参数不需要设置,使⽤默认的就好了
4. num_pbuffer [xgboost⾃动设置,不需要⽤户设置]抗体亲和力
预测结果缓存⼤⼩,通常设置为训练实例的个数。该缓存⽤于保存最后boosting操作的预测结果。
5. num_feature [xgboost⾃动设置,不需要⽤户设置]
在boosting中使⽤特征的维度,设置为特征的最⼤维度
Parameters for Tree Booster
1. eta [缺省值=0.3,别名:learning_rate]
更新中减少的步长来防⽌过拟合。在每次boosting之后,可以直接获得新的特征权值,这样可以使得boosting更加鲁棒。
范围: [0,1]
2. gamma [缺省值=0,别名: min_split_loss](分裂最⼩loss)
在节点分裂时,只有分裂后损失函数的值下降了,才会分裂这个节点。Gamma指定了节点分裂所需的最⼩损失函数下降值。 这个参数的值越⼤,算法越保守。这个参数的值和损失函数息息相关,所以是需要调整的。
范围: [0,∞]
3. max_depth [缺省值=6]
这个值为树的最⼤深度。 这个值也是⽤来避免过拟合的。max_depth越⼤,模型会学到更具体更局部的样本。设置为0代表没有限制 范围: [0,∞]
4. min_child_weight [缺省值=1]
决定最⼩叶⼦节点样本权重和。XGBoost的这个参数是最⼩样本权重的和,⽽GBM参数是最⼩样本总数。 这个参数⽤于避免过拟合。当它的值较⼤时,可以避免模型学习到局部的特殊样本。 但是如果这个值过⾼,会导致⽋拟合。这个参数需要使⽤CV来调整。.
范围: [0,∞]
5. subsample [缺省值=1]
这个参数控制对于每棵树,随机采样的⽐例。 减⼩这个参数的值,算法会更加保守,避免过拟合。但是,如果这个值设置得过⼩,它可能会导致⽋拟合。 典型值:0.5-1,0.5代表平均采样,防⽌过拟合.
范围: (0,1]
6. colsample_bytree [缺省值=1]
⽤来控制每棵随机采样的列数的占⽐(每⼀列是⼀个特征)。 典型值:0.5-1
范围: (0,1]
7. colsample_bylevel [缺省值=1]
⽤来控制树的每⼀级的每⼀次分裂,对列数的采样的占⽐。 我个⼈⼀般不太⽤这个参数,因为subsample参数和colsample_bytree 参数可以起到相同的作⽤。但是如果感兴趣,可以挖掘这个参数更多的⽤处。智能行车电脑
范围: (0,1]
8. lambda [缺省值=1,别名: reg_lambda]
权重的L2正则化项。(和Ridge regression类似)。 这个参数是⽤来控制XGBoost的正则化部分的。虽然⼤部分数据科学家很少⽤到这个参数,但是这个参数在减少过拟合上还是可以挖掘出更多⽤处的。.
9. alpha [缺省值=0,别名: reg_alpha]
我为人民鼓与呼权重的L1正则化项。(和Lasso regression类似)。 可以应⽤在很⾼维度的情况下,使得算法的速度更快。
10. scale_pos_weight[缺省值=1]
在各类别样本⼗分不平衡时,把这个参数设定为⼀个正值,可以使算法更快收敛。通常可以将其设置为负样本的数⽬与正样本数⽬的⽐值。
Parameters for Linear Booster
1. lambda [缺省值=0,别称: reg_lambda]
L2正则化惩罚系数,增加该值会使得模型更加保守。
2. alpha [缺省值=0,别称: reg_alpha]
L2正则化惩罚系数,增加该值会使得模型更加保守。
dsp技术3. lambda_bias [缺省值=0,别称: reg_lambda_bias]
偏置上的L2正则化(没有在L1上加偏置,因为并不重要)
Learning Task Parameterswww.ddd20
1. objective [缺省值=reg:linear]
“reg:linear” – 线性回归
“reg:logistic” – 逻辑回归
“binary:logistic” – ⼆分类逻辑回归,输出为概率
“binary:logitraw” – ⼆分类逻辑回归,输出的结果为wTx
“count:poisson” – 计数问题的poisson回归,输出结果为poisson分布。在poisson回归中,max_delta_step的缺省值为0.7 (used to safeguard optimization)
“multi:softmax” – 设置 XGBoost 使⽤softmax⽬标函数做多分类,需要设置参数num_class(类别个数)柴油告急
“multi:softprob” – 如同softmax,但是输出结果为ndata*nclass的向量,其中的值是每个数据分为每个类的概率。
2. eval_metric [缺省值=通过⽬标函数选择]
可供选择的如下所⽰:
“rmse”: 均⽅根误差
“mae”: 平均绝对值误差
“logloss”: negative log-likelihood
“error”: ⼆分类错误率。其值通过错误分类数⽬与全部分类数⽬⽐值得到。对于预测,预测值⼤于0.5被认为是正嘞,其它归为负类。
“error@t”: 不同的划分阈值可以通过 ‘t’进⾏设置
“merror”: 多分类错误率,计算公式为(wrong cases)/(all cases)
“mlogloss”: 多分类log损失
“auc”: 曲线下的⾯积
“ndcg”:Normalized Discounted Cumulative Gain
“map”: 平均正确率
3. seed [缺省值=0]
随机数的种⼦ 设置它可以复现随机数据的结果,也可以⽤于调整参数
Command Line Parameters
⼀下的参数只⽤于命令⾏版本的XGBoost版本中。
1. use_buffer [缺省值=1]
是否为⽂本输⼊创建⼆进制缓存。这样做将加快加载速度。
2. num_round
boosting的迭代次数。
3. data
训练数据的路径
4. test:data
⽤作预测的测试数据路径
5. save_period [缺省值=0]
保存参数模型的周期
6. task [缺省值=train] 可选项: train, pred, eval, dump
train: 使⽤data训练
pred: 使⽤test:data做预测
eval: 进⾏评估统计,由eval[name]=filename指定
dump: 将学习的模型导出到⽂本格式
7. model_in [缺省值=NULL]
输⼊模型的路径,被⽤于test, eval, dump。在training中,XGBoost将会从输⼊模型的基础上继续进⾏训练。
8. model_out [缺省值=NULL]
训练完成之后模型的保存路径。如果没有指定将会使⽤诸如del,这⾥的 0003是boosting的迭代数 9. model_dir [缺省值=models]
训练期间的训练模型输出⽂件夹
10. fmap
特征图谱,被⽤于dump模式
11. name_dump [缺省值=]
模型dump⽂件的名称
12. name_pred [缺省值=]
预测⽂件的名称,被⽤于pred模式
13. pred_margin [缺省值=0]
predict margin ⽽不是转换概率

本文发布于:2024-09-20 11:57:33,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/685216.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:参数   设置   模型   分类   回归   拟合   输出   训练
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议