FeatureContributionCalculatingEstimator 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
的估算器 。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 | 否 |
针对每个示例,使用已训练的模型对数据集进行评分或预测。 若要了解和解释这些预测,检查哪些特征对它们的影响最为重要,这很有用。 此转换器计算每个示例分数的特定于模型的每个功能贡献的列表。 这些贡献可能是积极的, (他们使分数提高) 或负 (他们使分数降低) 。
以下模型当前支持特征贡献计算:
- 回归:
- 二元分类:
- AveragedPerceptronTrainer
- LinearSvmTrainer
- LbfgsLogisticRegressionBinaryTrainer
- SdcaNonCalibratedBinaryTrainer
- SdcaLogisticRegressionBinaryTrainer
- SgdCalibratedTrainer
- SgdNonCalibratedTrainer
- SymbolicSgdLogisticRegressionBinaryTrainer
- GamBinaryTrainer
- FastForestBinaryTrainer
- FastTreeBinaryTrainer
- LightGbmBinaryTrainer
- 排名:
对于线性模型,给定特征的贡献等于特征值乘积的相应权重。 同样,对于通用累加模型 (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> 估算器链生成一个估算器链,以便将转换器埋在此链中的某个位置。 对于该方案,我们可以通过此方法附加一个委托,该委托将在调用拟合后调用。 |
适用于
另请参阅
- CalculateFeatureContribution<TModelParameters,TCalibrator>(TransformsCatalog, ISingleFeaturePredictionTransformer<CalibratedModelParametersBase<TModelParameters, TCalibrator>>, Int32, Int32, Boolean)
- CalculateFeatureContribution(TransformsCatalog, ISingleFeaturePredictionTransformer<ICalculateFeatureContribution>, Int32, Int32, Boolean)