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.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.5 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

tensorflow_decision_forests-1.9.0-cp311-cp311-macosx_12_0_arm64.whl (11.6 MB view details)

Uploaded CPython 3.11 macOS 12.0+ ARM64

tensorflow_decision_forests-1.9.0-cp311-cp311-macosx_10_15_x86_64.whl (12.6 MB view details)

Uploaded CPython 3.11 macOS 10.15+ x86-64

tensorflow_decision_forests-1.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.5 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

tensorflow_decision_forests-1.9.0-cp310-cp310-macosx_12_0_arm64.whl (11.6 MB view details)

Uploaded CPython 3.10 macOS 12.0+ ARM64

tensorflow_decision_forests-1.9.0-cp310-cp310-macosx_10_15_x86_64.whl (12.6 MB view details)

Uploaded CPython 3.10 macOS 10.15+ x86-64

tensorflow_decision_forests-1.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.5 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

tensorflow_decision_forests-1.9.0-cp39-cp39-macosx_12_0_arm64.whl (11.6 MB view details)

Uploaded CPython 3.9 macOS 12.0+ ARM64

tensorflow_decision_forests-1.9.0-cp39-cp39-macosx_10_15_x86_64.whl (12.6 MB view details)

Uploaded CPython 3.9 macOS 10.15+ x86-64

File details

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

File metadata

File hashes

Hashes for tensorflow_decision_forests-1.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f24a830e9d0c3283579ce8406009580ab9295371a014001511963be7c19f8b07
MD5 d473a61a4baab2015446864bbead2d09
BLAKE2b-256 6078a83ef523f65b69854ff73e507608782cd56200ca57e30787860e7e0ffd1b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensorflow_decision_forests-1.9.0-cp311-cp311-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 baafff33647e87565b8e93bff92f3bace89e4efb5cfd2aceff1a05de52ab3d16
MD5 180a96817f8ee497af0ae4dadbac386d
BLAKE2b-256 e1b11edf4b2126349a158050b4734b860fa7a776f60c54665dc48eb5e329945e

See more details on using hashes here.

File details

Details for the file tensorflow_decision_forests-1.9.0-cp311-cp311-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for tensorflow_decision_forests-1.9.0-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 688d522d4de7f8e868f068df383d6cfe7f898cba60811f325f470c784ce365e2
MD5 b488c8c4a1922599ef113d986fd2d472
BLAKE2b-256 6e68ecfe92f30e74ec385bd3dabf23b61e623cc14b9a63add037d93afa5d449f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensorflow_decision_forests-1.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7868b1ad4054b14d3f45635fb7eab73495a25900ea4cf12fecc140c3c2004909
MD5 7faab3fbdb0b361e37e1314f5edf11c5
BLAKE2b-256 68559bcf89e2530e665cec4dc8a6558b5644fef26f10248bf54a30ed9f9cc0fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensorflow_decision_forests-1.9.0-cp310-cp310-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 c5fe3b8fca3579f9342995a85f1c66b8c3524d002ff6cab92d90b557a79715ef
MD5 281686846dcb1b31102adee458e632e8
BLAKE2b-256 ebccf771e2b71ac4dec8a47287f9a552401a4e0e2a03f41a710c4560b2ba2f61

See more details on using hashes here.

File details

Details for the file tensorflow_decision_forests-1.9.0-cp310-cp310-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for tensorflow_decision_forests-1.9.0-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 bbc76e92c693114037e5380fcc11201d260e7290f30a56daf23306e0103dd9bb
MD5 ac2836c35a9d5c1baacdfc17bed4be31
BLAKE2b-256 3550b01498bf3c2f237a43b86a42283feb186aef2b8247101437477d2a7cabfb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensorflow_decision_forests-1.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 54d9bb6040fb7698860a23f38ec8a5ce4c2d162f7a54ce82b1b13cf353bac31a
MD5 cb393db38d5db611a84fa04ade38d9c8
BLAKE2b-256 93605f146ad387baa2b2e1c5d3bac99c8a9b98a000f141279743ce3b5f28da22

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tensorflow_decision_forests-1.9.0-cp39-cp39-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 942d0501ed95ef2964d1fdb4196b34b75794cc19276770c169de8d4638efa350
MD5 159e921cdd6e58d4448d3e4384638668
BLAKE2b-256 7960cf315165d4b6e022a0b6605919fcccc9f42b55fdaf5a11eafad37de4a00c

See more details on using hashes here.

File details

Details for the file tensorflow_decision_forests-1.9.0-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for tensorflow_decision_forests-1.9.0-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 bf85a2d292bcce59d31518f102baa6b8c42d40e73dd5b667d4df83564b2b01dd
MD5 16a3bc41e7253044c7a94028fe5f97a9
BLAKE2b-256 46bbdf59564319fb28801b7e1659c7ddcfc07c15dc3e2fd6ed0764326f5df2b3

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