Skip to content

Latest commit

 

History

History
398 lines (334 loc) · 12.3 KB

README.rst

File metadata and controls

398 lines (334 loc) · 12.3 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 Feature Engineering: Feature Sampling, Feature Binning, Feature Selection, etc.
  3. Federated Machine Learning Algorithms: LR, GBDT, DNN, TransferLearning, which support Heterogeneous and Homogeneous styles.
  4. Model Evaluation: Binary | Multiclass | Regression | Clustering Evaluation, Local vs Federated Comparison.
  5. Secure Protocol: Provides multiple security protocols for secure multi-party computing and interaction between participants.

federatedml structure

Algorithm List

Algorithm
Algorithm Module Name Description Data Input Data Output Model Input Model Output
Reader Reader This component loads and transforms data from storage engine so that data is compatible with FATE computing engine Original Data Transformed Data    
DataIO DataIO This component transforms user-uploaded date 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 date 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 Hetero Feature Binning 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 Homo Feature Binning 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.
Hetero Secure Boost Feature Transformer SBT Feature Transformer This component can encode sample using Hetero SBT leaf indices. Table, values are instances. Table, values are instances.   SBT Transformer Model
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.
Data Split Data Split Split one data table into 3 tables by given ratio or count Table, values are instances. 3 Tables, values are instance.    
Column Expand Column Expand 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 Secure Information Retrieval Securely retrieves information from host through oblivious transfer Table, values are instance Table, values are instance    
Hetero Federated Transfer Learning Hetero FTL Build Hetero FTL Model Between 2 party Table, values are instance     Hetero FTL Model
Hetero KMeans Hetero KMeans Build Hetero KMeans model through multiple parties Table, values are instance Table, values are instance; Arbier outputs 2 Tables   Hetero KMeans Model
PSI PSI module Compute PSI value of features between two table Table, values are instance     PSI Results
Data Statistics Data Statistics 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 Sample Weight Assign weight to instances according to user-specified parameters Table, values are instance Table, values are weighted instance    
Feldman Verifiable Sum Feldman Verifiable Sum This component will sum multiple privacy values without exposing data Table, values are addend Table, values are sum results    

Secure Protocol

Params

.. automodule:: federatedml.param
   :autosummary:
   :members: