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))
繼承

備註

若要建立此定型器,請使用 GamGam (Options)

輸入和輸出資料行

輸入標籤資料行資料必須是 Boolean。 輸入特徵資料行資料必須是 的已知大小向量 Single

此定型器會輸出下列資料行:

輸出資料行名稱 資料行類型 描述
Score Single 模型所計算的未系結分數。
PredictedLabel Boolean 預測標籤 (根據分數的正負號)。 負值分數會對應到 false,正值分數則會對應到 true
Probability Single 藉由校正具有 true 作為標籤的分數來計算的機率。 機率值的範圍為 [0, 1]。

定型器特性

機器學習工作 二元分類
是否需要正規化?
是否需要快取?
除了 Microsoft.ML 之外,還需要 NuGet Microsoft.ML.FastTree
可匯出至 ONNX

定型演算法詳細資料

一般化加法模型或 GAM 會將資料模型化為一組線性獨立特徵,類似于線性模型。 針對每個特徵,GAM 定型器會學習稱為「形狀函式」的非線性函式,以將回應計算為特徵值的函式。 (相反地,線性模型符合線性回應 (,例如每個功能的線條) 。) 為了為輸入評分,會加總所有圖形函式的輸出,而分數則是總值。

此 GAM 定型器是使用淺層漸層促進式樹狀結構實作 (例如樹狀結構 stumps) 來學習非參數圖形函式,並以 Lou、Caruana 和 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)

定型並傳 ITransformer 回 。

(繼承來源 TrainerEstimatorBase<TTransformer,TModel>)
Fit(IDataView, IDataView)

GamBinaryTrainer使用定型和驗證資料來定型 ,並傳 BinaryPredictionTransformer<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> 建置估算器的鏈結,而我們想要取得轉換器的估算器會在此鏈結的某處被隱藏。 在該案例中,我們可以透過此方法附加呼叫一次將會呼叫的委派。

適用於

另請參閱