Choosing your framework and fusion method

From your Federated Learning experiment, you must choose the framework and fusion method for the Federated Learning model.

Choosing the framework

These are the default frameworks provided by Watson Studio:

Frameworks Short description Models types supported
Scikit-learn The Scikit-learn Python Machine Learning package that is used for predictive data analysis and more. Requires pre-existing untrained model provided by your team’s data scientist and configuration to save the model as a pickle file. - Classification
- Regression
- Kmeans
TensorFlow 2 TensorFlow 2.x based platform used to build neural networks and more. Requires a pre-existing untrained model provided by your team’s data scientist in HD5 format. Browse and upload the Model file and give it a name.

Note: If you choose Scikit-learn as your framework, you must modify the model configuration to save the model in Federated Learning as it is not a feature by default.

Please see:

Choosing the fusion method

Based on the framework that you chose, the corresponding fusion method that supports the framework is available for selection:

Fusion Method Short description Models types supported
Iterative Average Simplest aggregation used as a baseline where all parties’ model updates are equally weighted. Neural Networks, Scikit-learn linear models
Weighted average fusion Weights the average of updates based on the number of each party sample. Use with training datasets of widely differing sizes. Neural Networks, Scikit-learn linear models
XGBoost classification fusion Use to perform classification tasks using XGBoost. XGboost classification tasks
XGBoost regression fusion Use to perform regression tasks using XGBoost. XGboost regression tasks
Kmeans fusion (SPAHM) Use to train KMeans (unsupervised learning) models when parties have heterogeneous datasets. Kmeans Scikit-learn models