Skip to content

Latest commit

 

History

History
400 lines (335 loc) · 11.4 KB

README_zh.rst

File metadata and controls

400 lines (335 loc) · 11.4 KB

联邦机器学习

[ENG]

Federatedml模块包括许多常见机器学习算法联邦化实现。所有模块均采用去耦的模块化方法开发,以增强模块的可扩展性。具体来说,我们提供:

  1. 联邦统计: 包括隐私交集计算,并集计算,皮尔逊系数, PSI等
  2. 联邦特征工程:包括联邦采样,联邦特征分箱,联邦特征选择等。
  3. 联邦机器学习算法:包括横向和纵向的联邦LR, GBDT, DNN,迁移学习等
  4. 模型评估:提供对二分类,多分类,回归评估,聚类评估,联邦和单边对比评估
  5. 安全协议:提供了多种安全协议,以进行更安全的多方交互计算。
联邦学习结构

Figure 1: Federated Machine Learning Framework

算法清单

算法清单
算法 模块名 描述 数据输入 数据输出 模型输入 模型输出
Reader Reader 当输入数据的存储引擎当前计算引擎不支持时,会自动转存到FATE集群适配计算引擎的组件输出存储引擎;当输入数据的存储格式非FATE支持存储格式时,会自动转换格式,并存储到FATE集群的组件输出存储引擎 用户原始存储数据 转换后原始数据    
DataIO DataIO 该组件将原始数据转换为Instance对象(FATE-v1.7后会逐步弃用,使用DataTransform)。 Table,值为原始数据 转换后的数据表,值为在 : federatedml/feature/instance.py 中定义的Data Instance的实例   DataIO模型
`DataTransform`_ DataTransform 该组件将原始数据转换为Instance对象。 Table,值为原始数据 转换后的数据表,值为在 : federatedml/feature/instance.py 中定义的Data Instance的实例   DataTransform模型
Intersect Intersection 计算两方的相交数据集,而不会泄漏任何差异数据集的信息。主要用于纵向任务。 Table 两方Table中相交的部分   Intersect模型
Federated Sampling FederatedSample 对数据进行联邦采样,使得数据分布在各方之间变得平衡。这一模块同时支持单机和集群版本。 Table 采样后的数据,同时支持随机采样和分层采样    
Feature Scale FeatureScale 特征归一化和标准化。 Table,其值为instance 转换后的Table 变换系数,例如最小值/最大值,平均值/标准差  
Hetero Feature Binning Hetero Feature Binning 使用分箱的输入数据,计算每个列的iv和woe,并根据合并后的信息转换数据。 Table,在guest中有标签y,在host中没有标签y 转换后的Table   每列的iv/woe,分裂点,事件计数,非事件计数等
Homo Feature Binning Homo Feature Binning 计算横向场景的等频分箱 Table 转换后的Table   每列的分裂点
OneHot Encoder OneHotEncoder 将一列转换为One-Hot格式。 Table, 值为Instance 转换了带有新列名的Table   原始列名和特征值到新列名的映射
Hetero Feature Selection HeteroFeatureSelection 提供多种类型的filter。每个filter都可以根据用户配置选择列。 Table, 值为Instance 转换的Table具有新的header和已过滤的数据实例 模型输入如果使用iv filters,则需要hetero_binning模型 每列是否留下
Union Union 将多个数据表合并成一个。 Tables 多个Tables合并后的Table    
Hetero-LR HeteroLR 通过多方构建纵向逻辑回归模块。 Table, 值为Instance     Logistic回归模型,由模型本身和模型参数组成
Local Baseline LocalBaseline 使用本地数据运行sklearn Logistic回归模型。 Table, 值为Instance      
Hetero-LinR HeteroLinR 通过多方建立纵向线性回归模块。 Table, 值为Instance     线性回归模型,由模型本身和模型参数组成
Hetero-Poisson HeteroPoisson 通过多方构建纵向泊松回归模块。 Table, 值为Instance     泊松回归模型,由模型本身和模型参数组成
Homo-LR HomoLR 通过多方构建横向逻辑回归模块。 Table, 值为Instance     Logistic回归模型,由模型本身和模型参数组成
Homo-NN HomoNN 通过多方构建横向神经网络模块。 Table, 值为Instance     神经网络模型,由模型本身和模型参数组成
Hetero Secure Boosting HeteroSecureBoost 通过多方构建纵向Secure Boost模块。 Table,值为Instance     SecureBoost模型,由模型本身和模型参数组成
Hetero Fast Secure Boosting HeteroFastSecureBoost 使用分层/混合模式快速构建树模型 Table,值为Instance Table,值为Instance   FastSecureBoost模型
Hetero Secure Boost Feature Transformer SBT Feature Transformer 利用SBT叶子为特征编码 Table,值为Instance Table,值为Instance   SBT Transformer模型
Evaluation Evaluation 为用户输出模型评估指标。 Table(s), 值为Instance      
Hetero Pearson HeteroPearson 计算来自不同方的特征的Pearson相关系数。 Table, 值为Instance      
Hetero-NN HeteroNN 构建纵向神经网络模块。 Table, 值为Instance     纵向神经网络模型
Homo Secure Boosting HomoSecureBoost 通过多方构建横向Secure Boost模块 Table, 值为Instance     SecureBoost模型,由模型本身和模型参数组成
Homo OneHot Encoder 横向 OneHotEncoder 将一列转换为One-Hot格式。 Table, 值为Instance 转换了带有新列名的Table   原始列名和特征值到新列名的映射
Data Split 数据切分 将输入数据集按用户自定义比例或样本量切分为3份子数据集 Table, 值为Instance 3 Tables    
Column Expand   对原始Table添加任意列数的任意数值 Table, 值为原始数据 转换后带有新数列与列名的Table   Column Expand模型
Secure Information Retrieval   通过不经意传输协议安全取回所需数值 Table, 值为Instance Table, 值为取回数值    
Hetero Federated Transfer Learning 纵向联邦迁移学习 在两个party间构建联邦迁移模型 Table, 值为Instance     FTL神经网络模型参数等
PSI PSI模块 计算两个表特征间的PSI值 Table, 值为Instance     PSI 结果
Hetero KMeans 纵向 K均值算法 构建K均值模块 Table, 值为Instance Table, 值为Instance; Arbiter方输出2个Table   Hetero KMeans模型
Data Statistics 数据统计 这个组件会对数据做一些统计工作,包括统计均值,最大最小值,中位数等 Table, 值为Instance Table   Statistic Result
Scorecard 评分卡 转换二分类预测分数至信用分 Table, 值为二分类预测结果 Table, 值为转化后信用分结果    
Sample Weight 样本加权 根据用户设置对输入数据加权 Table, 值为Instance Table, 值为加权后Instance    
Feldman Verifiable Sum 费尔德曼秘密分享求和 不暴露隐私数据的前提下进行多方隐私数据求和 Table, 值为加数或被加数 Table, 值为求和结果    

安全协议

Params

.. automodule:: federatedml.param
   :autosummary:
   :members: