文章目录
参数
Xgboost的参数分为三种:
通用参数(General Parameters)
该参数控制在提升(boosting)过程中使用哪种booster,常用的booster有树模型(tree)和线性模型(linear model)。
| 参数 | 说明 |
|---|---|
| booster | 有两种模型可以选择gbtree和gblinear,[default=gbtree]。gbtree使用基于树的模型进行提升计算,gblinear使用线性模型进行提升计算 |
| silent | 取0时表示打印出运行时信息,取1时不打印运行时的信息。[default=0] |
| nthread | [default 当前系统可以获得的最大线程数] |
| num_feature | boosting过程中用到的特征维数,设置为特征个数。XGBoost会自动设置,不需要手工设置 |
Booster参数(Booster Parameters)
这取决于使用哪种booster。
(1)tree booster
| 参数 | 说明 |
|---|---|
| eta | [default=0.3],为了防止过拟合,更新过程中用到的收缩步长。在每次提升计算之后,算法会直接获得新特征的权重。 eta通过缩减特征的权重使提升计算过程更加保守。 |
| gamma | [default=0],模型在默认情况下,对于一个节点的划分只有在其loss function 得到结果大于0的情况下才进行,而gamma 给定了所需的最低loss function的值 |
| max_depth | [default=6],树的深度越大,则对数据的拟合程度越高(过拟合程度也越高)。即该参数也是控制过拟合,常取值:3-10 |
| min_child_weight | [default=1],孩子节点中最小的样本权重和。如果一个叶子节点的样本权重和小于min_child_weight则拆分过程结束。在现行回归模型中,这个参数是指建立每个模型所需要的最小样本数。调大这个参数能够控制过拟合,取值范围为: [0,∞] |
| max_delta_step | [default=0],通常不需要此参数 |
| subsample | [default=1],用于训练模型的子样本占整个样本集合的比例。如果设置为0.5则意味着XGBoost将随机的从整个样本集合中抽取出50%的子样本建立树模型,这能够防止过拟合。 |
| colsample_bytree | [default=1],在建立树时对特征随机采样的比例 |
| scale_pos_weight | [default=0],大于0的取值可以处理类别不平衡的情况。帮助模型更快收敛 |
(2)linear booster
| 参数 | 说明 |
|---|---|
| lambda | [default=0],L2 正则的惩罚系数 |
| alpha | [default=0],L1 正则的惩罚系数 |
| lambda_bias | [default=0],在偏置上的L2正则 |
学习目标参数(Task Parameters)
控制学习的场景,例如在回归问题中会使用不同的参数控制排序
| 参数 | 说明 |
|---|---|
| objective | [ default=reg:linear ],定义学习任务及相应的学习目标,可选的目标函数如下: “reg:linear”,线性回归(默认值)。 “reg:logistic”,逻辑回归。 “binary:logistic”,二分类的逻辑回归问题,输出为概率。 “multi:softmax”,采用softmax函数处理多分类问题,同时需要设置参数num_class用于指定类别个数 |
| eval_metric | 用于指定评估指标,可以传递各种评估方法组成的list。常用的评估指标如下: rmse’,用于回归任务 ‘mlogloss’,用于多分类任务 error’,用于二分类任务 ‘auc’,用于二分类任务 |
| seed | [ default=0 ],随机数的种子 |
| num_class | 用于设置多分类问题的类别个数。 |
实例
XGBClassifier
1、初始化模型
from xgboost import XGBClassifier
# 重要参数:
xgb_model = XGBClassifier(
max_depth=3,
learning_rate=0.1,
n_estimators=100, # 使用多少个弱分类器
objective='binary:logistic',
booster

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



