FeatureContributionCalculatingEstimator 类

定义

的估算器 。FeatureContributionCalculatingTransformer 计算每个输入向量分数的特定于模型的每个特征的贡献。

public sealed class FeatureContributionCalculatingEstimator : Microsoft.ML.Data.TrivialEstimator<Microsoft.ML.Transforms.FeatureContributionCalculatingTransformer>
type FeatureContributionCalculatingEstimator = class
    inherit TrivialEstimator<FeatureContributionCalculatingTransformer>
Public NotInheritable Class FeatureContributionCalculatingEstimator
Inherits TrivialEstimator(Of FeatureContributionCalculatingTransformer)
继承
FeatureContributionCalculatingEstimator

注解

估算器特征

此估算器是否需要查看数据来训练其参数?
输入列数据类型 已知大小的矢量 Single
输出列数据类型 已知大小的矢量 Single
可导出到 ONNX

针对每个示例,使用已训练的模型对数据集进行评分或预测。 若要了解和解释这些预测,检查哪些特征对它们的影响最为重要,这很有用。 此转换器计算每个示例分数的特定于模型的每个功能贡献的列表。 这些贡献可能是积极的, (他们使分数提高) 或负 (他们使分数降低) 。

以下模型当前支持特征贡献计算:

对于线性模型,给定特征的贡献等于特征值乘积的相应权重。 同样,对于通用累加模型 (GAM) ,特征的贡献等于在特征值评估的给定特征的形状函数。

对于基于树的模型,特征贡献的计算实质上包括确定树中的拆分对最终分数的影响最大,并将影响的值分配给确定拆分的特征。 更确切地说,特征的贡献等于每次遇到给定特征的决策节点时,通过探索相反的子树生成的分数变化。 对于具有二进制特征 F1 的决策节点的单个决策树,请考虑一个简单的情况。 假设特征 F1 等于 true 的示例,如果我们选择对应于特征 F1 的子树相等的子树,则我们可以计算它获得的分数,同时保持其他特征常量。 给定示例的功能 F1 的贡献是原始分数与在对应于特征 F1 的节点上做出相反决定获得的分数之间的差异。 此算法自然扩展到具有许多决策树的模型。

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

方法

Fit(IDataView)

的估算器 。FeatureContributionCalculatingTransformer 计算每个输入向量分数的特定于模型的每个特征的贡献。

(继承自 TrivialEstimator<TTransformer>)
GetOutputSchema(SchemaShape)

返回 SchemaShape 由转换器生成的架构。 用于管道中的架构传播和验证。

扩展方法

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

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

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

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

适用于

另请参阅