LinearSvmTrainer 類別

定義

IEstimator<TTransformer> 使用以線性 SVM 定型的線性二元分類模型來預測目標。

public sealed class LinearSvmTrainer : Microsoft.ML.Trainers.OnlineLinearTrainer<Microsoft.ML.Data.BinaryPredictionTransformer<Microsoft.ML.Trainers.LinearBinaryModelParameters>,Microsoft.ML.Trainers.LinearBinaryModelParameters>
type LinearSvmTrainer = class
    inherit OnlineLinearTrainer<BinaryPredictionTransformer<LinearBinaryModelParameters>, LinearBinaryModelParameters>
Public NotInheritable Class LinearSvmTrainer
Inherits OnlineLinearTrainer(Of BinaryPredictionTransformer(Of LinearBinaryModelParameters), LinearBinaryModelParameters)
繼承

備註

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

輸入和輸出資料行

輸入標籤資料行資料必須是 Boolean。 輸入特徵資料行資料必須是 的已知大小向量 Single 。 此定型器會輸出下列資料行:

輸出資料行名稱 資料行類型 描述
Score Single 模型所計算的未系結分數。
PredictedLabel Boolean 預測標籤 (根據分數的正負號)。 負值分數會對應到 false,正值分數則會對應到 true

定型器特性

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

定型演算法詳細資料

線性 SVM 會實作演算法,藉由解決 SVM 問題,在二進位分類的功能空間中尋找超平面。 例如,使用特徵值 $f_0,f_1,..., f_{D-1}$,藉由判中斷點落在超平面的哪一端來提供預測。 這與 feautures 加權總和的正負號相同,也就是 $\sum_{i = 0}^{D-1} \left (w_i * f_i \right) + b$,其中 $w_0,w_1,..., w_{D-1}$ 是演算法所計算的加權,而 $b$ 是演算法所計算的偏差。

線性 SVM 會實作 PEGASOS 方法,此方法可在隨機梯度下降步驟與投影步驟之間替代, 此文章 由 Shalev-Shwartz、一般和 Srebro 所介紹。

如需使用範例的連結,請參閱另請參閱一節。

欄位

FeatureColumn

定型器預期的功能資料行。

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

定型器預期的標籤資料行。 可以是 null ,表示標籤不會用於定型。

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

定型器預期的加權資料行。 可以是 null ,表示不會使用權數來定型。

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

屬性

Info

IEstimator<TTransformer> 使用以線性 SVM 定型的線性二元分類模型來預測目標。

(繼承來源 OnlineLinearTrainer<TTransformer,TModel>)

方法

Fit(IDataView)

定型並傳 ITransformer 回 。

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

使用已定 modelParameters 型的 OnlineLinearTrainer<TTransformer,TModel> 繼續訓練 ,並傳 ITransformer 回 。

(繼承來源 OnlineLinearTrainer<TTransformer,TModel>)
GetOutputSchema(SchemaShape)

IEstimator<TTransformer> 使用以線性 SVM 定型的線性二元分類模型來預測目標。

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

擴充方法

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

將「快取檢查點」附加至估算器鏈結。 這可確保下游估算器會針對快取的資料定型。 在接受多個資料通過的定型器之前,擁有快取檢查點會很有説明。

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

假設有估算器,則會傳回包裝物件,一旦 Fit(IDataView) 呼叫委派即可。 估算器通常必須傳回符合專案的相關資訊,這就是方法 Fit(IDataView) 傳回特定型別物件的原因,而不是只傳回一般 ITransformer 。 不過,同時 IEstimator<TTransformer> ,通常會形成具有許多物件的管線,因此我們可能需要透過 EstimatorChain<TLastTransformer> 建置估算器的鏈結,而我們想要取得轉換器的估算器會在此鏈結的某處被隱藏。 在該案例中,我們可以透過此方法附加呼叫一次將會呼叫的委派。

適用於

另請參閱