Skip to content

Latest commit

 

History

History
87 lines (77 loc) · 22.4 KB

README.md

File metadata and controls

87 lines (77 loc) · 22.4 KB

Federated Machine Learning

[中文]

FederatedML 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 Information Retrieval: PIR(SIR) Based OT
  3. Federated Feature Engineering: Feature Sampling, Feature Binning, Feature Selection, etc.
  4. Federated Machine Learning Algorithms: LR, GBDT, DNN, TransferLearning, UnsupervisedLearning which support Heterogeneous and Homogeneous styles.
  5. Model Evaluation: Binary | Multiclass | Regression | Clustering Evaluation, Local vs Federated Comparison.
  6. Secure Protocol: Provides multiple security protocols for secure multi-party computing and interaction between participants.

Algorithm List

Algorithm Module Name Description Data Input Data Output Model Input Model Output
DataIO DataIO This component transforms user-uploaded data into Instance object(deprecate in FATe-v1.7, use DataTransform instead). Table, values are raw data. Transformed Table, values are data instance defined here DataIO Model
DataTransform DataTransform This component transforms user-uploaded data into Instance object. Table, values are raw data. Transformed Table, values are data instance defined here DataTransform Model
Intersect Intersection Compute intersect data set of multiple parties without leakage of difference set information. Mainly used in hetero scenario task. Table. Table with only common instance keys. Intersect Model
Federated Sampling FederatedSample Federated Sampling data so that its distribution become balance in each party.This module supports standalone and federated versions. Table Table of sampled data; both random and stratified sampling methods are supported.
Feature Scale FeatureScale module for feature scaling and standardization. Table,values are instances. Transformed Table. Transform factors like min/max, mean/std.
Hetero Feature Binning HeteroFeatureBinning With binning input data, calculates each column's iv and woe and transform data according to the binned information. Table, values are instances. Transformed Table. iv/woe, split points, event count, non-event count etc. of each column.
Homo Feature Binning HomoFeatureBinning Calculate quantile binning through multiple parties Table Transformed Table Split points of each column
OneHot Encoder OneHotEncoder Transfer a column into one-hot format. Table, values are instances. Transformed Table with new header. Feature-name mapping between original header and new header.
Hetero Feature Selection HeteroFeatureSelection Provide 5 types of filters. Each filters can select columns according to user config Table Transformed Table with new header and filtered data instance. If iv filters used, hetero_binning model is needed. Whether each column is filtered.
Union Union Combine multiple data tables into one. Tables. Table with combined values from input Tables.
Hetero-LR HeteroLR Build hetero logistic regression model through multiple parties. Table, values are instances Table, values are instances. Logistic Regression Model, consists of model-meta and model-param.
Local Baseline LocalBaseline Wrapper that runs sklearn(scikit-learn) Logistic Regression model with local data. Table, values are instances. Table, values are instances.
Hetero-LinR HeteroLinR Build hetero linear regression model through multiple parties. Table, values are instances. Table, values are instances. Linear Regression Model, consists of model-meta and model-param.
Hetero-Poisson HeteroPoisson Build hetero poisson regression model through multiple parties. Table, values are instances. Table, values are instances. Poisson Regression Model, consists of model-meta and model-param.
Homo-LR HomoLR Build homo logistic regression model through multiple parties. Table, values are instances. Table, values are instances. Logistic Regression Model, consists of model-meta and model-param.
Homo-NN HomoNN Build homo neural network model through multiple parties. Table, values are instances. Table, values are instances. Neural Network Model, consists of model-meta and model-param.
Hetero Secure Boosting HeteroSecureBoost Build hetero secure boosting model through multiple parties Table, values are instances. Table, values are instances. SecureBoost Model, consists of model-meta and model-param.
Hetero Fast Secure Boosting HeteroFastSecureBoost Build hetero secure boosting model through multiple parties in layered/mix manners. Table, values are instances. Table, values are instances. FastSecureBoost Model, consists of model-meta and model-param.
Evaluation Evaluation Output the model evaluation metrics for user. Table(s), values are instances.
Hetero Pearson HeteroPearson Calculate hetero correlation of features from different parties. Table, values are instances.
Hetero-NN HeteroNN Build hetero neural network model. Table, values are instances. Table, values are instances. Hetero Neural Network Model, consists of model-meta and model-param.
Homo Secure Boosting HomoSecureBoost Build homo secure boosting model through multiple parties Table, values are instances. Table, values are instances. SecureBoost Model, consists of model-meta and model-param.
Homo OneHot Encoder HomoOneHotEncoder Build homo onehot encoder model through multiple parties. Table, values are instances. Transformed Table with new header. Feature-name mapping between original header and new header.
Hetero Data Split HeteroDataSplit Split one data table into 3 tables by given ratio or count Table, values are instances. 3 Tables, values are instance.
Homo Data Split HomoDataSplit Split one data table into 3 tables by given ratio or count Table, values are instances. 3 Tables, values are instance.
Column Expand ColumnExpand Add arbitrary number of columns with user-provided values. Table, values are raw data. Transformed Table with added column(s) and new header. Column Expand Model
Secure Information Retrieval SecureInformationRetrieval Securely retrieves information from host through oblivious transfer Table, values are instance Table, values are instance
Hetero Federated Transfer Learning FTL Build Hetero FTL Model Between 2 party Table, values are instance Hetero FTL Model
Hetero KMeans HeteroKMeans Build Hetero KMeans model through multiple parties Table, values are instance Table, values are instance; Arbier outputs 2 Tables Hetero KMeans Model
PSI PSI Compute PSI value of features between two table Table, values are instance PSI Results
Data Statistics DataStatistics This component will do some statistical work on the data, including statistical mean, maximum and minimum, median, etc. Table, values are instance Table Statistic Result
Scorecard Scorecard Scale predict score to credit score by given scaling parameters Table, values are predict score Table, values are score results
Sample Weight SampleWeight Assign weight to instances according to user-specified parameters Table, values are instance Table, values are weighted instance SampleWeight Model
Feldman Verifiable Sum FeldmanVerifiableSum This component will sum multiple privacy values without exposing data Table, values to sum Table, values are sum results
Feature Imputation FeatureImputation This component imputes missing features using arbitrary methods/values Table, values are Instances Table, values with missing features filled FeatureImputation Model
Label Transform LabelTransform Replaces label values of input data instances and predict results Table, values are Instances or prediction results Table, values with transformed label values LabelTransform Model
Hetero SSHE Logistic Regression HeteroSSHELR Build hetero logistic regression model without arbiter Table, values are Instances Table, values are Instances SSHE LR Model
Hetero SSHE Linear Regression HeteroSSHELinR Build hetero linear regression model without arbiter Table, values are Instances Table, values are Instances SSHE LinR Model

Secure Protocol