FastTreeBinaryTrainer 类

定义

用于 IEstimator<TTransformer> 使用 FastTree 训练决策树二元分类模型。

public sealed class FastTreeBinaryTrainer : Microsoft.ML.Trainers.FastTree.BoostingFastTreeTrainerBase<Microsoft.ML.Trainers.FastTree.FastTreeBinaryTrainer.Options,Microsoft.ML.Data.BinaryPredictionTransformer<Microsoft.ML.Calibrators.CalibratedModelParametersBase<Microsoft.ML.Trainers.FastTree.FastTreeBinaryModelParameters,Microsoft.ML.Calibrators.PlattCalibrator>>,Microsoft.ML.Calibrators.CalibratedModelParametersBase<Microsoft.ML.Trainers.FastTree.FastTreeBinaryModelParameters,Microsoft.ML.Calibrators.PlattCalibrator>>
type FastTreeBinaryTrainer = class
    inherit BoostingFastTreeTrainerBase<FastTreeBinaryTrainer.Options, BinaryPredictionTransformer<CalibratedModelParametersBase<FastTreeBinaryModelParameters, PlattCalibrator>>, CalibratedModelParametersBase<FastTreeBinaryModelParameters, PlattCalibrator>>
Public NotInheritable Class FastTreeBinaryTrainer
Inherits BoostingFastTreeTrainerBase(Of FastTreeBinaryTrainer.Options, BinaryPredictionTransformer(Of CalibratedModelParametersBase(Of FastTreeBinaryModelParameters, PlattCalibrator)), CalibratedModelParametersBase(Of FastTreeBinaryModelParameters, PlattCalibrator))
继承

注解

若要创建此训练程序,请使用 FastTreeFastTree(选项)。

输入和输出列

输入标签列中的数据必须是 Boolean。 输入特征列数据必须是已知大小的向量 Single

该训练程序输出以下列:

输出列名称 列类型 Description
Score Single 模型计算的未绑定分数。
PredictedLabel Boolean 预测的标签,基于分数符号。 负分数映射到 false,正分数映射到 true
Probability Single 通过校准具有 true 作为标签的分数来计算的概率。 概率值在 [0, 1] 范围内。

训练器特征

机器学习任务 二元分类
是否需要规范化?
是否需要缓存?
除 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

训练程序期望的标签列。 可以是 null,指示标签不用于训练。

(继承自 TrainerEstimatorBase<TTransformer,TModel>)
WeightColumn

训练器期望的权重列。 可以 null,指示权重不用于训练。

(继承自 TrainerEstimatorBase<TTransformer,TModel>)

属性

名称 说明
Info

用于 IEstimator<TTransformer> 使用 FastTree 训练决策树二元分类模型。

(继承自 FastTreeTrainerBase<TOptions,TTransformer,TModel>)

方法

名称 说明
Fit(IDataView, IDataView)

使用训练和验证数据训练一个 FastTreeBinaryTrainer 返回一个 BinaryPredictionTransformer<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> 估算器链来生成一个估算器链,而我们想要获取转换器的估算器被埋在此链中的某个位置。 对于这种情况,我们可以通过此方法附加一个委托,该委托将在调用拟合后调用。

适用于

另请参阅