XGBoost Python API参考以及各参数意义

简介: XGBoost Python API参考以及各参数意义

常规参数

参数 参数描述 可选值
booster 使用哪种增压器,可以是gbtree, gblinar或dart。Gbtree和dart采用基于树的模型,而gblinear采用线性函数 ‘gbtree’、‘gblinar’、‘dart’,默认gbtree
silent 是否打印运行信息 0代表打印,1,默认0
nthread 用于运行xgboost的并行线程数 默认最大数
num_pbuffer 预测缓冲区的大小,通常设置为训练实例的数量。缓冲器用于保存最后一个助推步的预测结果 xgboost会自动设置
num_feature 用于增强的特征维度,设置为特征的最大维度 xgboost会自动设置

用于Tree提升的参数

参数 参数描述 可选值
eta 更新时采用步长收缩,防止过拟合。在每一个推进步骤后,我们可以直接得到新特性的权重。eta实际上缩小了特征权值使推进过程更加保守 默认0.3
gamma 在树的叶子节点上做进一步分区所需的最小损失减少,越大,算法就越保守 默认0
max_depth 树的最大深度,增加这个值可能会使模型更加复杂,进而导致过拟合 默认6
min_child_weight 一个孩子所需的最小实例权重(hessian)之和。如果树分区步骤产生的叶子节点实例权重之和小于min_child_weight,则构建过程将放弃进一步分区。在线性回归模式中,这只是对应于每个节点中需要的最小实例数。越大,算法就越保守 默认1
max_delta_step 我们允许每棵树的权重估计的最大增量步长,如果该值设置为0,则表示没有约束,如果将其设置为正值,则有助于使更新步骤更加保守,通常不需要这个参数,但当类别极度不平衡时,它可能有助于逻辑回归,将其设置为1-10可能有助于控制更新 默认0
subsample 训练实例的子样本比率,将其设置为0.5意味着XGBoost随机收集了一半的数据实例来种生长树,这将防止过拟合 默认1
colsample 构造每棵树时列的子样本比率 默认1
colsamole_bylevel 在每层中,每个分割的列的子样本比率 默认1
alpha L1正则化项权重,增加该值会使模型更加保守 默认0
lambda L2正则化项权重,增加该值会使模型更加保守 默认0
tree_method XGBoost中使用的树构造算法 auto :使用启发式选择更快的一个。对于小型到中型数据集,将使用精确贪婪。对于非常大的数据集,我们会选择近似算法。exact :精确贪婪算法。approx:使用草图和直方图的近似贪婪算法。 默认auto,exact,approx
sketch_eps 这只用于近似贪婪算法,这大致转化为(1 / sketch_eps)数量的箱子,与直接选择箱子的数量相比,这具有草图准确性的理论保证,通常用户不需要对此进行调优。但是为了更精确的枚举,可以考虑设置为更低的数字 默认0.03
scale_pos_weight 控制正负权重的平衡,对不平衡类有用 默认0

用于Dart Booster的其它参数

参数 参数描述 可选值
sample_type 采样算法类型,“uniform”:统一选择掉落的树,“weighted”:根据权重选择掉落的树 uniform、weighted
normalize_type 归一化算法类型,“tree”:新树的每棵掉落的树的重量相同,新树的权重是1 / (k + learnig_rate)下降的树按k / (k + learning_rate)因子进行缩放,“forest”:新树的重量与掉下来的树(森林)的总重量相同,新树的权重是1 / (1 + learning_rate)下降的树按1 / (1 + learning_rate)的因子进行缩放 默认tree
rate_drop 丢失率 默认0
skip_drop 跳过丢失的可能性,如果跳过了dropout,则以与gbtree相同的方式添加新的树 默认0

用于Linear Booster的参数

参数 参数描述 可选值
alpha L1正则化项对权重,增加该值会使模型更加保守 默认0
lambda L2正则化项对权重,增加该值会使模型更加保守 默认0
lambda_bias 偏差上的L2正则化项,默认为0(偏差上没有L1正则项,因为它不重要)

学习任务的参数

