FastForestBinaryTrainer 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
用于 IEstimator<TTransformer> 使用快速林训练决策树二元分类模型。
public sealed class FastForestBinaryTrainer : Microsoft.ML.Trainers.FastTree.RandomForestTrainerBase<Microsoft.ML.Trainers.FastTree.FastForestBinaryTrainer.Options,Microsoft.ML.Data.BinaryPredictionTransformer<Microsoft.ML.Trainers.FastTree.FastForestBinaryModelParameters>,Microsoft.ML.Trainers.FastTree.FastForestBinaryModelParameters>
type FastForestBinaryTrainer = class
inherit RandomForestTrainerBase<FastForestBinaryTrainer.Options, BinaryPredictionTransformer<FastForestBinaryModelParameters>, FastForestBinaryModelParameters>
Public NotInheritable Class FastForestBinaryTrainer
Inherits RandomForestTrainerBase(Of FastForestBinaryTrainer.Options, BinaryPredictionTransformer(Of FastForestBinaryModelParameters), FastForestBinaryModelParameters)
- 继承
注解
若要创建此训练程序,请使用 FastForest 或 FastForest(选项)。
输入和输出列
输入标签列中的数据必须是 Boolean。 输入特征列数据必须是已知大小的向量 Single。
该训练程序输出以下列:
| 输出列名称 | 列类型 | Description | |
|---|---|---|---|
Score |
Single | 模型计算的未绑定分数。 | |
PredictedLabel |
Boolean | 预测的标签,基于分数符号。 负分数映射到 false,正分数映射到 true。 |
|
Probability |
Single | 通过校准具有 true 作为标签的分数来计算的概率。 概率值在 [0, 1] 范围内。 |
训练器特征
| 机器学习任务 | 二元分类 |
| 是否需要规范化? | 否 |
| 是否需要缓存? | 否 |
| 除 Microsoft.ML 之外所需的 NuGet | Microsoft.ML.FastTree |
| 可导出到 ONNX | 是的 |
训练算法详细信息
决策树是对输入执行一系列简单测试的非参数模型。 此决策过程将它们映射到训练数据集中找到的输出,这些输出的输入类似于正在处理的实例。 在二进制树数据结构的每个节点上做出决策,该度量值基于相似性度量值,以递归方式通过树的分支映射每个实例,直到到达相应的叶节点并返回输出决策。
决策树具有几个优点:
- 在训练和预测期间,它们在计算和内存使用方面都有效。
- 它们可以表示非线性决策边界。
- 它们执行集成的特征选择和分类。
- 在干扰功能的存在下,它们具有复原能力。
快速林是随机林实现。 该模型由决策树的合奏组成。 决策林中的每个树通过预测输出高斯分布。 通过树合奏执行聚合,以查找最接近模型中所有树的组合分布的 Gaussian 分布。 此决策林分类器由决策树的一组组成。
通常,合奏模型比单个决策树提供更好的覆盖范围和准确性。 决策林中的每个树都会输出高斯分布。
有关详细信息,请参阅:
有关用法示例的链接,请查看“另请参阅”部分。
字段
| 名称 | 说明 |
|---|---|
| FeatureColumn |
训练程序期望的功能列。 (继承自 TrainerEstimatorBase<TTransformer,TModel>) |
| GroupIdColumn |
排名训练程序期望的可选 groupID 列。 (继承自 TrainerEstimatorBaseWithGroupId<TTransformer,TModel>) |
| LabelColumn |
训练程序期望的标签列。 可以是 |
| WeightColumn |
训练器期望的权重列。 可以 |
属性
| 名称 | 说明 |
|---|---|
| Info |
用于 IEstimator<TTransformer> 使用快速林训练决策树二元分类模型。 (继承自 FastTreeTrainerBase<TOptions,TTransformer,TModel>) |
方法
| 名称 | 说明 |
|---|---|
| Fit(IDataView, IDataView) |
使用训练和验证数据训练一个 FastForestBinaryTrainer 返回一个 BinaryPredictionTransformer<TModel>。 |
| Fit(IDataView) |
火车并返回一个 ITransformer。 (继承自 TrainerEstimatorBase<TTransformer,TModel>) |
| GetOutputSchema(SchemaShape) |
用于 IEstimator<TTransformer> 使用快速林训练决策树二元分类模型。 (继承自 TrainerEstimatorBase<TTransformer,TModel>) |
扩展方法
| 名称 | 说明 |
|---|---|
| AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
将“缓存检查点”追加到估算器链。 这将确保根据缓存的数据训练下游估算器。 在执行多个数据传递的训练器之前,拥有缓存检查点会很有帮助。 |
| WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
给定估算器后,返回一个包装对象,该对象将调用委托一次 Fit(IDataView) 。 估算器通常必须返回有关拟合情况的信息,这就是为什么 Fit(IDataView) 该方法返回特定类型化对象的原因,而不仅仅是常规 ITransformer对象。 但是,同时, IEstimator<TTransformer> 通常形成成包含许多对象的管道,因此我们可能需要通过 EstimatorChain<TLastTransformer> 估算器链来生成一个估算器链,而我们想要获取转换器的估算器被埋在此链中的某个位置。 对于这种情况,我们可以通过此方法附加一个委托,该委托将在调用拟合后调用。 |