YDF 是一个用于训练、评估、解释和部署随机森林、
梯度提升决策树和 CART 决策森林模型的库。
梯度提升决策树和 CART 决策森林模型的库。
简洁现代的 API
YDF 支持快速原型设计和开发,同时最大限度地减少建模错误的风险。
深度学习组合
与 Jax、TensorFlow 和 Keras 集成。
前沿算法
包含最新的决策森林研究,以确保最佳性能。
快速推理
在几微秒内计算预测。在 Google 中每秒执行数千万次。
安装
要从 PyPI 安装 YDF,请运行:
YDF 适用于 Python 3.8、3.9、3.11 和 3.12,支持 Windows x86-64、Linux x86-64 和 macOS ARM64。
使用示例
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")
主要功能
建模
- 训练 随机森林、 梯度提升树、 CART 和 隔离森林 模型。
- 训练 分类、 回归、排序、 提升 和 异常检测 模型。
- 决策树图。
- 解释模型(变量重要性、 部分依赖图、条件依赖图)。
- 解释预测(反事实、 特征变化)。
- 评估模型(准确率、AUC、ROC 图、 RMSE、置信区间、 交叉验证)。
- 超参数调优模型。
- 原生支持 数值、 分类、布尔值、标签、文本和 缺失值。
- 原生支持 Pandas 数据框、Numpy 数组、 TensorFlow 数据集、CSV 文件和 TensorFlow 记录。
服务
- 基准测试 模型 推理。
- 在 Python 中运行模型,C++ Go, JavaScript, 和 CLI.
- 通过REST API进行在线推理,使用 TensorFlow Serving和Vertex AI.
高级建模
- 在 TensorFlow, Keras 和 JAX中将YDF模型与神经网络模型组合。
- 在数十亿样本和数百台机器上进行分布式训练。
- 使用前沿学习算法,如斜向分割、诚实树、海森评分、全局树优化、最优类别分割、类别集输入、DART、极度随机树。
- 应用单调约束。
- 使用多维特征。
- 自2018年以来享受模型和学习器的向后兼容性。
- 在Python中编辑树。
- 在Python中定义自定义损失。
下一步
阅读🧭 入门教程。你将学习如何训练模型、解释模型、评估模型、生成预测、基准测试其速度,并将其导出以供服务。
在Github上向我们提问。Google员工可以加入内部YDF聊天。
阅读TF-DF到YDF迁移指南,将TensorFlow决策森林管道转换为YDF管道。