XGBOOST二分类
一、组件说明
XGBoost是一种基于梯度提升决策树(Gradient Boosting Decision Tree)的机器学习算法。它通过改进传统梯度提升决策树的方式,加入正则化项、特征子采样和并行化等优化技术。XGBoost的优点是能够自动处理缺失值、异常值和噪声数据,同时具有较高的预测准确率和泛化能力。
在二分类问题中,XGBoost将输入数据特征映射到一个二元分类输出,即预测样本属于正例或负例的概率。
组件截图
二、参数说明
字段设置
参数名称 | 参数说明 |
标签字段 | 用于训练的标签字段,数值类型,单选。 |
正样本标签值 | 正样本标签的原值或编码值,如:>50K。 |
特征字段 | 用于预测的特征字段,数值类型,多选。注意:正常情况下请检查,在特征字段中不要勾选标签字段。 |
输入特征为KV格式 | 目前DataTrust支持KV格式的特征输入(即LIBSVM格式)。使用时,数据格式如下,其中key的下标应从1开始,value应均为数值: |
正样本标签值填写
字段数据类型 | 是否编码 | 是否连接配置表 | 正样本标签值 |
字符类型 | 是 | 是 | 原值 |
是 | 否 | 编码值 | |
数值类型 | 否 | 否 | 原值 |
否 | 是 | 原值 | |
是 | 是 | 原值 | |
是 | 否 | 编码值 |
参数设置
参数名称 | 参数英文名称 | 参数说明 |
树的棵树 | tree_num | 迭代次数,即决策树或线性模型的数量。 |
树的最大深度 | max_depth | 决策树的最大深度。 |
学习率 | learning_rate | 学习率,控制每轮迭代权重的缩小程度,适当调整可以加速模型收敛但也可能使模型过拟合。 |
最小叶子节点样本权重和 | min_child_weight | 用于控制决策树分裂过程中每个叶子节点的最小样本权重和。当一个叶子节点的样本权重和小于min_child_weight时,停止拆分该节点,防止过拟合。min_child_weight的默认值是1,通常可以通过交叉验证等方法调整该参数的值。如果样本量较小,可以适当降低min_child_weight的值以避免欠拟合;如果样本量较大,可以适当增加min_child_weight的值以避免过拟合。 |
最小损失衰减 | min_split_loss (gamma) | 控制树的叶子节点分裂的最小损失减少量,取值过大会导致欠拟合。 |
训练的子样本占整个样本集合的比例 | subsample | 降采样,控制训练数据采样的比例,通常取值在0.5-1之间,可以避免过拟合。 |
在建立树时对特征采样的比例 | colsample_bytree | 控制每棵树随机采样的列数的比例,通常取值在0.5-1之间。 |
权重的L1正则化项 | reg_alpha (alpha) | L1正则化项的系数,用于控制树的复杂度。 |
权重的L2正则化项 | reg_lambda (lambda) | L2正则化项的系数,用于控制树的复杂度。 |
模型的训练进程数 | nthread | 控制模型训练的进程数,默认20,取决于本地计算环境的CPU资源。 |
正负权重平衡 | scale_pos_weight | 正负样本的权重比例,用于解决类别不平衡的问题。 |
隐私开销 | epsilon | 联邦学习中,差分隐私的隐私开销,数值越大,添加的噪声越小,隐私保护越弱,则越精确,训练效果越好;数值越小,隐私保护强度越强,则单样本噪音值越大,获取统计特征越困难。默认epsilon=3.0。 |
训练成功后的模型保存
训练成功后,模型将保存至标签所在的参与方平台。训练成功的模型保存在【项目台】-【模型管理】-【模型文件】中,保存名称为${工作流名称}_${建模组件名称}。例如,本项目中有成功建模的任务名为“xgb_criteo_10w”,其中有建模组件名字为“XGBOOST二分类”,则模型名字为“xgb_criteo_10w_XGBOOST二分类”,如下图所示::