FastTreeBinaryFeaturizationEstimator 类

定义

用于 IEstimator<TTransformer> 将输入特征向量转换为基于树的特征的 。

public sealed class FastTreeBinaryFeaturizationEstimator : Microsoft.ML.Trainers.FastTree.TreeEnsembleFeaturizationEstimatorBase
type FastTreeBinaryFeaturizationEstimator = class
    inherit TreeEnsembleFeaturizationEstimatorBase
Public NotInheritable Class FastTreeBinaryFeaturizationEstimator
Inherits TreeEnsembleFeaturizationEstimatorBase
继承
FastTreeBinaryFeaturizationEstimator

注解

输入和输出列

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

此估算器输出以下列:

输出列名称 列名称 说明
Trees 已知大小的向量 Single 所有树的输出值。 其大小与树集成模型中的树总数相同。
Leaves 已知大小的向量 Single 输入特征向量所在的所有叶 ID 的 0-1 向量表示形式。 其大小是树合奏模型中的总叶数。
Paths 已知大小的向量 Single 输入特征向量传递以到达叶的路径的 0-1 向量表示形式。 其大小是树集成模型中的非叶节点数。

这些输出列都是可选的,用户可以更改其名称。 请将跳过列的名称设置为 null,以免生成这些名称。

预测详细信息

此估算器从树集成模型生成多个输出列。 假设模型仅包含一个决策树:

               Node 0
               /    \
             /        \
           /            \
         /                \
       Node 1            Node 2
       /    \            /    \
     /        \        /        \
   /            \     Leaf -3  Node 3
  Leaf -1      Leaf -2         /    \
                             /        \
                            Leaf -4  Leaf -5

假设输入特征向量属于 Leaf -1。 输出 Trees 可以是 1 元素向量,其中唯一的值是 携带的 Leaf -1决策值。 输出 Leaves 为 0-1 向量。 如果到达的叶是按 $- (i+1) $ 索引的第$i$ (,则第一个叶是 Leaf -1 树中的) 叶,则 中的 Leaves 第$i$值将为 1,所有其他值为 0。 输出 Paths 是到达叶之前通过的节点的 0-1 表示形式。 中的 $i$-th 元素 Paths 指示是否 (按 $i$) 索引$i$ 节点。 例如,到达 Leaf -1 潜在顾客 $[1, 1, 0, 0]$ 作为 Paths。 如果有多个树,则此估算器只是TreesLeavesPaths连接所有树的 , (第一棵树的信息首先出现在串联向量) 。

有关使用示例的链接,请查看“另请参阅”部分。

方法

Fit(IDataView)

生成一个 , TreeEnsembleModelParameters 它将调用 InputColumnNameinput 列映射到三个输出列。

(继承自 TreeEnsembleFeaturizationEstimatorBase)
GetOutputSchema(SchemaShape)

PretrainedTreeFeaturizationEstimator 将三个浮向量列添加到 中 inputSchema。 给定特征向量列,添加的列是所有树的预测值、特征向量所属的叶 ID 以及这些树叶的路径。

(继承自 TreeEnsembleFeaturizationEstimatorBase)

扩展方法

AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment)

将“缓存检查点”追加到估算器链。 这将确保针对缓存的数据训练下游估算器。 在采用多个数据传递的培训师之前设置缓存检查点会很有帮助。

WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>)

给定估算器后,返回一个包装对象,该对象在调用委托后 Fit(IDataView) 将调用委托。 估算器通常必须返回有关适合的内容的信息,这就是方法返回特定类型对象(而不仅仅是常规 ITransformer对象)的原因Fit(IDataView)。 但是,同时, IEstimator<TTransformer> 通常会形成包含许多对象的管道,因此,我们可能需要通过 EstimatorChain<TLastTransformer> 生成一个估算器链,其中,要获取转换器的估算器埋在此链中的某个位置。 对于这种情况,我们可以通过此方法附加一个委托,该委托将在调用拟合后调用。

适用于

另请参阅