Fate1.6 支持的机器学习算法
Posted AI浩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Fate1.6 支持的机器学习算法相关的知识,希望对你有一定的参考价值。
联邦机器学习
Federatedml模块包括许多常见机器学习算法联邦化实现。所有模块均采用去耦的模块化方法开发,以增强模块的可扩展性。具体来说,我们提供:
- 联邦统计: 包括隐私交集计算,并集计算,皮尔逊系数, PSI等
- 联邦特征工程:包括联邦采样,联邦特征分箱,联邦特征选择等。
- 联邦机器学习算法:包括横向和纵向的联邦LR, GBDT, DNN,迁移学习等
- 模型评估:提供对二分类,多分类,回归评估,聚类评估,联邦和单边对比评估
- 安全协议:提供了多种安全协议,以进行更安全的多方交互计算。
算法清单
算法 | 模块名 | 描述 | 数据输入 | 数据输出 | 模型输入 | 模型输出 |
---|---|---|---|---|---|---|
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, 值为求和结果 |
安全协议
以上是关于Fate1.6 支持的机器学习算法的主要内容,如果未能解决你的问题,请参考以下文章
机器学习三人行(系列七)----支持向量机实践指南(附代码)
[机器学习与scikit-learn-35]:算法-分类-支持向量机-线性分类代码示例