参数 参数描述 可选值
objective 明确学习任务和相应的学习目标 默认reg:linear
reg:linear 线性回归
reg:logistic 逻辑回归
binary:logistic 二分类Logistic回归,输出概率
binary:logitraw 二分类Logistic回归,Logistic变换前的输出分数
count:poisson 统计数据的泊松回归,泊松分布的输出均值
multi:softmax 设置XGBoost来使用softmax目标进行多类分类,您还需要设置num_class(类的数量)
multi:softprob 与softmax相同,但输出一个ndata * nclass向量,可以进一步重塑为ndata, nclass矩阵。结果包含了属于每一类的每个数据点的预测概率
rank:pairwise 将XGBoost设置为通过最小化成对损失来执行排序任务
reg:gamma 严重程度数据的伽马回归,伽马分布的输出平均值
base_score 所有实例的初始预测得分,全局偏置,对于足够的迭代次数,更改这个值不会有太大的效果。 默认0.5
seed 随机数种子 默认0
eva_metric 用于验证数据的评估指标,将根据目标(用于回归的均方根误差,用于分类的误差,用于排序的平均精度)分配一个默认指标 默认通过objective
用户可以添加多个评估指标,对于python,记住将指标作为参数对列表而不是map传递进来,这样后一个’ eval_metric '不会覆盖前一个
rmse 根均方误差
mse 均方误差
mae 均绝对误差
logloss 负对数似然
error 二值分类错误率。它被计算为#(错误情况)/#(所有情况)。对于预测,评估将预测值大于0.5的实例视为正实例,其余为负实例。
merror 多类分类错误率。它被计算为#(错误情况)/#(所有情况)
mlogloss 多类对数似然
auc 曲线下面积用于排名评价,AUC面积
ndcg 归一化累计收益
map 平均精度
“ndcg@n”,”map@n” n可以被赋值为一个整数,以切断列表中排名靠前的位置进行计算
“ndcg-”,”map-”,”ndcg@n-”,”map@n-” 在XGBoost中,NDCG和MAP将一个没有任何阳性样本的列表的得分评估为1,通过在评估指标中添加“-”,XGBoost将把这些分数评估为0,以便在某些条件下保持一致
gamma-deviance 回归的残差偏差


目录
相关文章
|
3天前
|
存储 API 数据库
使用Python开发获取商品销量详情API接口
本文介绍了使用Python开发获取商品销量详情的API接口方法,涵盖API接口概述、技术选型(Flask与FastAPI)、环境准备、API接口创建及调用淘宝开放平台API等内容。通过示例代码,详细说明了如何构建和调用API,以及开发过程中需要注意的事项,如数据库连接、API权限、错误处理、安全性和性能优化等。
32 5
|
8天前
|
API Python
【Azure Developer】分享一段Python代码调用Graph API创建用户的示例
分享一段Python代码调用Graph API创建用户的示例
29 11
|
10天前
|
JSON 安全 API
Python调用API接口的方法
Python调用API接口的方法
50 5
|
10天前
|
API Python
利用python淘宝/天猫获得淘宝app商品详情原数据 API
要使用Python获取淘宝/天猫商品详情原数据,需先注册开放平台账号并实名认证,创建应用获取API权限。随后,根据API文档构建请求URL和参数,使用requests库发送请求,处理返回的商品详情数据。注意遵守平台使用规则。
|
13天前
|
供应链 API 开发者
探索Python与1688商品详情API接口的协同效应
在数字化时代,1688作为中国领先的B2B平台,其商品详情API接口为市场分析、库存管理和销售策略提供了重要数据支持。本文介绍如何使用Python调用该API,包括前期准备、技术实现、数据解析及错误处理等内容,助力企业和开发者挖掘数据价值,提升商业智能水平。
|
19天前
|
JSON 前端开发 API
使用Python和Flask构建简易Web API
使用Python和Flask构建简易Web API
|
19天前
|
存储 API 数据库
使用Python和Flask构建简单的RESTful API
使用Python和Flask构建简单的RESTful API
|
19天前
|
JSON 关系型数据库 测试技术
使用Python和Flask构建RESTful API服务
使用Python和Flask构建RESTful API服务
|
19天前
|
存储 API 数据安全/隐私保护
Python开发淘宝详情API的深入探索
通过Python开发淘宝详情API,你可以高效地获取商品信息,为电商运营和市场分析提供强有力的数据支持。本文详细介绍了注册开发者账号、获取API密钥、构建请求、解析响应数据等步骤,并探讨了相关的注意事项和最佳实践。希望这些内容能够帮助你更好地理解和使用淘宝开放平台的API接口,实现你的业务需求。
28 1
|
15天前
|
JSON API 数据格式
如何使用Python开发天猫获得淘宝买家秀API接口?
本文介绍了如何使用Python开发天猫和淘宝买家秀API接口,包括注册开放平台账号、创建应用获取API权限、构建请求URL、发送请求获取响应及解析数据等步骤,帮助开发者高效获取和处理商品信息与用户评价数据。
19 0