Skip to content

YDF 是一个用于训练、评估、解释和部署随机森林、
梯度提升决策树和 CART 决策森林模型的库。

开始使用 🧭

简洁现代的 API
YDF 支持快速原型设计和开发,同时最大限度地减少建模错误的风险。
深度学习组合
与 Jax、TensorFlow 和 Keras 集成。
前沿算法
包含最新的决策森林研究,以确保最佳性能。
快速推理
在几微秒内计算预测。在 Google 中每秒执行数千万次。

安装

要从 PyPI 安装 YDF,请运行:

pip install ydf -U

YDF 适用于 Python 3.8、3.9、3.11 和 3.12,支持 Windows x86-64、Linux x86-64 和 macOS ARM64。

使用示例

在 Colab 中打开

import ydf
import pandas as pd

# 使用 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")

# 训练一个梯度提升树模型
model = ydf.GradientBoostedTreesLearner(label="income").train(train_ds)

# 查看模型(输入特征、训练日志、结构等)
model.describe()

# 评估模型(例如:ROC、准确率、混淆矩阵、置信区间)
model.evaluate(test_ds)

# 生成预测
model.predict(test_ds)

# 分析模型(例如:部分依赖图、变量重要性)
model.analyze(test_ds)

# 基准测试模型的推理速度
model.benchmark(test_ds)

# 保存模型
model.save("/tmp/my_model")

主要功能

建模

服务

高级建模

  • TensorFlow, KerasJAX中将YDF模型与神经网络模型组合。
  • 在数十亿样本和数百台机器上进行分布式训练
  • 使用前沿学习算法,如斜向分割、诚实树、海森评分、全局树优化、最优类别分割、类别集输入、DART、极度随机树。
  • 应用单调约束
  • 使用多维特征。
  • 自2018年以来享受模型和学习器的向后兼容性。
  • 在Python中编辑树
  • 在Python中定义自定义损失

下一步

阅读🧭 入门教程。你将学习如何训练模型、解释模型、评估模型、生成预测、基准测试其速度,并将其导出以供服务。

Github上向我们提问。Google员工可以加入内部YDF聊天

阅读TF-DF到YDF迁移指南,将TensorFlow决策森林管道转换为YDF管道。