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 回归的残差偏差


目录
相关文章
|
16天前
|
机器学习/深度学习 数据采集 算法
Python用逻辑回归、决策树、SVM、XGBoost 算法机器学习预测用户信贷行为数据分析报告
Python用逻辑回归、决策树、SVM、XGBoost 算法机器学习预测用户信贷行为数据分析报告
|
1天前
|
Web App开发 JavaScript 测试技术
python自动化测试实战 —— WebDriver API的使用
python自动化测试实战 —— WebDriver API的使用
6 1
|
6天前
|
Java C# 开发者
Python 中的类型注解是一种用于描述变量、函数参数和返回值预期类型的机制
【5月更文挑战第8天】Python的类型注解提升代码可读性和可维护性,虽非强制,但利于静态类型检查(如Mypy)。包括:变量注解、函数参数和返回值注解,使用内置或`typing`模块的复杂类型,自定义类型注解,以及泛型模拟。类型注解可在变量声明、函数定义和注释中使用,帮助避免类型错误,提高开发效率。
18 6
|
8天前
|
机器学习/深度学习 自然语言处理 算法
Python遗传算法GA对长短期记忆LSTM深度学习模型超参数调优分析司机数据|附数据代码
Python遗传算法GA对长短期记忆LSTM深度学习模型超参数调优分析司机数据|附数据代码
|
8天前
|
机器学习/深度学习 算法 测试技术
Python贷款违约预测:Logistic、Xgboost、Lightgbm、贝叶斯调参/GridSearchCV调参|数据分享
Python贷款违约预测:Logistic、Xgboost、Lightgbm、贝叶斯调参/GridSearchCV调参|数据分享
|
14天前
|
机器学习/深度学习 算法 Python
【Python机器学习专栏】机器学习中的超参数调优技术
【4月更文挑战第30天】本文探讨了机器学习中超参数调优的重要性,介绍了网格搜索、随机搜索、贝叶斯优化和AutoML等调优方法,并提供了Python中使用`scikit-learn`进行网格搜索的示例。超参数的选择直接影响模型学习和泛化能力,而调优技术能帮助找到最佳组合,提升模型性能。随着AutoML的发展,自动化调参将成为更高效的选择。
|
15天前
|
机器学习/深度学习 算法 数据挖掘
机器学习--K近邻算法,以及python中通过Scikit-learn库实现K近邻算法API使用技巧
机器学习--K近邻算法,以及python中通过Scikit-learn库实现K近邻算法API使用技巧
|
15天前
|
机器学习/深度学习 算法 数据挖掘
数据分享|Python爱彼迎Airbnb新用户体验数据XGBoost、随机森林预测
数据分享|Python爱彼迎Airbnb新用户体验数据XGBoost、随机森林预测
|
18天前
|
机器学习/深度学习 数据采集 算法
Python信贷风控模型:Adaboost,XGBoost,SGD, SVC,随机森林, KNN预测信贷违约支付
Python信贷风控模型:Adaboost,XGBoost,SGD, SVC,随机森林, KNN预测信贷违约支付
|
18天前
|
机器学习/深度学习 数据可视化 数据挖掘
PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络、KMEANS聚类、地理可视化
PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络、KMEANS聚类、地理可视化