Xgboost的sklearn接⼝参数说明
1from xgboost.sklearn import XGBClassifier
2 model=XGBClassifier(base_score=0.5, booster='gbtree', colsample_bylevel=1,
3        colsample_bytree=1, gamma=0, learning_rate=0.1, max_delta_step=0,
4        max_depth=3, min_child_weight=1, missing=None, n_estimators=100,
5        n_jobs=1, nthread=None, objective='binary:logistic', random_state=0,
6        reg_alpha=0, reg_lambda=1, scale_pos_weight=1, seed=None,
7        silent=True, subsample=1)
1、通⽤参数(控制Xgboost的宏观功能)
booster: [default=gbtree]
gbtree: tree-based models,树模型做为基分类器
gblinear: linear models,线性模型做为基分类器
silent:[default=True]
silent=True时,不输出中间过程(默认)
silent=Flase时,输出中间过程
nthread:[default=None]
主要⽤于并⾏计算,系统的内核数需要作为变量。如果希望运⾏所有的内核,就不需要设置该参数,程序会⾃⼰检测到该值。
n_jobs:[default=1]
线程数⽬
2、Booster参数(控制每⼀步的Booster(tree\regression))
有两种booster可以选择,但是tree booster的效果⽐ linear booster效果好太多,因此linear booster很少⽤到。
learning_rate:[default=0.1]
原名eta,学习率,控制每次迭代更新权重时的步长。值越⼩,训练的越慢。取值范围:[0,1]。典型值为0.01~0.2
n_estimators:[default=100]
估计器的数量
min_child_weight:[default=1]
拆分节点权重和阈值
如果节点的样本权重和⼩于该阈值,就不再进⾏拆分。在线性回归模型中,这个是指建⽴每个模型所需要的最⼩样本数。
值越⼤,算法越保守。取值范围为:[0,∞]
⽤于防⽌过拟合问题:较⼤的值能防⽌过拟合,过⼤的值会导致⽋拟合问题
需要通过CV调参
max_depth:[default=3]
每个基本学习器树的最⼤深度,⽤于防⽌过拟合问题。通过CV调参。典型值:3~10
gamma:[default=0]
损失阈值,在树的⼀个叶节点上进⼀步分裂所需的最⼩损失减少量,gamma值越⼤,算法越保守。取值范围为:[0,∞]
max_delta_step:[default=0]
每棵树的最⼤权重估计。如果它的值被设置为0,意味着没有约束;如果它被设置为⼀个正值,能够权重的变化将会变得相对保守。通常这个参数不会被使⽤,但如果是极度不平衡的逻辑回归将会有所帮助。把它范围设置为1-10之间也许能控制更新。取值范围为:[0,∞]
subsample:[default=1]
随机选取⼀定⽐例的样本来训练树。设置为0.5,则意味着XGBoost将从整个样本集合中随机的抽取出50%⼦样本建⽴树模型,这能够防⽌过拟合。
取值范围为:(0,1]。减⼩这个参数的值,算法会更加保守,避免过拟合。但是,如果这个值设置得过⼩,它可能会导致⽋拟合。典型值:0.5-1。
colsample_bytree:[default=1]
指的是每棵树随机选取的特征的⽐例,取值范围(0,1]。
colsample_bylevel: [default=1]
指的是树的每个层级分裂时⼦样本的特征所占的⽐例,这个⼀般很少⽤。因为subsample和colsample_bytree组合做的事与之类似。
reg_alpha:[default=0]
权重的L1正则化项(和Lasso regression类似)。这个主要是⽤在数据维度很⾼的情况下,可以提⾼运⾏速度。
reg_lambda:[default=1]
权重的L2正则化项(和Ridge regression类似)。这个参数是⽤来控制XGBoost的正则化部分的。虽然⼤部分数据科学家很少⽤到这个参数,但是这个参数在减少过拟合上还是可以挖掘出更多⽤处的。
正则化是为了防止
scale_pos_weight:[default=1]
处理样本不平衡问题。在样本⾼度不平衡时,将参数设置⼤于0,可以加快算法收敛。
3、学习⽬标参数
objective:指的是需要被最⼩化的损失函数。
“reg:linear”        线性回归
“reg:logistic”      逻辑回归
“binary:logistic”  ⼆分类的逻辑回归,返回的是预测概率(不是类别)
“binary:logitraw”  ⼆分类的逻辑回归,返回的结果为w T x
“count:poisson”  计数问题的poisson回归,输出结果为poisson分布。在poisson回归中,max_delta_step的缺省值为0.7。(used to safeguard optimization)
“multi:softmax”  采⽤softmax⽬标函数处理多分类问题,需要多设置⼀个参数num_class(类别个数),返回预测的类别(不是概率)。
“multi:softprob”  和multi:softmax参数类似,但是输出结果是每个样本属于各个类别的概率。
“rank:pairwise”  set XGBoost to do ranking task by minimizing the pairwise loss
seed:[default=None]
随机数种⼦,设置它可以复现随机数据的结果,也可以⽤于调整参数。
4、其他
base_score: [default=0.5]
所有实例的初始预测得分,整体偏倚。
missing:[default=None]
在数据中,标注为缺失值的表⽰。如果为None,则默认为np.nan
random_state:[default=0]

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