FastTreeRankingTrainer 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
用于 IEstimator<TTransformer> 使用 FastTree 训练决策树排名模型。
public sealed class FastTreeRankingTrainer : Microsoft.ML.Trainers.FastTree.BoostingFastTreeTrainerBase<Microsoft.ML.Trainers.FastTree.FastTreeRankingTrainer.Options,Microsoft.ML.Data.RankingPredictionTransformer<Microsoft.ML.Trainers.FastTree.FastTreeRankingModelParameters>,Microsoft.ML.Trainers.FastTree.FastTreeRankingModelParameters>
type FastTreeRankingTrainer = class
inherit BoostingFastTreeTrainerBase<FastTreeRankingTrainer.Options, RankingPredictionTransformer<FastTreeRankingModelParameters>, FastTreeRankingModelParameters>
Public NotInheritable Class FastTreeRankingTrainer
Inherits BoostingFastTreeTrainerBase(Of FastTreeRankingTrainer.Options, RankingPredictionTransformer(Of FastTreeRankingModelParameters), FastTreeRankingModelParameters)
- 继承
注解
若要创建此训练程序,请使用 FastTree 或 FastTree (选项) 。
输入和输出列
输入标签数据类型必须为 key 类型或 Single。 标签的值决定相关性,其中较高的值表示较高的相关性。 如果标签为 key 类型,则键索引为相关性值,其中最小索引是最不相关的。 如果标签为 Single,则较大的值表示较高的相关性。 特征列必须是已知大小的矢量, Single 输入行组列必须是 键 类型。
该训练程序输出以下列:
输出列名称 | 列名称 | 说明 |
---|---|---|
Score |
Single | 模型计算的未绑定分数以确定预测。 |
训练器特征
机器学习任务 | 排名 |
规范化是否需要? | 否 |
是否需要缓存? | 否 |
除 Microsoft.ML 外所需的 NuGet | Microsoft.ML.FastTree |
可导出到 ONNX | 否 |
训练算法详细信息
FastTree 是 MART 梯度提升算法的高效实现。 梯度提升是解决回归问题的一种机器学习技术。 它使用预定义的损失函数测量每个步骤中的误差并在下一个步骤中纠正误差,以步进的方式构建每个回归树。 因此,此预测模型实际上是较弱预测模型的系综。 在回归问题中,提升可采用步进方式构建一系列树,然后选择使用任意可微损失函数的最佳树。
MART 学习回归树的系综,它是一个决策树,其叶中包含标量值。 决策(或回归)树是一种类似于二叉树的流程图,其中在每个内部节点处,根据某个来自输入的特征值决定两个子节点中的哪一个继续。 在每个叶节点处返回一个值。 在内部节点中,决策基于测试 x = v,其中 x <是输入样本中特征的值,v 是此功能的可能值之一。 回归树能够生成的函数都是分段式的常量函数。
通过在每个步骤中计算近似损失函数梯度的回归树,并将其添加到具有可将新树损失降至最低的系数的先前树中,从而生成树的系综。 MART 在给定的实例上生成的系综的输出是树输出的总数。
- 对于二元分类问题,输出通过使用某种形式的校准转换为概率。
- 对于回归问题,输出是函数的预测值。
- 对于排名问题,这些实例按系综的输出值排序。
有关详细信息,请参阅:
有关用法示例的链接,请查看“另请参阅”部分。
字段
FeatureColumn |
训练程序期望的功能列。 (继承自 TrainerEstimatorBase<TTransformer,TModel>) |
GroupIdColumn |
排名训练器期望的可选 groupID 列。 (继承自 TrainerEstimatorBaseWithGroupId<TTransformer,TModel>) |
LabelColumn |
训练程序期望的标签列。 可以是 |
WeightColumn |
训练器期望的权重列。 可以 |
属性
Info |
用于 IEstimator<TTransformer> 使用 FastTree 训练决策树排名模型。 (继承自 FastTreeTrainerBase<TOptions,TTransformer,TModel>) |
方法
Fit(IDataView, IDataView) |
使用训练和验证数据训练一个 FastTreeRankingTrainer 返回 a RankingPredictionTransformer<TModel>. |
Fit(IDataView) |
火车并返回一个 ITransformer。 (继承自 TrainerEstimatorBase<TTransformer,TModel>) |
GetOutputSchema(SchemaShape) |
用于 IEstimator<TTransformer> 使用 FastTree 训练决策树排名模型。 (继承自 TrainerEstimatorBase<TTransformer,TModel>) |
扩展方法
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
将“缓存检查点”追加到估算器链。 这将确保针对缓存的数据训练下游估算器。 在执行多个数据传递的训练器之前,拥有缓存检查点会很有帮助。 |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
给定估算器后,返回将调用委托的 Fit(IDataView) 包装对象。 估算器通常必须返回有关拟合情况的信息,这就是为什么 Fit(IDataView) 该方法返回特定类型化对象的原因,而不仅仅是常规 ITransformer对象。 但是,同时, IEstimator<TTransformer> 通常形成为包含许多对象的管道,因此,我们可能需要通过 EstimatorChain<TLastTransformer> 估算器链生成一系列估算器,以便我们要获取转换器的估算器被埋在此链中的某个位置。 对于这种情况,我们可以通过此方法附加调用一次将调用的委托。 |