¶
YDF 是一个用于训练、评估、解释和部署随机森林、
梯度提升决策树和 CART 决策森林模型的库。
梯度提升决策树和 CART 决策森林模型的库。
简洁现代的 API
YDF 支持快速原型开发和应用开发,同时最大限度地减少建模错误的风险。


深度学习集成
与 Jax、TensorFlow 和 Keras 集成。
前沿算法
包含最新的决策森林研究成果,以确保最佳性能。
快速推理
在几微秒内计算预测结果。在 Google 每秒执行数千万次。
安装¶
要从 PyPI 安装 YDF,请运行
YDF 支持 Python 3.8、3.9、3.10、3.11 和 3.12,支持 Windows x86-64、Linux x86-64 和 macOS ARM64。
使用示例¶
import ydf
import pandas as pd
# Load dataset with Pandas
ds_path = "https://raw.githubusercontent.com/google/yggdrasil-decision-forests/main/yggdrasil_decision_forests/test_data/dataset/"
train_ds = pd.read_csv(ds_path + "adult_train.csv")
test_ds = pd.read_csv(ds_path + "adult_test.csv")
# Train a Gradient Boosted Trees model
model = ydf.GradientBoostedTreesLearner(label="income").train(train_ds)
# Look at a model (input features, training logs, structure, etc.)
model.describe()
# Evaluate a model (e.g. roc, accuracy, confusion matrix, confidence intervals)
model.evaluate(test_ds)
# Generate predictions
model.predict(test_ds)
# Analyse a model (e.g. partial dependence plot, variable importance)
model.analyze(test_ds)
# Benchmark the inference speed of a model
model.benchmark(test_ds)
# Save the model
model.save("/tmp/my_model")
主要特性¶
建模
- 训练 随机森林、梯度提升树、Cart 和 Isolation Forest 模型。
- 训练 分类、回归、排序、uplifting 和 异常检测 模型。
- 决策树可视化.
- 解释模型(变量重要性、部分依赖图、条件依赖图)。
- 解释预测(反事实、特征变化)。
- 评估模型(准确率、AUC、ROC 图、RMSE、置信区间、交叉验证)。
- 调优模型超参数.
- 原生支持数值型、类别型、布尔型、标签、文本和缺失值输入。
- 原生支持 Pandas Dataframe、Numpy 数组、TensorFlow Datasets、CSV 文件和 TensorFlow Records 输入。
部署
- 基准测试模型推理速度。
- 在 Python、C++、Go、JavaScript 和 CLI 中运行模型。
- 通过 TensorFlow Serving 和 Vertex AI 使用 REST API 进行在线推理。
高级建模
- 在 TensorFlow、Keras 和 JAX 中将 YDF 模型与神经网络模型组合。
- 在数十亿示例和数百台机器上进行分布式训练。
- 使用前沿学习算法,例如斜切分、诚实树、Hessian 分数、全局树优化、最优类别切分、类别集输入、dart、极端随机树。
- 应用单调性约束。
- 支持多维特征输入。
- 模型和学习器自 2018 年以来保持向后兼容性。
- 在 Python 中编辑树。
- 在 Python 中定义自定义损失函数。
下一步¶
阅读 🧭 入门教程。您将学习如何训练模型、解释模型、评估模型、生成预测结果、基准测试其速度以及导出模型进行部署。
在 Github 上提问。Googler 可以加入 内部 YDF 聊天群。
阅读 TF-DF 到 YDF 迁移指南,了解如何将 TensorFlow Decision Forests 流水线转换为 YDF 流水线。