Federated Machine Learning

July 10, 2024 · View on GitHub

[中文]

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:

  1. Federated Statistic: PSI, Union, Pearson Correlation, etc.
  2. Federated Feature Engineering: Feature Sampling, Feature Binning, Feature Selection, etc.
  3. Federated Machine Learning Algorithms: LR, GBDT, DNN
  4. Model Evaluation: Binary | Multiclass | Regression evaluation
  5. 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.

AlgorithmModule NameExamplesDescriptionData InputData OutputModel InputModel Output
ReaderComponent to passing namespace,name to downstream tasksoutput_data
PSIPSIpsiCompute intersect data set of multiple parties without leakage of difference set information. Mainly used in hetero scenario task.input_dataoutput_data
SamplingSamplesampleFederated Sampling data so that its distribution become balance in each party.This module supports local and federation scenario.input_dataoutput_data
Data SplitDataSplitdata splitSplit one data table into 3 tables by given ratio or count, this module supports local and federation scenarioinput_datatrain_output_data, validate_output_data, test_output_data
Feature ScaleFeatureScalefeature scalemodule for feature scaling and standardization.train_data, test_datatrain_output_data, test_output_datainput_modeloutput_model
Data StatisticsStatisticsstatisticsThis component will do some statistical work on the data, including statistical mean, maximum and minimum, median, etc.input_dataoutput_model
Hetero Feature BinningHeteroFeatureBinninghetero feature binningWith binning input data, calculates each column's iv and woe and transform data according to the binned information.train_data, test_datatrain_output_data, test_output_datainput_modeloutput_model
Hetero Feature SelectionHeteroFeatureSelectionhetero feature selectionProvide 3 types of filters. Each filters can select columns according to user configtrain_data, test_datatrain_output_data, test_output_datainput_models, input_modeloutput_model
Coordinated-LRCoordinatedLRcoordinated LRBuild hetero logistic regression model through multiple parties.train_data, validate_data, test_data, cv_datatrain_output_data, test_output_data, cv_output_datasinput_model, warm_start_modeloutput_model
Coordinated-LinRCoordinatedLinRcoordinated LinRBuild hetero linear regression model through multiple parties.train_data, validate_data, test_data, cv_datatrain_output_data, test_output_data, cv_output_datasinput_model, warm_start_modeloutput_model
Homo-LRHomoLRhomo lrBuild homo logistic regression model through multiple parties.train_data, validate_data, test_data, cv_datatrain_output_data, test_output_data, cv_output_datasinput_model, warm_start_modeloutput_model
Homo-NNHomoNNhomo nnBuild homo neural network model through multiple parties.train_data, validate_data, test_data, cv_datatrain_output_data, test_output_data, cv_output_datasinput_model, warm_start_modeloutput_model
Hetero-NNHeteroNNhetero nnBuild hetero neural network model through multiple parties.train_data, validate_data, test_datatrain_output_data, test_output_datawarm_start_model, input_modeloutput_model
Hetero Secure BoostingHeteroSecureBoosthetero secureboostBuild hetero secure boosting model through multiple partiestrain_data, test_data, cv_datatrain_output_data, test_output_data, cv_output_dataswarm_start_model, input_modeloutput_model
EvaluationEvaluationevaluationOutput the model evaluation metrics for user.input_datas
UnionUnionunionCombine multiple data tables into one.input_datasoutput_data
SSHE-LRSSHELRSSHE LRBuild hetero logistic regression model through two parties.train_data, validate_data, test_data, cv_datatrain_output_data, test_output_data, cv_output_datasinput_model, warm_start_modeloutput_model
SSHE-LinRSSHELinRSSHE LinRBuild hetero linear regression model through two parties.train_data, validate_data, test_data, cv_datatrain_output_data, test_output_data, cv_output_datasinput_model, warm_start_modeloutput_model
Feature CorrelationFeatureCorrelationFeature CorrelationCompute feature correlation locally or in hetero-federated setting.input_datainput_modeloutput_model