更新时间:2022-04-16 GMT+08:00
分享

创建纵向联邦学习作业

前提条件

  • 在CCE服务中创建工作负载。
  • 联盟组建完成,参考组建联盟
  • 联盟成员完成计算节点部署,配置参数时选择挂载方式和工作目录,参考部署计算节点
  • 联盟成员在计算节点中完成数据发布,参考发布数据

约束限制

  • 纵向联邦作业XGBoost算法只支持两方参与训练。
  • 训练作业必须选择一个当前计算节点发布的数据集。
  • 作业创建者的数据集必须含有特征。

创建纵向联邦学习作业

纵向联邦学习作业在本地运行,目前支持XGBoost算法、逻辑回归LR算法。

纵向联邦学习分为五个步骤:数据选择、样本对齐(可选)、特征选择(可选)、模型训练、模型评估。

创建过程如下:

  1. 联盟成员登录进入计算节点页面。
  2. 在左侧导航树上依次选择作业管理 > 联邦机器学习,打开联邦机器学习作业页面。
  3. 联邦机器学习页面,单击“创建”

    图1 创建作业

  4. 在弹出的对话框中单击“纵向联邦”按钮,编辑“作业名称”等相关参数,完成后单击“确定”

    目前,纵向联邦学习支持“XGBoost”“逻辑回归”两种算法类型,XGBoost支持“分类”“回归”两种任务类型。
    图2 新建作业

  5. 在弹出的界面进行数据选择,选择两方数据集作为整个作业的数据集,其中己方数据集只含有特征,另一方的数据集必须含有标签。

    样本粗筛:当己方数据过大无法导出成文本文件时,可以使用样本粗筛获取合作方的明文id前缀,使用大数据组件筛选出id前缀相符的数据,达到减少数据量的目的。样本粗筛时还可以选择多个过滤字段,结果会按照“id前缀,过滤字段1,过滤字段2……”的格式保存成csv文本文件。

    选择完成后单击“下一步”
    图3 数据选择
    图4 样本粗筛

  6. (可选步骤)进行样本对齐,根据发布数据集的唯一标识字段或者ID对齐文件,对齐两方的数据集,找到两方共有的数据id。

    如果跳过此步骤,那么特征选择和训练时默认两方数据集每一行的数据都是一一对应的 ,系统会校验两方的数据量是否相等,若不相等作业会报错。当前页面可以看到样本对齐作业执行的结果,结果路径是相对于挂载目录的相对路径。
    图5 样本对齐

  7. (可选步骤)进行特征选择,此步骤要求数据已经对齐,即两方数据集每一行的数据都是一一对应的。

    单击数据集按钮切换数据集,勾选特征作为模型训练的指定特征,选择分箱方式后点击“启动分箱和IV计算”,计算得到所选特征对标签的影响程度。计算完成后,点击特征行的可以展开图表形式的分箱woe值。

    选择完成后单击“下一步”

    • 如果跳过该步骤,那么训练时默认使用所有特征进行训练。
    • 分箱方式包括等频分箱和等距分箱。等频分箱是指经过计算使得每个分箱区间包含大致相等的实例数量;等距分箱是指经过计算使得每个箱体的区间间隔保持一致。
    • 需要至少勾选一个无标签数据集特征才能进行模型训练。如果不勾选任何特征,会提示“选择两个数据集,一个有标签,一个无标签,且至少选择一个无标签方特征,才可启动训练。”
    图6 特征选择
    图7 查看特征分箱woe值

  8. 在页面右下角单击“启动训练”进行模型训练。
  9. 在弹出的界面配置执行参数,参考表1。填写完作业参数,单击“确定”即可开始训练作业。

    图8 执行参数配置
    表1 参数配置

    算法类型

    参数名

    参数描述

    XGBoost

    学习率

    控制权重更新的幅度,以及训练的速度和精度。取值范围为0~1的小数。

    树数量

    定义XGBoost算法中决策树的数量,一个样本的预测值是多棵树预测值的加权和。取值范围为1~50的整数。

    树深度

    定义每棵决策树的深度,根节点为第一层。取值范围为1~10的整数。

    切分点数量

    定义每个特征切分点的数量,数量越多,准确率越高,计算时间越长。取值范围为5~10的整数。

    分类阈值

    区分正负例的得分阈值。

    隐私保护技术

    用户下拉选择。

    逻辑回归

    学习率

    控制权重更新的幅度,影响训练收敛速度和模型精度,取值范围为0~1。

    迭代次数

    完成全部样本训练的次数,取值为正整数。

    批大小

    单次训练使用的样本数,取值为正整数。

    分类阈值

    区分正负例的得分阈值

    隐私保护技术

    用户下拉选择。

    启动作业后会生成一条新的历史作业记录。模型训练页面展示了历史作业的执行情况、模型的评估指标和生成时间。模型的评估指标是使用训练数据集产生的。

    单击“查看参数”可以查看该模型训练时指定的机器学习作业参数;逻辑回归作业可以单击“查看中间结果”实时查看每一次迭代的评估指标。

    图9 模型训练参数

  10. 进行模型评估。在历史作业列表中,单击执行成功的记录操作列的“发起评估”,可对该模型发起一次评估作业,用于评估该模型在非训练数据集上的表现。

    评估作业需要选择和训练数据集数据结构相同的两方数据集,以保证评估的正常进行。

    模型评估指标包括准确率/AUC/KS/F1/召回率/精确率,取值范围均在0~1之间。AUC和F1作为综合评估指标,值越大说明训练出的模型越好。

    图10 发起评估

分享:

    相关文档

    相关产品

close