PairwiseCouplingTrainer 類別

定義

用於 IEstimator<TTransformer> 定型使用指定二元分類器的配對結合多類別分類器。

public sealed class PairwiseCouplingTrainer : Microsoft.ML.Trainers.MetaMulticlassTrainer<Microsoft.ML.Data.MulticlassPredictionTransformer<Microsoft.ML.Trainers.PairwiseCouplingModelParameters>,Microsoft.ML.Trainers.PairwiseCouplingModelParameters>
type PairwiseCouplingTrainer = class
    inherit MetaMulticlassTrainer<MulticlassPredictionTransformer<PairwiseCouplingModelParameters>, PairwiseCouplingModelParameters>
Public NotInheritable Class PairwiseCouplingTrainer
Inherits MetaMulticlassTrainer(Of MulticlassPredictionTransformer(Of PairwiseCouplingModelParameters), PairwiseCouplingModelParameters)
繼承

備註

若要建立此定型器,請使用 PairwiseCoupling

輸入和輸出資料行

輸入標籤資料行資料必須是 索引鍵 類型,而且特徵資料行必須是 的已知大小向量 Single

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

輸出資料行名稱 資料行類型 描述
Score Single 的向量 所有類別的分數。 較高值表示落入相關聯類別的機率較高。 若第 i 個項目具有最大值,則預測標籤索引將會是 i。 請注意,i 是以零為基礎的索引。
PredictedLabel 索引鍵 類型 預測標籤的索引。 若其值是 i,則實際標籤可能會是索引鍵/值輸入標籤類型中的第 i 個類別。

定型器特性

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

定型演算法詳細資料

在此策略中,系統會在每個類別配對上定型二元分類演算法。 配對未排序,但會以取代建立:因此,如果有三個類別, 0、1、2,我們會針對 (0,0) 、 (0,1) 、 (0,2) 、 (1,1) 、 (1、2) 和 (2,2) 來定型分類器。 對於每個二進位分類器,如果輸入資料點位於配對中的兩個類別之一,則輸入資料點會被視為正範例,否則為負數範例。 在預測時間,每個類別的機率會視為在給定資料之配對任一類別中的機率,而每個類別的最終預測機率都會計算出每個類別的機率,假設範例位於任何指定的配對中的機率。

這可讓您利用不自然具有多類別選項的訓練人員,例如使用 FastTreeBinaryTrainer 來解決多類別問題。 或者,即使定型器有多類別選項,也可以讓 ML.NET 解決「更簡單」的問題,但直接使用它並不實用,通常是記憶體限制。 例如,雖然多類別羅吉斯回歸是解決多類別問題的更準則 方式,但訓練器會以所有類別的 L-BFGS 歷程記錄形式儲存更多中繼狀態,而不只是一對結合分類模型所需的一對一。

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

屬性

Info

用於 IEstimator<TTransformer> 定型使用指定二元分類器的配對結合多類別分類器。

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

方法

Fit(IDataView)

將資料放入轉換器

GetOutputSchema(SchemaShape)

取得輸出資料行。

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

擴充方法

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

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

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

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

適用於

另請參閱