PairwiseCouplingTrainer Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Oggetto IEstimator<TTransformer> per il training di un classificatore multiclasse di accoppiamento pairwise che usa il classificatore binario specificato.
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)
- Ereditarietà
-
MetaMulticlassTrainer<MulticlassPredictionTransformer<PairwiseCouplingModelParameters>,PairwiseCouplingModelParameters>PairwiseCouplingTrainer
Commenti
Per creare questo formatore, usare PairwiseCoupling.
Colonne di input e output
I dati della colonna dell'etichetta di input devono essere di tipo chiave e la colonna della funzionalità deve essere un vettore di dimensioni note di Single.
Questo formatore restituisce le colonne seguenti:
| Nome della colonna di output | Tipo di colonna | Descrizione |
|---|---|---|
Score |
Vettore di Single | Punteggi di tutte le classi. Un valore più alto indica una maggiore probabilità di rientrare nella classe associata. Se l'elemento i-th ha il valore più grande, l'indice delle etichette stimato sarà i. Si noti che i è un indice in base zero. |
PredictedLabel |
chiave tipo | Indice dell'etichetta stimata. Se il valore è i, l'etichetta effettiva sarà la categoria i-th nel tipo di etichetta di input con valori chiave. |
Caratteristiche del trainer
| Attività di Machine Learning | Classificazione multiclasse |
| La normalizzazione è necessaria? | Dipende dal classificatore binario sottostante |
| La memorizzazione nella cache è necessaria? | Yes |
| NuGet necessario oltre a Microsoft.ML | Nessuno |
| Esportabile in ONNX | No |
Dettagli algoritmo di training
In questa strategia viene eseguito il training di un algoritmo di classificazione binaria in ogni coppia di classi. Le coppie non sono ordinate ma create con sostituzione: quindi, se ci fossero tre classi, 0, 1, 2, eseguiremo il training dei classificatori per le coppie (0,0), (0,1), (0,2), (1,1), (1,2) e (2,2). Per ogni classificatore binario, un punto dati di input viene considerato un esempio positivo se si trova in una delle due classi della coppia e un esempio negativo in caso contrario. In fase di stima, le probabilità per ogni coppia di classi vengono considerate come la probabilità di trovarsi in una delle due classi della coppia in base ai dati e le probabilità predittive finali fuori da tale classe vengono calcolate in base alla probabilità che un esempio si trovi in una determinata coppia.
Ciò consente di sfruttare i trainer che non hanno naturalmente un'opzione multiclasse, ad esempio usando per FastTreeBinaryTrainer risolvere un problema multiclasse. In alternativa, può consentire ML.NET di risolvere un problema "più semplice" anche nei casi in cui il formatore ha un'opzione multiclasse, ma l'uso diretto non è pratico a causa, in genere, dei vincoli di memoria. Ad esempio, mentre una regressione logistica multiclasse è un modo più principio per risolvere un problema multiclasse, richiede che il formatore archivia molto più stato intermedio sotto forma di cronologia L-BFGS per tutte le classi contemporaneamente, anziché solo uno per uno come sarebbe necessario per un modello di classificazione dell'accoppiamento a coppie.
Vedere anche la sezione Vedere anche i collegamenti agli esempi di utilizzo.
Proprietà
| Nome | Descrizione |
|---|---|
| Info |
Oggetto IEstimator<TTransformer> per il training di un classificatore multiclasse di accoppiamento pairwise che usa il classificatore binario specificato. (Ereditato da MetaMulticlassTrainer<TTransformer,TModel>) |
Metodi
| Nome | Descrizione |
|---|---|
| Fit(IDataView) |
Adatta i dati al trasformatore |
| GetOutputSchema(SchemaShape) |
Ottiene le colonne di output. (Ereditato da MetaMulticlassTrainer<TTransformer,TModel>) |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Aggiungere un "checkpoint di memorizzazione nella cache" alla catena di stima. In questo modo si garantisce che gli estimatori downstream vengano sottoposti a training su dati memorizzati nella cache. È utile disporre di un checkpoint di memorizzazione nella cache prima che i formatori eseseguono più passaggi di dati. |
| WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Dato uno strumento di stima, restituire un oggetto wrapping che chiamerà un delegato una volta Fit(IDataView) chiamato. È spesso importante che uno strumento di stima restituisca informazioni sulle dimensioni, motivo per cui il Fit(IDataView) metodo restituisce un oggetto tipizzato in modo specifico, anziché solo un oggetto generale ITransformer. Tuttavia, allo stesso tempo, IEstimator<TTransformer> vengono spesso formati in pipeline con molti oggetti, quindi potrebbe essere necessario creare una catena di estimatori tramite EstimatorChain<TLastTransformer> dove lo strumento di stima per il quale si vuole ottenere il trasformatore è sepolto in una posizione in questa catena. Per questo scenario, è possibile collegare un delegato che verrà chiamato una volta chiamato fit. |