Federated Machine Learning¶
[中文]
FATE-ML includes implementation of many common machine learning algorithms on federated learning. All modules are developed in a decoupling modular approach to enhance scalability. Specifically, we provide:
- Federated Statistic: PSI, Union, Pearson Correlation, etc.
- Federated Feature Engineering: Feature Sampling, Feature Binning, Feature Selection, etc.
- Federated Machine Learning Algorithms: LR, GBDT, DNN
- Model Evaluation: Binary | Multiclass | Regression evaluation
- Secure Protocol: Provides multiple security protocols for secure multi-party computing and interaction between participants.
Algorithm List¶
For tutorial on running modules directly(without FATE-Client) with launcher, please refer here.
Algorithm | Module Name | Examples | Description | Data Input | Data Output | Model Input | Model Output |
---|---|---|---|---|---|---|---|
Reader | Component to passing namespace,name to downstream tasks | output_data | |||||
PSI | PSI | psi | Compute intersect data set of multiple parties without leakage of difference set information. Mainly used in hetero scenario task. | input_data | output_data | ||
Sampling | Sample | sample | Federated Sampling data so that its distribution become balance in each party.This module supports local and federation scenario. | input_data | output_data | ||
Data Split | DataSplit | data split | Split one data table into 3 tables by given ratio or count, this module supports local and federation scenario | input_data | train_output_data, validate_output_data, test_output_data | ||
Feature Scale | FeatureScale | feature scale | module for feature scaling and standardization. | train_data, test_data | train_output_data, test_output_data | input_model | output_model |
Data Statistics | Statistics | statistics | This component will do some statistical work on the data, including statistical mean, maximum and minimum, median, etc. | input_data | output_model | ||
Hetero Feature Binning | HeteroFeatureBinning | hetero feature binning | With binning input data, calculates each column's iv and woe and transform data according to the binned information. | train_data, test_data | train_output_data, test_output_data | input_model | output_model |
Hetero Feature Selection | HeteroFeatureSelection | hetero feature selection | Provide 3 types of filters. Each filters can select columns according to user config | train_data, test_data | train_output_data, test_output_data | input_models, input_model | output_model |
Coordinated-LR | CoordinatedLR | coordinated LR | Build hetero logistic regression model through multiple parties. | train_data, validate_data, test_data, cv_data | train_output_data, test_output_data, cv_output_datas | input_model, warm_start_model | output_model |
Coordinated-LinR | CoordinatedLinR | coordinated LinR | Build hetero linear regression model through multiple parties. | train_data, validate_data, test_data, cv_data | train_output_data, test_output_data, cv_output_datas | input_model, warm_start_model | output_model |
Homo-LR | HomoLR | homo lr | Build homo logistic regression model through multiple parties. | train_data, validate_data, test_data, cv_data | train_output_data, test_output_data, cv_output_datas | input_model, warm_start_model | output_model |
Homo-NN | HomoNN | homo nn | Build homo neural network model through multiple parties. | train_data, validate_data, test_data, cv_data | train_output_data, test_output_data, cv_output_datas | input_model, warm_start_model | output_model |
Hetero-NN | HeteroNN | hetero nn | Build hetero neural network model through multiple parties. | train_data, validate_data, test_data | train_output_data, test_output_data | warm_start_model, input_model | output_model |
Hetero Secure Boosting | HeteroSecureBoost | hetero secureboost | Build hetero secure boosting model through multiple parties | train_data, test_data, cv_data | train_output_data, test_output_data, cv_output_datas | warm_start_model, input_model | output_model |
Evaluation | Evaluation | evaluation | Output the model evaluation metrics for user. | input_datas | |||
Union | Union | union | Combine multiple data tables into one. | input_datas | output_data | ||
SSHE-LR | SSHELR | SSHE LR | Build hetero logistic regression model through two parties. | train_data, validate_data, test_data, cv_data | train_output_data, test_output_data, cv_output_datas | input_model, warm_start_model | output_model |
SSHE-LinR | SSHELinR | SSHE LinR | Build hetero linear regression model through two parties. | train_data, validate_data, test_data, cv_data | train_output_data, test_output_data, cv_output_datas | input_model, warm_start_model | output_model |