# Port of Yggdrasil / TensorFlow Decision Forests for Python
The Python port of Yggdrasil Decision is a light-weight wrapper around Yggdrasil
Decision Forests. It allows direct, fast access to YDF's methods and it also
offers advanced import / export, evaluation and inspection methods. While the
package is called YDF, the wrapping code is sometimes lovingly called *PYDF*.
YDF is the successor of
[Tensorflow Decision Forests](https://github.com/tensorflow/decision-forests)
(TF-DF). TF-DF is still maintained, but new projects should choose YDF for
improved performance, better model quality and more features.
## Installation
To install YDF, in Python, simply grab the package from pip:
```
pip install ydf
```
For build instructions, see INSTALLATION.md.
## Usage Example
```python
import ydf
import pandas as pd
ds_path = "https://raw.githubusercontent.com/google/yggdrasil-decision-forests/main/yggdrasil_decision_forests/test_data/dataset"
train_ds = pd.read_csv(f"{ds_path}/adult_train.csv")
test_ds = pd.read_csv(f"{ds_path}/adult_test.csv")
model = ydf.GradientBoostedTreesLearner(label="income").train(train_ds)
print(model.evaluate(test_ds))
model.save("my_model")
loaded_model = ydf.load_model("my_model")
```
## Frequently Asked Questions
See the [FAQ](https://ydf.readthedocs.io/en/latest/faq/) in the documentation.
Raw data
{
"_id": null,
"home_page": "https://github.com/google/yggdrasil-decision-forests",
"name": "ydf",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "machine learning decision forests random forest gradient boosted decision trees classification regression ranking uplift",
"author": "Mathieu Guillame-Bert, Richard Stotz, Jan Pfeifer",
"author_email": "decision-forests-contact@google.com",
"download_url": null,
"platform": null,
"description": "# Port of Yggdrasil / TensorFlow Decision Forests for Python\n\nThe Python port of Yggdrasil Decision is a light-weight wrapper around Yggdrasil\nDecision Forests. It allows direct, fast access to YDF's methods and it also\noffers advanced import / export, evaluation and inspection methods. While the\npackage is called YDF, the wrapping code is sometimes lovingly called *PYDF*.\n\nYDF is the successor of\n[Tensorflow Decision Forests](https://github.com/tensorflow/decision-forests) \n(TF-DF). TF-DF is still maintained, but new projects should choose YDF for\nimproved performance, better model quality and more features.\n\n## Installation\n\nTo install YDF, in Python, simply grab the package from pip:\n\n```\npip install ydf\n```\n\nFor build instructions, see INSTALLATION.md.\n\n## Usage Example\n\n```python\nimport ydf\nimport pandas as pd\n\nds_path = \"https://raw.githubusercontent.com/google/yggdrasil-decision-forests/main/yggdrasil_decision_forests/test_data/dataset\"\ntrain_ds = pd.read_csv(f\"{ds_path}/adult_train.csv\")\ntest_ds = pd.read_csv(f\"{ds_path}/adult_test.csv\")\n\nmodel = ydf.GradientBoostedTreesLearner(label=\"income\").train(train_ds)\n\nprint(model.evaluate(test_ds))\n\nmodel.save(\"my_model\")\n\nloaded_model = ydf.load_model(\"my_model\")\n```\n\n## Frequently Asked Questions\n\nSee the [FAQ](https://ydf.readthedocs.io/en/latest/faq/) in the documentation.\n\n",
"bugtrack_url": null,
"license": "Apache 2.0",
"summary": "YDF (short for Yggdrasil Decision Forests) is a library for training, serving, evaluating and analyzing decision forest models such as Random Forest and Gradient Boosted Trees.",
"version": "0.9.0",
"project_urls": {
"Documentation": "https://ydf.readthedocs.io/",
"Homepage": "https://github.com/google/yggdrasil-decision-forests",
"Source": "https://github.com/google/yggdrasil-decision-forests.git",
"Tracker": "https://github.com/google/yggdrasil-decision-forests/issues"
},
"split_keywords": [
"machine",
"learning",
"decision",
"forests",
"random",
"forest",
"gradient",
"boosted",
"decision",
"trees",
"classification",
"regression",
"ranking",
"uplift"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a0e25ac3f0d69bb7f4c0189ff824fcd5cf28297b745dc82b2f79c51965fb6f1f",
"md5": "0b3459de7c8c5bcdb92799ab0e22bacd",
"sha256": "ca29f606584e32a0b9380b6400002c711767661a5b33603e558710d7d6a3086a"
},
"downloads": -1,
"filename": "ydf-0.9.0-cp310-cp310-macosx_12_0_arm64.whl",
"has_sig": false,
"md5_digest": "0b3459de7c8c5bcdb92799ab0e22bacd",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 7100031,
"upload_time": "2024-12-02T16:03:22",
"upload_time_iso_8601": "2024-12-02T16:03:22.228149Z",
"url": "https://files.pythonhosted.org/packages/a0/e2/5ac3f0d69bb7f4c0189ff824fcd5cf28297b745dc82b2f79c51965fb6f1f/ydf-0.9.0-cp310-cp310-macosx_12_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ea00f36d107ce13552008b5f30d1b2348528cb97944c2f1247dfd913cc3f91b1",
"md5": "d8f036b06efce75bc8dae0b5bdd311d7",
"sha256": "741d5cab7219bd6c24b517d881e5e2c7f44b99fc6752199bbb4cec6b910ff7a2"
},
"downloads": -1,
"filename": "ydf-0.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "d8f036b06efce75bc8dae0b5bdd311d7",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 9543520,
"upload_time": "2024-12-02T16:03:24",
"upload_time_iso_8601": "2024-12-02T16:03:24.932069Z",
"url": "https://files.pythonhosted.org/packages/ea/00/f36d107ce13552008b5f30d1b2348528cb97944c2f1247dfd913cc3f91b1/ydf-0.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "de61457e69f61e6dd64c206ece1ebad53adf6efaf0e4c8879d687ddceb79d33a",
"md5": "6b13b93935dcb61588ffed0dda881ee4",
"sha256": "eb7dd5ecdc5de5f56a25bc133b357bf3a1d0039089975d5209cb40c4e86192c1"
},
"downloads": -1,
"filename": "ydf-0.9.0-cp311-cp311-macosx_12_0_arm64.whl",
"has_sig": false,
"md5_digest": "6b13b93935dcb61588ffed0dda881ee4",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 7101205,
"upload_time": "2024-12-02T16:03:27",
"upload_time_iso_8601": "2024-12-02T16:03:27.493182Z",
"url": "https://files.pythonhosted.org/packages/de/61/457e69f61e6dd64c206ece1ebad53adf6efaf0e4c8879d687ddceb79d33a/ydf-0.9.0-cp311-cp311-macosx_12_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "34d0b00a6e2c3eda6b19d7474d9e60f46ebe69fddf253f4c7a123a87c37aa1f5",
"md5": "a522c903f53e92c17a1f2814687dd6b3",
"sha256": "3b7833f7c7fd635d6a82c593e2ad190440a96bf4e7744d66b465f8c6c528787c"
},
"downloads": -1,
"filename": "ydf-0.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "a522c903f53e92c17a1f2814687dd6b3",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 9544157,
"upload_time": "2024-12-02T16:03:32",
"upload_time_iso_8601": "2024-12-02T16:03:32.885586Z",
"url": "https://files.pythonhosted.org/packages/34/d0/b00a6e2c3eda6b19d7474d9e60f46ebe69fddf253f4c7a123a87c37aa1f5/ydf-0.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4b9a6eff4a75a2facff5f94bf38f0182b5448f390e1546bcf16c1bf92ebea5bd",
"md5": "f5a804ca843e8f34a3d8214591c2576e",
"sha256": "f57d5adb3222221080ae2406b8d2dc86a7006d0e890b297a5956f9a427115b1b"
},
"downloads": -1,
"filename": "ydf-0.9.0-cp312-cp312-macosx_12_0_arm64.whl",
"has_sig": false,
"md5_digest": "f5a804ca843e8f34a3d8214591c2576e",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 7106521,
"upload_time": "2024-12-02T16:03:36",
"upload_time_iso_8601": "2024-12-02T16:03:36.139592Z",
"url": "https://files.pythonhosted.org/packages/4b/9a/6eff4a75a2facff5f94bf38f0182b5448f390e1546bcf16c1bf92ebea5bd/ydf-0.9.0-cp312-cp312-macosx_12_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "48d8f9e3e6b921795d916bcf6d2900279e3a03b07bfc0ac9d47ffa4df39b2d90",
"md5": "f0aae40afe38f5425dec0074bf795210",
"sha256": "8fb1dfe93b1f0984d2f7e70cb1cf0ddcf55d8c3d076c203284f2c6e1cd9367d2"
},
"downloads": -1,
"filename": "ydf-0.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "f0aae40afe38f5425dec0074bf795210",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 9542597,
"upload_time": "2024-12-02T16:03:38",
"upload_time_iso_8601": "2024-12-02T16:03:38.837258Z",
"url": "https://files.pythonhosted.org/packages/48/d8/f9e3e6b921795d916bcf6d2900279e3a03b07bfc0ac9d47ffa4df39b2d90/ydf-0.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "be7c0b51ec05930b291fc97706ff427de205f222d20339a452e7ed21f66257b5",
"md5": "08d4817c4469276f13fcbeada9c98b9f",
"sha256": "2b8b70f5744a5eab4432edad53414ed0bbc488567df02ca1a295a1fb60d11350"
},
"downloads": -1,
"filename": "ydf-0.9.0-cp38-cp38-macosx_12_0_arm64.whl",
"has_sig": false,
"md5_digest": "08d4817c4469276f13fcbeada9c98b9f",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 7099485,
"upload_time": "2024-12-02T16:03:41",
"upload_time_iso_8601": "2024-12-02T16:03:41.248950Z",
"url": "https://files.pythonhosted.org/packages/be/7c/0b51ec05930b291fc97706ff427de205f222d20339a452e7ed21f66257b5/ydf-0.9.0-cp38-cp38-macosx_12_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a2b16cbaeb0607db358476756f98ba85abc5fabed55afbd9229b45f469fa8815",
"md5": "1956117bc5685ab318b969b11cd66995",
"sha256": "e7e2be3c010b86cc3486cfc431443ecd4067684f56a7fb98d8bcdaafc3a13e1a"
},
"downloads": -1,
"filename": "ydf-0.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "1956117bc5685ab318b969b11cd66995",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 9541936,
"upload_time": "2024-12-02T16:03:43",
"upload_time_iso_8601": "2024-12-02T16:03:43.153463Z",
"url": "https://files.pythonhosted.org/packages/a2/b1/6cbaeb0607db358476756f98ba85abc5fabed55afbd9229b45f469fa8815/ydf-0.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d3eab2b4bcc346cb5bff05a76125e21de8eeb2b13eea92769d2cfa3a27788000",
"md5": "225b43010b18c1d4beed67076298b6d4",
"sha256": "d44b8ca23ce47a6bffc39e96b659480e5c9fe33ee3aafc7a54380761deefd2a3"
},
"downloads": -1,
"filename": "ydf-0.9.0-cp39-cp39-macosx_12_0_arm64.whl",
"has_sig": false,
"md5_digest": "225b43010b18c1d4beed67076298b6d4",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 7099890,
"upload_time": "2024-12-02T16:03:45",
"upload_time_iso_8601": "2024-12-02T16:03:45.656414Z",
"url": "https://files.pythonhosted.org/packages/d3/ea/b2b4bcc346cb5bff05a76125e21de8eeb2b13eea92769d2cfa3a27788000/ydf-0.9.0-cp39-cp39-macosx_12_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e0ee3170d4829b9c4cbeebcd6a453fed97c04c10f599a19a2d4947196b95087c",
"md5": "e772b89c44931b7a85d4d937738aac40",
"sha256": "ed018484e8dcad60c55334a3c51191b1e8ae8d5201f1fb8fdba1ae6788986619"
},
"downloads": -1,
"filename": "ydf-0.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "e772b89c44931b7a85d4d937738aac40",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 9543669,
"upload_time": "2024-12-02T16:03:50",
"upload_time_iso_8601": "2024-12-02T16:03:50.034974Z",
"url": "https://files.pythonhosted.org/packages/e0/ee/3170d4829b9c4cbeebcd6a453fed97c04c10f599a19a2d4947196b95087c/ydf-0.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-02 16:03:22",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "google",
"github_project": "yggdrasil-decision-forests",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "ydf"
}