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
備註
估算器特性
| 這個估計器需要查看資料來訓練參數嗎? | No |
| 輸入欄位資料型別 | 已知大小的向量 Single |
| 輸出欄位資料型態 | 已知大小的向量 Single |
| 可匯出至 ONNX | No |
用訓練好的模型對資料集進行評分,會為每個範例產生分數或預測值。 為了理解並解釋這些預測,檢視哪些特徵對它們影響最深遠是很有幫助的。 此變換器會計算每個範例中各特徵的貢獻清單。 這些貢獻可以是正面的(讓分數更高)或負面的(讓分數降低)。
目前支援以下模型的特徵貢獻計算:
- 迴歸:
- 二元分類:
- AveragedPerceptronTrainer
- LinearSvmTrainer
- LbfgsLogisticRegressionBinaryTrainer
- SdcaNonCalibratedBinaryTrainer
- SdcaLogisticRegressionBinaryTrainer
- SgdCalibratedTrainer
- SgdNonCalibratedTrainer
- SymbolicSgdLogisticRegressionBinaryTrainer
- GamBinaryTrainer
- FastForestBinaryTrainer
- FastTreeBinaryTrainer
- LightGbmBinaryTrainer
- 排名:
對於線性模型,某特徵的貢獻等於特徵值乘以相應權重的乘積。 同樣地,對於廣義加法模型(GAM),特徵的貢獻等於該特徵在特徵值下評估的形狀函數。
對於樹狀模型,特徵貢獻的計算基本上是判斷樹中哪些分裂對最終分數影響最大,並將影響的價值分配給決定分裂的特徵。 更精確地說,特徵的貢獻等於每次遇到該特徵決策節點時,探索對向子樹所產生的分數變化。 考慮一個簡單的案例,只有一棵決策樹,該樹有一個決策節點對應二元特徵 F1。 給定一個特徵 F1 為真的例子,我們可以計算若選擇對應特徵 F1 為假的子樹,且保持其他特徵不變,該子樹會得到多少分數。 特徵 F1 在給定範例中的貢獻,是原始分數與在該特徵節點做相反決定所得分數的差值。 此演算法自然延伸至擁有多決策樹的模型。
請參考「參見」區塊,裡面有使用範例的連結。
方法
| 名稱 | Description |
|---|---|
| Fit(IDataView) |
的 FeatureContributionCalculatingTransformer估計量。 計算模型特定於每個特徵對每個輸入向量分數的貢獻。 (繼承來源 TrivialEstimator<TTransformer>) |
| GetOutputSchema(SchemaShape) |
回傳 SchemaShape 由變壓器產生的結構結構。 用於結構傳播與管線驗證。 |
擴充方法
| 名稱 | Description |
|---|---|
| AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
在估計鏈中附加一個「快取檢查點」。 這將確保下游估計器能針對快取資料進行訓練。 在訓練師接受多次資料通行前設置快取檢查點會很有幫助。 |
| WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
給定一個估計器,回傳一個包裹物件,該物件會呼叫一次 Fit(IDataView) 代理。 估計器通常回傳擬合的資訊很重要,因此該 Fit(IDataView) 方法回傳一個特定型別的物件,而非一般 ITransformer的 。 然而,同時, IEstimator<TTransformer> 通常會被組成包含許多物件的管線,因此我們可能需要建立一條估計鏈,將 EstimatorChain<TLastTransformer> 我們想要取得變壓器的估計器埋藏在這條鏈的某處。 在這種情況下,我們可以透過此方法附加一個代理,當 fit 被呼叫時會被呼叫。 |
適用於
另請參閱
- CalculateFeatureContribution(TransformsCatalog, ISingleFeaturePredictionTransformer<ICalculateFeatureContribution>, Int32, Int32, Boolean)
- CalculateFeatureContribution<TModelParameters,TCalibrator>(TransformsCatalog, ISingleFeaturePredictionTransformer<CalibratedModelParametersBase<TModelParameters, TCalibrator>>, Int32, Int32, Boolean)