PairwiseCouplingTrainer Klasse

Definition

Für IEstimator<TTransformer> die Schulung eines gekoppelten Klassifizierers mit mehreren Klassen, der den angegebenen binären Klassifizierer verwendet.

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)
Vererbung

Hinweise

Um diesen Trainer zu erstellen, verwenden Sie PairwiseCoupling.

Eingabe- und Ausgabespalten

Die Spaltendaten der Eingabebeschriftung müssen schlüsseltyp sein, und die Featurespalte muss ein Vektor der bekannten Größe sein Single.

Der Trainer gibt folgende Spalten aus:

Name der Ausgabespalte Spaltentyp Description
Score Vektor von Single Die Bewertungen aller Klassen. Höherer Wert bedeutet eine höhere Wahrscheinlichkeit, in die zugeordnete Klasse zu fallen. Wenn das i-th-Element den größten Wert aufweist, wäre der vorhergesagte Bezeichnungsindex i. Beachten Sie, dass i nullbasierten Index ist.
PredictedLabel Schlüssel-Typ Der Index der vorhergesagten Bezeichnung. Wenn der Wert i ist, würde die tatsächliche Beschriftung die i-th-Kategorie im Eingabebezeichnungstyp mit Schlüsselwert sein.

Trainermerkmale

Machine Learning-Aufgabe Mehrklassenklassifizierung
Ist normalisierung erforderlich? Hängt vom zugrunde liegenden binären Klassifizierer ab.
Ist zwischenspeichern erforderlich? Yes
Erforderliches NuGet zusätzlich zu Microsoft.ML Nichts
Exportierbar in ONNX No

Details des Schulungsalgorithmus

In dieser Strategie wird ein Binärer Klassifizierungsalgorithmus für jedes Klassenpaar trainiert. Die Paare sind ungeordnet, aber mit Ersatz erstellt: Wenn es drei Klassen, 0, 1, 2, gab, würden wir Klassifizierer für die Paare (0,0), (0,1), (0,2), (1,1), (1,2) und (2,2) trainieren. Für jeden binären Klassifizierer wird ein Eingabedatenpunkt als positives Beispiel betrachtet, wenn es sich in einer der beiden Klassen im Paar befindet und andernfalls ein negatives Beispiel. Zur Vorhersagezeit werden die Wahrscheinlichkeiten für jedes Klassenpaar als die Wahrscheinlichkeit betrachtet, in einer der Klassen des Paares zu sein, die die Daten angegeben haben, und die endgültigen Vorhersagewahrscheinlichkeiten pro Klasse werden anhand der Wahrscheinlichkeit berechnet, dass ein Beispiel in einem gegebenen Paar enthalten ist.

Auf diese Weise können Sie Trainer ausnutzen, die nicht natürlich über eine Mehrklassenoption verfügen, z. B. mithilfe der FastTreeBinaryTrainer Möglichkeit, ein Problem mit mehreren Klassen zu lösen. Alternativ kann es ML.NET ermöglichen, ein "einfacheres" Problem auch in den Fällen zu lösen, in denen der Trainer über eine Mehrklassenoption verfügt, aber die direkte Verwendung ist aufgrund von Speichereinschränkungen in der Regel nicht praktisch. Während z. B. eine mehrklassige logistische Regression eine prinzipale Methode zur Lösung eines Multiklassenproblems ist, muss der Trainer viel mehr Zwischenzustand in Form der L-BFGS-Geschichte für alle Klassen gleichzeitig speichern, anstatt nur eins nacheinander, wie für ein paarweise Kopplungsklassifizierungsmodell erforderlich wäre.

Im Abschnitt "Siehe auch" finden Sie Links zu Verwendungsbeispielen.

Eigenschaften

Name Beschreibung
Info

Für IEstimator<TTransformer> die Schulung eines gekoppelten Klassifizierers mit mehreren Klassen, der den angegebenen binären Klassifizierer verwendet.

(Geerbt von MetaMulticlassTrainer<TTransformer,TModel>)

Methoden

Name Beschreibung
Fit(IDataView)

Passt die Daten an den Transformator an

GetOutputSchema(SchemaShape)

Ruft die Ausgabespalten ab.

(Geerbt von MetaMulticlassTrainer<TTransformer,TModel>)

Erweiterungsmethoden

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

Fügen Sie einen "Zwischenspeicherungsprüfpunkt" an die Schätzkette an. Dadurch wird sichergestellt, dass die nachgeschalteten Schätzer anhand zwischengespeicherter Daten trainiert werden. Es ist hilfreich, einen Zwischenspeicherprüfpunkt vor Trainern zu haben, die mehrere Datendurchläufe übernehmen.

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

Geben Sie bei einer Schätzung ein Wrapping-Objekt zurück, das eine Stellvertretung aufruft, sobald Fit(IDataView) sie aufgerufen wird. Es ist häufig wichtig, dass ein Schätzer Informationen zu dem, was passt, zurückgeben, weshalb die Fit(IDataView) Methode ein speziell typiertes Objekt und nicht nur ein allgemeines ITransformerObjekt zurückgibt. IEstimator<TTransformer> Gleichzeitig werden jedoch oft in Pipelines mit vielen Objekten gebildet, daher müssen wir möglicherweise eine Kette von Schätzern bauen, über EstimatorChain<TLastTransformer> die der Schätzer, für den wir den Transformator erhalten wollen, irgendwo in dieser Kette begraben wird. Für dieses Szenario können wir über diese Methode einen Delegat anfügen, der aufgerufen wird, sobald "Fit" aufgerufen wird.

Gilt für:

Weitere Informationen