Federatedml模块包括许多常见机器学习算法联邦化实现。所有模块均采用去耦的模块化方法开发,以增强模块的可扩展性。具体来说,我们提供:
算法 | 模块名 | 描述 | 数据输入 | 数据输出 | 模型输入 | 模型输出 |
---|---|---|---|---|---|---|
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 |