PairwiseCouplingTrainer Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Für IEstimator<TTransformer> die Schulung eines Kopplungs-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
-
MetaMulticlassTrainer<MulticlassPredictionTransformer<PairwiseCouplingModelParameters>,PairwiseCouplingModelParameters>PairwiseCouplingTrainer
Hinweise
Um diesen Trainer zu erstellen, verwenden Sie PairwiseCoupling.
Eingabe- und Ausgabespalten
Die Eingabebeschriftungsspaltendaten müssen schlüsseltyp sein, und die Featurespalte muss ein bekannter Vektor sein Single.
Der Trainer gibt folgende Spalten aus:
Name der Ausgabespalte | Spaltentyp | Beschreibung |
---|---|---|
Score |
Vektor von Single | Die Bewertungen aller Klassen. Ein höherer Wert bedeutet eine höhere Wahrscheinlichkeit, in die zugehörige Klasse zu fallen. Wenn das i-te Element den größten Wert hat, wäre der vorhergesagte Bezeichnungsindex i. Beachten Sie, dass „i“ ein nullbasierter Index ist. |
PredictedLabel |
Typ key | Der Index der vorhergesagten Bezeichnung. Wenn sein Wert i ist, wäre die eigentliche Bezeichnung die i-te Kategorie des Typs der Schlüssel-Wert-Eingabebezeichnung. |
Trainereigenschaften
ML-Aufgabe | Multiklassenklassifizierung |
Ist die Normalisierung erforderlich? | Abhängig vom zugrunde liegenden binären Klassifizierer |
Ist zwischenspeichern erforderlich? | Yes |
Erforderliche NuGet zusätzlich zu Microsoft.ML | Keine |
Exportierbar in ONNX | No |
Schulungsalgorithmusdetails
In dieser Strategie wird ein binärer Klassifizierungsalgorithmus für jedes Klassenpaar trainiert. Die Paare sind nicht angeordnet, 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. Bei jedem 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. Bei der Vorhersage wird die Wahrscheinlichkeit für jedes Klassenpaar als Wahrscheinlichkeit betrachtet, dass es sich in einer Klasse des Paars befindet, das die Daten angegeben hat, und die endgültige prädiktive Wahrscheinlichkeit pro Klasse wird aufgrund der Wahrscheinlichkeit berechnet, dass sich ein Beispiel in jedem bestimmten Paar befindet.
Dadurch können Sie Trainer ausnutzen, die nicht natürlich über eine mehrklassige Option 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, die Verwendung jedoch nicht direkt aufgrund von Speichereinschränkungen praktisch ist. Während z. B. eine mehrklassige logistische Regression eine prinzipale Methode zum Lösen eines Mehrklassenproblems ist, muss der Trainer viel mehr Zwischenzustand in Form der L-BFGS-Geschichte für alle Klassen gleichzeitig speichern, anstatt nur ein-um-eins zu lösen, wie für ein Kopplungsmodell erforderlich wäre.
Überprüfen Sie den Abschnitt "Siehe auch", um Links zu Verwendungsbeispielen zu finden.
Eigenschaften
Info |
Für IEstimator<TTransformer> die Schulung eines Kopplungs-Klassifizierers mit mehreren Klassen, der den angegebenen binären Klassifizierer verwendet. (Geerbt von MetaMulticlassTrainer<TTransformer,TModel>) |
Methoden
Fit(IDataView) |
Passt die Daten an den Transformator an |
GetOutputSchema(SchemaShape) |
Ruft die Ausgabespalten ab. (Geerbt von MetaMulticlassTrainer<TTransformer,TModel>) |
Erweiterungsmethoden
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Fügen Sie einen "Zwischenspeicherpunkt" an die Stimatorkette an. Dadurch wird sichergestellt, dass die nachgelagerten Stimatoren gegen zwischengespeicherte Daten trainiert werden. Es ist hilfreich, einen Cache-Prüfpunkt zu haben, bevor Trainer, die mehrere Daten übergeben. |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Geben Sie aufgrund einer Schätzung ein Umbruchobjekt zurück, das einen Stellvertretung aufruft, sobald Fit(IDataView) er aufgerufen wird. Es ist oft wichtig, dass eine Schätzung Informationen zu dem zurückgibt, was passt, weshalb die Fit(IDataView) Methode ein spezifisches typiertes Objekt zurückgibt, anstatt nur ein allgemeines ITransformer. Gleichzeitig IEstimator<TTransformer> werden jedoch oft Pipelines mit vielen Objekten gebildet, sodass wir möglicherweise eine Kette von EstimatorChain<TLastTransformer> Schätzern erstellen müssen, über die der Schätzer, für den wir den Transformator erhalten möchten, irgendwo in dieser Kette begraben wird. Für dieses Szenario können wir über diese Methode eine Stellvertretung anfügen, die einmal aufgerufen wird, wenn die Anpassung aufgerufen wird. |