GamRegressionTrainer 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
用于 IEstimator<TTransformer> 训练具有通用累加模型(GAM)的回归模型。
public sealed class GamRegressionTrainer : Microsoft.ML.Trainers.FastTree.GamTrainerBase<Microsoft.ML.Trainers.FastTree.GamRegressionTrainer.Options,Microsoft.ML.Data.RegressionPredictionTransformer<Microsoft.ML.Trainers.FastTree.GamRegressionModelParameters>,Microsoft.ML.Trainers.FastTree.GamRegressionModelParameters>
type GamRegressionTrainer = class
inherit GamTrainerBase<GamRegressionTrainer.Options, RegressionPredictionTransformer<GamRegressionModelParameters>, GamRegressionModelParameters>
Public NotInheritable Class GamRegressionTrainer
Inherits GamTrainerBase(Of GamRegressionTrainer.Options, RegressionPredictionTransformer(Of GamRegressionModelParameters), GamRegressionModelParameters)
- 继承
-
TrainerEstimatorBase<TTransformer,TPredictor>GamTrainerBase<GamRegressionTrainer.Options,RegressionPredictionTransformer<GamRegressionModelParameters>,GamRegressionModelParameters>GamRegressionTrainer
注解
输入和输出列
输入标签列中的数据必须是 Single。 输入特征列数据必须是已知大小的向量 Single。
该训练程序输出以下列:
| 输出列名称 | 列类型 | Description |
|---|---|---|
Score |
Single | 模型预测的未绑定分数。 |
训练器特征
| 机器学习任务 | Regression |
| 是否需要规范化? | 否 |
| 是否需要缓存? | 否 |
| 除 Microsoft.ML 之外所需的 NuGet | Microsoft.ML.FastTree |
| 可导出到 ONNX | 否 |
训练算法详细信息
通用累加模型或 GAM 将数据建模为类似于线性模型的一组线性独立特征。 对于每个特征,GAM 训练器会学习一个名为“形状函数”的非线性函数,该函数将响应计算为特征值的函数。 (相比之下,线性模型适合每个特征的线性响应(例如线条)。 若要对输入进行评分,将求和所有形状函数的输出,分数是总值。
此 GAM 训练器是使用浅渐变提升树(例如树桩)来学习非参数形状函数,并且基于 Lou、Caruana 和 Gehrke 中所述的方法。 “用于分类和回归的可理解模型。 KDD'12,北京,中国。 2012. 训练后,将添加一个截距来表示训练集的平均预测,并规范化形状函数来表示与平均预测的偏差。 这会导致通过检查截距和形状函数轻松解释的模型。 有关如何训练 GAM 模型并检查和解释结果的示例,请参阅以下示例。
有关用法示例的链接,请查看“另请参阅”部分。
字段
| 名称 | 说明 |
|---|---|
| FeatureColumn |
训练程序期望的功能列。 (继承自 TrainerEstimatorBase<TTransformer,TModel>) |
| LabelColumn |
训练程序期望的标签列。 可以是 |
| WeightColumn |
训练器期望的权重列。 可以 |
属性
| 名称 | 说明 |
|---|---|
| Info |
用于 IEstimator<TTransformer> 训练具有通用累加模型(GAM)的回归模型。 (继承自 GamTrainerBase<TOptions,TTransformer,TPredictor>) |
方法
| 名称 | 说明 |
|---|---|
| Fit(IDataView, IDataView) |
使用训练和验证数据训练一个 GamRegressionTrainer 返回一个 RegressionPredictionTransformer<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> 估算器链来生成一个估算器链,而我们想要获取转换器的估算器被埋在此链中的某个位置。 对于这种情况,我们可以通过此方法附加一个委托,该委托将在调用拟合后调用。 |