PairwiseCouplingTrainer Třída

Definice

Pro IEstimator<TTransformer> trénování párového párového párového klasifikátoru s více třídami, který používá zadaný binární klasifikátor.

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)
Dědičnost

Poznámky

K vytvoření tohoto trenéra použijte PairwiseCoupling.

Vstupní a výstupní sloupce

Vstupní data sloupce popisku musí být typ klíče a sloupec funkce musí být známým vektorem Singlevelikosti .

Tento trenér vypíše následující sloupce:

Název výstupního sloupce Typ sloupce Description
Score Vektor Single Skóre všech tříd. Vyšší hodnota znamená, že větší pravděpodobnost spadá do přidružené třídy. Pokud má prvek i-th největší hodnotu, předpovězený index popisku by byl i. Všimněte si, že i je index založený na nule.
PredictedLabel klíč typ Index predikovaného popisku. Pokud je hodnota i, skutečný popisek by byl i-th kategorií ve vstupním typu popisku s hodnotou klíče.

Charakteristiky trenéra

Úloha strojového učení Klasifikace s více třídami
Vyžaduje se normalizace? Závisí na podkladovém binárním klasifikátoru.
Vyžaduje se ukládání do mezipaměti? Ano
Požadovaný NuGet kromě Microsoft.ML None
Exportovatelné do ONNX No

Podrobnosti trénovacího algoritmu

V této strategii se natrénuje binární klasifikační algoritmus pro každou dvojici tříd. Dvojice nejsou seřazené, ale vytvoří se s nahrazením: takže pokud by existovaly tři třídy, 0, 1, 2, trénovali bychom klasifikátory pro páry (0,0), (0,1), (0,2), (1,1), (1,2) a (2,2). Pro každý binární klasifikátor je vstupní datový bod považován za pozitivní příklad, pokud je v některé ze dvou tříd v páru, a jinak negativní příklad. V době předpovědi se pravděpodobnosti pro každou dvojici tříd považují za pravděpodobnost, že je v některé z tříd páru vzhledem k datům, a konečné prediktivní pravděpodobnosti z této třídy se počítají s ohledem na pravděpodobnost, že je příklad v libovolné dvojici.

To vám umožní zneužít trenéry, které nemají přirozeně vícetřídovou možnost, například pomocí FastTreeBinaryTrainer možnosti vyřešit problém s více třídami. Alternativně může ML.NET umožnit řešení "jednoduššího" problému i v případech, kdy má trenér vícetřídovou možnost, ale použití přímo není praktické z důvodu, obvykle omezení paměti. Zatímco logistická regrese s více třídami je spíše principiálnější způsob řešení problému s vícetřídami, vyžaduje, aby trenér ukládal mnohem zprostředkující stav ve formě historie L-BFGS pro všechny třídy současně, spíše než jen jeden po druhém, jak by bylo potřeba pro klasifikační model párové spojky.

Odkazy na příklady použití najdete v části Viz také.

Vlastnosti

Name Description
Info

Pro IEstimator<TTransformer> trénování párového párového párového klasifikátoru s více třídami, který používá zadaný binární klasifikátor.

(Zděděno od MetaMulticlassTrainer<TTransformer,TModel>)

Metody

Name Description
Fit(IDataView)

Odpovídá datům do transformátoru.

GetOutputSchema(SchemaShape)

Získá výstupní sloupce.

(Zděděno od MetaMulticlassTrainer<TTransformer,TModel>)

Metody rozšíření

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

Připojte kontrolní bod ukládání do mezipaměti do řetězu odhadce. Tím zajistíte, aby podřízené estimátory byly natrénovány proti datům uloženým v mezipaměti. Před průchodem více dat je užitečné mít kontrolní bod ukládání do mezipaměti.

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

Vzhledem k estimátoru vraťte objekt obtékání, který jednou zavolá delegáta Fit(IDataView) . Často je důležité, aby estimátor vrátil informace o tom, co bylo vhodné, což je důvod, proč Fit(IDataView) metoda vrací konkrétní typ objekt, spíše než jen obecný ITransformer. Ve stejnou dobu se však často vytvářejí do kanálů s mnoha objekty, takže možná budeme muset vytvořit řetěz odhadců prostřednictvím IEstimator<TTransformer> místa, kde odhadovač, EstimatorChain<TLastTransformer> pro který chceme získat transformátor, je někde v tomto řetězu. Pro tento scénář můžeme prostřednictvím této metody připojit delegáta, který bude volána po zavolání fit.

Platí pro

Viz také