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 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
-
MetaMulticlassTrainer<MulticlassPredictionTransformer<PairwiseCouplingModelParameters>,PairwiseCouplingModelParameters>PairwiseCouplingTrainer
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. |