GamBinaryTrainer 类

定义

用于 IEstimator<TTransformer> 使用通用累加模型训练二元分类模型 (GAM) 。

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

注解

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

输入和输出列

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

该训练程序输出以下列:

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

训练器特征

机器学习任务 二元分类
规范化是否需要?
是否需要缓存?
除 Microsoft.ML 外所需的 NuGet Microsoft.ML.FastTree
可导出到 ONNX

训练算法详细信息

通用累加模型或 GAM 将数据建模为类似于线性模型的一组线性独立特征。 对于每个特征,GAM 训练器将学习一个名为“形状函数”的非线性函数,该函数将响应计算为特征值的函数。 (相反,线性模型适合线性响应 (,例如每个特征的直线) 。) 若要对输入进行评分,将求和所有形状函数的输出,分数是总值。

此 GAM 训练器是使用浅渐变提升树实现的 (,例如树桩) 学习非参数形状函数,并基于卢、卡鲁阿纳和 Gehrke 中所述的方法。 “用于分类和回归的 Intelligible 模型。 KDD'12,北京,中国。 2012. 训练后,将添加一个截距来表示训练集的平均预测,并规范化形状函数来表示与平均预测的偏差。 这会导致只需检查截距和形状函数即可轻松解释的模型。 有关如何训练 GAM 模型并检查和解释结果的示例,请参阅以下示例。

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

字段

FeatureColumn

训练程序期望的功能列。

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

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

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

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

(继承自 TrainerEstimatorBase<TTransformer,TModel>)

属性

Info

用于 IEstimator<TTransformer> 使用通用累加模型训练二元分类模型 (GAM) 。

(继承自 GamTrainerBase<TOptions,TTransformer,TPredictor>)

方法

Fit(IDataView, IDataView)

使用训练和验证数据训练一个 GamBinaryTrainer 返回 a BinaryPredictionTransformer<TModel>.

Fit(IDataView)

火车并返回一个 ITransformer

(继承自 TrainerEstimatorBase<TTransformer,TModel>)
GetOutputSchema(SchemaShape)

用于 IEstimator<TTransformer> 使用通用累加模型训练二元分类模型 (GAM) 。

(继承自 TrainerEstimatorBase<TTransformer,TModel>)

扩展方法

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

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

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

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

适用于

另请参阅