Skip to main content

No project description provided

Project description

flex-trees

The flex-trees package consists of a set of tools and utilities to work with Decision Tree (DT) models in Federated Learning (FL). It is designed to be used with the FLEXible framework, as it is an extension of it.

flex-trees comes with some state-of-the-art decision tree models for federated learning. It also provides multiple tabular datasets to test the models.

The methods implemented in the repository are:

Model Description Citation
Federated ID3 The ID3 model adapted to a federated learning scenario. A Hybrid Approach to Privacy-Preserving Federated Learning
Federated Random Forest The Random Forest (RF) model adapted to a federated learning scenario. Each client builds a RF locally, then N trees are randomly sampled from each client to get a global RF composed from the N trees retrieved from the clients. Federated Random Forests can improve local performance of predictive models for various healthcare applications
Federated Gradient Boosting Decision Trees The Gradient Boosting Decision Trees model adapted to a federated learning scenario. In this model a global hash table is first created to aling the data between the clients within sharing it. After that, N trees (CART) are built by the clients. The process of building the ensemble is iterative, and one client builds the tree, then it is added to the ensemble, and after that the weights of the instances is updated, so the next client can build the next tree with the weights updated. Practical Federated Gradient Boosting Decision Trees

The tabular datasets available in the repository are:

Dataset Description Citation
Adult The Adult dataset is a dataset that contains demographic information about the people, and the task is to predict if the income of the person is greater than 50K. UCI Machine Learning Repository
Breast Cancer The Breast Cancer dataset is a dataset that contains information about the breast cancer, and the task is to predict if the cancer is benign or malignant. UCI Machine Learning Repository
Credit Card The Credit Card dataset is a dataset that contains information about the credit card transactions, and the task is to predict if the transaction is fraudulent or not. Kaggle
ILPD The ILPD dataset is a dataset that contains information about the Indian Liver Patient, and the task is to predict if the patient has liver disease or not. UCI Machine Learning Repository
Nursery The Nursery dataset is a dataset that contains information about the nursery, and the task is to predict the acceptability of the nursery. UCI Machine Learning Repository
Bank Marketing The Bank Marketing dataset is a dataset that contains information about the bank marketing, and the task is to predict if the client will subscribe to a term deposit. UCI Machine Learning Repository
Magic Gamma The Magic Gamma dataset is a dataset that contains information about the magic gamma, and the task is to predict if the gamma is signal or background. UCI Machine Learning Repository

 Tutorials

To get started with flex-trees, you can check the notebooks available in the repository. They cover the following topics:

Installation

We recommend Anaconda/Miniconda as the package manager. The following is the corresponding flex-trees versions and supported Python versions.

flex flex-trees Python
main / nightly main / nightly >=3.8, <=3.11
v0.6.0 v0.1.0 >=3.8, <=3.11

To install the package, you can use the following commands:

Using pip:

pip install flextrees

Download the repository and install it locally:

git clone git@github.com:FLEXible-FL/flex-trees.git
cd flex-trees
pip install -e .

## Citation

If you use this package, please cite the following paper:

TODO: Add citation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flextrees-0.1.0.tar.gz (42.9 kB view details)

Uploaded Source

Built Distribution

flextrees-0.1.0-py3-none-any.whl (54.2 kB view details)

Uploaded Python 3

File details

Details for the file flextrees-0.1.0.tar.gz.

File metadata

  • Download URL: flextrees-0.1.0.tar.gz
  • Upload date:
  • Size: 42.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.4

File hashes

Hashes for flextrees-0.1.0.tar.gz
Algorithm Hash digest
SHA256 95a69b964040a8dd20beeb73c20fb9fba3cc3ed3eec195abb9161179e2983b69
MD5 fda2ac866e0f392a494cf6374af78297
BLAKE2b-256 8693e6066e5cae3bb5ef8e7a94bbd42966ef15e37725c794b9333a70a275cc56

See more details on using hashes here.

File details

Details for the file flextrees-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: flextrees-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 54.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.4

File hashes

Hashes for flextrees-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2e3e612c73f7f16fa13a06d922a863725aff86fbd7afa66f12525d1395bc1f87
MD5 855651663f80007844d3ca8d018c8e6b
BLAKE2b-256 f5e56af83ee3307f28faefef855dee4c1801762661d328b05ad6c72a8ab51897

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page