README.zh.md 20 KB

联邦机器学习

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

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

算法清单

算法 模块名 描述 数据输入 数据输出 模型输入 模型输出
DataTransform DataTransform 该组件将原始数据转换为Instance对象。 Table,值为原始数据 转换后的数据表,值为Data Instance的实例 DataTransform模型
Intersect Intersection 计算两方的相交数据集,而不会泄漏任何差异数据集的信息。主要用于纵向任务。 Table 两方Table中相交的部分 Intersect模型
Federated Sampling FederatedSample 对数据进行联邦采样,使得数据分布在各方之间变得平衡。这一模块同时支持单机和集群版本。 Table 采样后的数据,同时支持随机采样和分层采样
Feature Scale FeatureScale 特征归一化和标准化。 Table,其值为instance 转换后的Table 变换系数,例如最小值/最大值,平均值/标准差
Hetero Feature Binning HeteroFeatureBinning 使用分箱的输入数据,计算每个列的iv和woe,并根据合并后的信息转换数据。 Table,在guest中有标签y,在host中没有标签y 转换后的Table 每列的iv/woe,分裂点,事件计数,非事件计数等
Homo Feature Binning HomoFeatureBinning 计算横向场景的等频分箱 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模型
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 HomoOneHotEncoder 将一列转换为One-Hot格式。 Table, 值为Instance 转换了带有新列名的Table 原始列名和特征值到新列名的映射
Hetero Data Split HeteroDataSplit 将输入数据集按用户自定义比例或样本量切分为3份子数据集 Table, 值为Instance 3 Tables
Homo Data Split HomoDataSplit 将输入数据集按用户自定义比例或样本量切分为3份子数据集 Table, 值为Instance 3 Tables
Column Expand ColumnExpand 对原始Table添加任意列数的任意数值 Table, 值为原始数据 转换后带有新数列与列名的Table Column Expand模型
Secure Information Retrieval SecureInformationRetrieval 通过不经意传输协议安全取回所需数值 Table, 值为Instance Table, 值为取回数值
Hetero Federated Transfer Learning FTL 在两个party间构建联邦迁移模型 Table, 值为Instance FTL神经网络模型参数等
PSI PSI 计算两个表特征间的PSI值 Table, 值为Instance PSI 结果
Hetero KMeans HeteroKMeans 构建K均值模块 Table, 值为Instance Table, 值为Instance; Arbiter方输出2个Table Hetero KMeans模型
Data Statistics DataStatistics 这个组件会对数据做一些统计工作,包括统计均值,最大最小值,中位数等 Table, 值为Instance Table Statistic Result
Scorecard Scorecard 转换二分类预测分数至信用分 Table, 值为二分类预测结果 Table, 值为转化后信用分结果
Sample Weight SampleWeight 根据用户设置对输入数据加权 Table, 值为Instance Table, 值为加权后Instance SampleWeight Model
Feldman Verifiable Sum FeldmanVerifiableSum 不暴露隐私数据的前提下进行多方隐私数据求和 Table, 值为加数或被加数 Table, 值为求和结果
Feature Imputation FeatureImputation 使用指定方法、数值填充特征缺失值 Table, 值为Instance Table, 值为填充后Instance Feature Imputation Model FeatureImputation Model
Label Transform LabelTransform 转化输入数据与预测结果的标签值 Table, 值为Instance或预测结果 Table, 值为标签转化后的Instance或预测结果 LabelTransform Model
Hetero SSHE Logistic Regression HeteroSSHELR 两方构建纵向逻辑回归(无可信第三方) Table, 值为Instance Table, 值为Instance SSHE LR Model
Hetero SSHE Linear Regression HeteroSSHELinR 两方构建纵向线性回归(无可信第三方) Table, 值为Instance Table, 值为Instance SSHE LinR Model
Positive Unlabeled Learning PositiveUnlabeled 构建positive unlabeled learning(PU learning)模型 Table, 值为Instance Table, 值为Instance

安全协议