隐私计算实训营第二期第7讲XGB算法与SGB算法开发实践

01背景  纵向数据分割场景和树模型

什么是纵向树模型?

基于纵向分割数据集训练的决策树模型

纵向分隔数据集一般由前置步骤隐私求交得到,使用场景往往是联合建模。各方之间不希望将自己的数据泄露给其他方,但又希望联合建模以得到效果更好的模型。

效果好的模型还需要有一定的解释性和较好的训练效率,而树模型正好满足这个特征。

隐语提供的纵向树模型算法包括两种:可证安全算法SS-XGB和纵向联邦算法SGB

02 隐语纵向树模型的使用

使用树模型的三个简单步骤

具体的SS-XGB教程:决策树模型 | SecretFlow v1.6.1b0 | 隐语 SecretFlow

具体的SGB教程:SecretFlow

两种算法使用的区别:

准备设备和数据方面

设置训练参数方面

模型产出(评估和保存)方面

03 原理和实现-从理论到工程

SS-XGB / SGB 算法是如何炼成的?

经典算法到MPC算法(SS-XGB)

算法改造三部曲,参考论文Large-Scale Secure XGB for Vertical Federated Learning (arxiv.org)

经典算法到联邦算法(SGB)

算法改造三部曲,参考论文Large-Scale Secure XGB for Vertical Federated Learning (arxiv.org)

如何修改源码实现合适的功能?

开发的层次

组件封装

算法修改

模型导出

SS-XGB / SGB 在隐语实现有什么独特优势?

04 实践

 课程链接:隐语 · 实训社区 给出了配套运行的代码,这里我只展示运行的结果

只使用Alice方数据(bank_0_8)的明文数据建模:

结果如下

联合建模

结果

可以发现AUC score有明显提升,test-auc从0.683917到了0.906039。

用SS-XGB跑,明显性能要差很多,运行了5min 24s。而同样参数的sgb,只需要33s,效率差距很明显。

从实际评估结果看,SGB和SS-XGB的准确率基本上持平,SS-XGB略微好一点点,test-auc可以从0.9060到0.9066. 

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值