Skip to main content

Collection of training and inference decision forest algorithms.

Project description

TensorFlow Decision Forests (TF-DF) is a library to train, run and interpret decision forest models (e.g., Random Forests, Gradient Boosted Trees) in TensorFlow. TF-DF supports classification, regression and ranking.

TF-DF is powered by Yggdrasil Decision Forest (YDF, a library to train and use decision forests in C++, JavaScript, CLI, and Go. TF-DF models are compatible with YDF' models, and vice versa.

Tensorflow Decision Forests is available on Linux and Mac. Windows users can use the library through WSL+Linux.

Usage example

A minimal end-to-end run looks as follows:

import tensorflow_decision_forests as tfdf
import pandas as pd

# Load the dataset in a Pandas dataframe.
train_df = pd.read_csv("project/train.csv")
test_df = pd.read_csv("project/test.csv")

# Convert the dataset into a TensorFlow dataset.
train_ds = tfdf.keras.pd_dataframe_to_tf_dataset(train_df, label="my_label")
test_ds = tfdf.keras.pd_dataframe_to_tf_dataset(test_df, label="my_label")

# Train the model
model = tfdf.keras.RandomForestModel()
model.fit(train_ds)

# Look at the model.
model.summary()

# Evaluate the model.
model.evaluate(test_ds)

# Export to a TensorFlow SavedModel.
# Note: the model is compatible with Yggdrasil Decision Forests.
model.save("project/model")

Google I/O Presentation

Documentation & Resources

The following resources are available:

Installation

To install TensorFlow Decision Forests, run:

pip3 install tensorflow_decision_forests --upgrade

See the installation page for more details, troubleshooting and alternative installation solutions.

Contributing

Contributions to TensorFlow Decision Forests and Yggdrasil Decision Forests are welcome. If you want to contribute, make sure to review the developer manual and contribution guidelines.

Citation

If you us Tensorflow Decision Forests in a scientific publication, please cite the following paper: Yggdrasil Decision Forests: A Fast and Extensible Decision Forests Library.

Bibtex

@inproceedings{GBBSP23,
  author       = {Mathieu Guillame{-}Bert and
                  Sebastian Bruch and
                  Richard Stotz and
                  Jan Pfeifer},
  title        = {Yggdrasil Decision Forests: {A} Fast and Extensible Decision Forests
                  Library},
  booktitle    = {Proceedings of the 29th {ACM} {SIGKDD} Conference on Knowledge Discovery
                  and Data Mining, {KDD} 2023, Long Beach, CA, USA, August 6-10, 2023},
  pages        = {4068--4077},
  year         = {2023},
  url          = {https://doi.org/10.1145/3580305.3599933},
  doi          = {10.1145/3580305.3599933},
}

Raw

Yggdrasil Decision Forests: A Fast and Extensible Decision Forests Library, Guillame-Bert et al., KDD 2023: 4068-4077. doi:10.1145/3580305.3599933

Contact

You can contact the core development team at decision-forests-contact@google.com.

Credits

TensorFlow Decision Forests was developed by:

  • Mathieu Guillame-Bert (gbm AT google DOT com)
  • Jan Pfeifer (janpf AT google DOT com)
  • Richard Stotz (richardstotz AT google DOT com)
  • Sebastian Bruch (sebastian AT bruch DOT io)
  • Arvind Srinivasan (arvnd AT google DOT com)

License

Apache License 2.0

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

tensorflow_decision_forests-1.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.9 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

tensorflow_decision_forests-1.11.0-cp311-cp311-macosx_12_0_arm64.whl (12.0 MB view details)

Uploaded CPython 3.11 macOS 12.0+ ARM64

tensorflow_decision_forests-1.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.9 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

tensorflow_decision_forests-1.11.0-cp310-cp310-macosx_12_0_arm64.whl (12.0 MB view details)

Uploaded CPython 3.10 macOS 12.0+ ARM64

tensorflow_decision_forests-1.11.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.9 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

tensorflow_decision_forests-1.11.0-cp39-cp39-macosx_12_0_arm64.whl (12.0 MB view details)

Uploaded CPython 3.9 macOS 12.0+ ARM64

File details

Details for the file tensorflow_decision_forests-1.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tensorflow_decision_forests-1.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c3a793b9528d251cc907d365e35e7a70f645f9a94df63c982733ff1d9361011c
MD5 92c395a6ce0c5bdc687a255c4fb9cb96
BLAKE2b-256 7c44e9680debc8bdbdb0ebd7c3682be4f21f6681cbf8546f3b89a24b785a9ecf

See more details on using hashes here.

File details

Details for the file tensorflow_decision_forests-1.11.0-cp311-cp311-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for tensorflow_decision_forests-1.11.0-cp311-cp311-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 758071891bb77ac67edfdb10e3f76f3ac19a0cad34ded2174077612b24515c4c
MD5 d787930d8c33a9fb04b9ac6c3a9dd5a0
BLAKE2b-256 0dc9c0b54c26fb053a855481e1fde1352a63cfec1e50e61249b86e840cfa7ef9

See more details on using hashes here.

File details

Details for the file tensorflow_decision_forests-1.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tensorflow_decision_forests-1.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e5c28e07cf761816bc9f8afc8a24252672a31bf5737f721dc19245faa7dcb92e
MD5 4f7c41104e38040f123ae22c09dc3695
BLAKE2b-256 f393cc25bc8d2afb90255270877d42d5ec75f515e124a402642330b34643c480

See more details on using hashes here.

File details

Details for the file tensorflow_decision_forests-1.11.0-cp310-cp310-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for tensorflow_decision_forests-1.11.0-cp310-cp310-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 27a900dd17d56210316dac19196ae5d77dc793723d168ab271412c6d65f43d0c
MD5 0c37564590888feeda4e670eefd4d2dd
BLAKE2b-256 ce7eb9bbeab7cd50f10537303801b6cb5e1b3801697d27d4ea7d2f8bf02f25ad

See more details on using hashes here.

File details

Details for the file tensorflow_decision_forests-1.11.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tensorflow_decision_forests-1.11.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1cc5061480bea2e370265a8649792fd96d417e7ad34fdd81a2920550ff77104a
MD5 4ab2f76c3e5679532b73cc505c5a1ab9
BLAKE2b-256 4355152daa9ed50103394bbbc639f09d2dc853666d89967c8f8b93859a12dbb3

See more details on using hashes here.

File details

Details for the file tensorflow_decision_forests-1.11.0-cp39-cp39-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for tensorflow_decision_forests-1.11.0-cp39-cp39-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 7cab9b82658ffba0acdd84382d2b7a8efb86a8bb3cc1409b2bf64da172672a8d
MD5 45ae0f9de56a0e4fd32559869168bd02
BLAKE2b-256 528c5a187fb7870553dda716c5245473c9956f9f0c7888a6ae0a19519df76dbe

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