API 参考¶
此页面介绍 YDF 的 Python API。用户也可以使用 C++ 和命令行界面 API 训练模型。
学习器¶
一个 学习器 用于训练模型并可进行交叉验证。
- GradientBoostedTreesLearner
- RandomForestLearner
- CartLearner
- DecisionTreeLearner: 是 CartLearner 的别名。
- DistributedGradientBoostedTreesLearner
- IsolationForestLearner
所有学习器均派生自 GenericLearner。
模型¶
一个 模型 用于进行预测并可进行评估。
注意:模型(例如,GradientBoostedTreesModel
)不包含训练功能。要训练模型,您需要创建一个学习器(例如,GradientBoostedTreesLearner
)。训练超参数是学习器类的构造函数参数。
- GradientBoostedTreesModel
- RandomForestModel
- CARTModel: 是 RandomForestModel 的别名。
- IsolationForestModel
所有模型均派生自 GenericModel。
调优器¶
一个 调优器 通过重复训练和评估来寻找最佳超参数集。
- RandomSearchTuner
- VizierTuner (目前仅限 Googlers 使用)
- OptimizerLogs
特征选择器¶
一个 特征选择器 寻找模型的最佳输入特征集。
其他¶
- load_model:从磁盘加载模型。
- Feature:输入特征特定的超参数,例如语义、约束。
- Column:
Feature
的别名。 - Task:指定模型解决的任务,例如分类。
- Semantic:输入特征的解释方式,例如数值型、类别型。
- evaluate_predictions:评估 YDF 和非 YDF 模型的预测结果。
- verbose:控制日志输出量。
- start_worker:启动分布式训练的 worker。
- strict:显示更多日志。
实用工具¶
- ydf.util.read_tf_record:在内存中读取 TF Record 数据集。
- ydf.util.write_tf_record:将 TF Record 数据集从内存中写入。
高级实用工具¶
- ModelIOOptions:将模型保存到磁盘的选项。
- create_vertical_dataset:在内存中加载数据集。
- ModelMetadata:关于模型的元数据,例如训练日期、uid。
- from_tensorflow_decision_forests:从磁盘加载 TensorFlow Decision Forests 模型。
- from_sklearn:将 scikit-learn 模型转换为 YDF 模型。
- NodeFormat:用于序列化树节点的格式。
- DataSpecification:内部数据规范 proto。描述模型的列。
- TrainingConfig:内部训练配置 proto。描述学习器的训练配置。
自定义损失¶
- RegressionLoss:用于回归任务的自定义损失函数。
- BinaryClassificationLoss:用于二分类任务的自定义损失函数。
- MultiClassificationLoss:用于多分类任务的自定义损失函数。
- Activation:自定义损失函数的激活(也称连接)函数集合。
树¶
ydf.tree.*
类提供对树结构、叶节点和值的编程读写访问。
- tree.Tree:由
model.get_tree(...)
和model.set_tree(...)
返回和使用的决策树。
条件¶
- tree.AbstractCondition:基础条件类。
- tree.NumericalHigherThanCondition:形式为
attribute >= threshold
的条件。 - tree.CategoricalIsInCondition:形式为
attribute in mask
的条件。 - tree.CategoricalSetContainsCondition:形式为
attribute intersect mask != empty
的条件。 - tree.DiscretizedNumericalHigherThanCondition:形式为
attribute >= bounds[threshold]
的条件。 - tree.IsMissingInCondition:形式为
attribute is missing
的条件。 - tree.IsTrueCondition:形式为
attribute is true
的条件。 - tree.NumericalSparseObliqueCondition:形式为
sum(attributes[i] * weights[i]) >= threshold
的条件。
节点¶
- tree.AbstractNode:基础节点类。
- tree.Leaf:包含值的叶节点。
- tree.NonLeaf:包含条件的非叶节点。
值¶
- tree.AbstractValue:基础值类。
- tree.ProbabilityValue:一个概率分布值。
- tree.Leaf:回归树的回归值。
- tree.UpliftValue:分类或回归提升树的提升值。