FastTreeRankingTrainer 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.
Die IEstimator<TTransformer> Schulung eines Entscheidungsstrukturbewertungsmodells mithilfe von FastTree.
public sealed class FastTreeRankingTrainer : Microsoft.ML.Trainers.FastTree.BoostingFastTreeTrainerBase<Microsoft.ML.Trainers.FastTree.FastTreeRankingTrainer.Options,Microsoft.ML.Data.RankingPredictionTransformer<Microsoft.ML.Trainers.FastTree.FastTreeRankingModelParameters>,Microsoft.ML.Trainers.FastTree.FastTreeRankingModelParameters>
type FastTreeRankingTrainer = class
inherit BoostingFastTreeTrainerBase<FastTreeRankingTrainer.Options, RankingPredictionTransformer<FastTreeRankingModelParameters>, FastTreeRankingModelParameters>
Public NotInheritable Class FastTreeRankingTrainer
Inherits BoostingFastTreeTrainerBase(Of FastTreeRankingTrainer.Options, RankingPredictionTransformer(Of FastTreeRankingModelParameters), FastTreeRankingModelParameters)
- Vererbung
Hinweise
Um diesen Trainer zu erstellen, verwenden Sie FastTree oder FastTree(Options).
Eingabe- und Ausgabespalten
Der Datentyp für die Eingabebezeichnung muss ein Typ key oder Single sein. Der Wert der Bezeichnung bestimmt die Relevanz, wobei höhere Werte eine höhere Relevanz anzeigen. Wenn die Bezeichnung vom Typ key ist, dann ist der Schlüsselindex der Relevanzwert, wobei der kleinste Index der am wenigsten relevante ist. Wenn die Bezeichnung ein Single ist, zeigen höhere Werte eine höhere Relevanz an. Die Featurespalte muss ein bekannter Vektor und eine Spaltenspalte der Single Eingabezeile sein.
Der Trainer gibt folgende Spalten aus:
Name der Ausgabespalte | Spaltentyp | BESCHREIBUNG |
---|---|---|
Score |
Single | Die ungebundene Bewertung, die vom Modell berechnet wurde, um die Vorhersage zu bestimmen. |
Trainereigenschaften
ML-Aufgabe | Rangfolge |
Ist normalisierung erforderlich? | Nein |
Ist zwischenspeichern erforderlich? | Nein |
Erforderliches NuGet zusätzlich zu Microsoft.ML | Microsoft.ML.FastTree |
Exportierbar in ONNX | Nein |
Details des Schulungsalgorithmus
FastTree ist eine effiziente Implementierung des MART-Farbverlaufsalgorithmus. Gradient Boosting ist ein Machine Learning-Verfahren für Regressionsprobleme. Dabei wird jeder Regressionsbaum schrittweise aufgebaut, wobei eine vordefinierte Verlustfunktion verwendet wird, um den Fehler für jeden Schritt zu messen und ihn im nächsten Schritt zu korrigieren. Daher ist dieses Vorhersagemodell tatsächlich ein Ensemble schwächerer Vorhersagemodelle. Bei Regressionsproblemen dient Verstärkung dazu, eine Reihe solcher Bäume schrittweise zu erstellen. Anschließend wird der optimale Baum mithilfe einer beliebig differenzierbaren Verlustfunktion ausgewählt.
MART lernt ein Ensemble von Regressionsbäumen, d. h. einen Entscheidungsbaum mit skalaren Werten in seinen Blättern. Ein Entscheidungs- (bzw. Regressionsbaum) ist ein binäres baumartiges Flussdiagramm, bei dem an jedem inneren Knoten auf Grundlage eines der Featurewerte aus der Eingabe entschieden wird, mit welchem der beiden untergeordneten Knoten es weitergeht. Bei jedem Blattknoten wird ein Wert zurückgegeben. In den Inneren Knoten basiert die Entscheidung auf dem Test x <= v, wobei x der Wert des Features im Eingabebeispiel ist und v eine der möglichen Werte dieses Features ist. Die Funktionen, die mit einer Regressionsstruktur erstellt werden können, sind alle stückweise Konstantenfunktionen.
Ein Ensemble von Bäumen wird erstellt, indem bei jedem Schritt ein Regressionsbaum berechnet wird, der eine Annäherung des Gradienten der Verlustfunktion erzeugt. Anschließend wird er zusammen mit Koeffizienten, die den Verlust des neuen Baums minimieren, dem vorherigen Baum hinzugefügt. Die von MART für eine bestimmte Instanz erzeugte Ausgabe des Ensembles ist die Summe der Ausgaben aller Bäume.
- Bei einem binären Klassifizierungsproblem wird die Ausgabe mithilfe einer Art Kalibrierung in Wahrscheinlichkeit konvertiert.
- Bei einem Regressionsproblem entspricht die Ausgabe dem vorhergesagten Wert der Funktion.
- Bei einem Rangfolgeproblem sind die Instanzen nach dem Ausgabewert des Ensembles geordnet.
Weitere Informationen finden Sie unter:
- Wikipedia: Farbverlaufssteigerung (Farbverlaufsbaum-Verstärkung).
- Greedy Function Approximation: A Gradient Boosting Machine
Überprüfen Sie den Abschnitt "Siehe auch", um Links zu Beispielen für die Verwendung zu finden.
Felder
FeatureColumn |
Die Featurespalte, die der Trainer erwartet. (Geerbt von TrainerEstimatorBase<TTransformer,TModel>) |
GroupIdColumn |
Die optionale GroupID-Spalte, die von den Bewertungstrainern erwartet wird. (Geerbt von TrainerEstimatorBaseWithGroupId<TTransformer,TModel>) |
LabelColumn |
Die Beschriftungsspalte, die der Trainer erwartet. Kann sein |
WeightColumn |
Die Gewichtungsspalte, die der Trainer erwartet. Kann sein |
Eigenschaften
Info |
Die IEstimator<TTransformer> Schulung eines Entscheidungsstrukturbewertungsmodells mithilfe von FastTree. (Geerbt von FastTreeTrainerBase<TOptions,TTransformer,TModel>) |
Methoden
Fit(IDataView, IDataView) |
Trainiert eine FastTreeRankingTrainer Verwendung von Schulungs- und Validierungsdaten, gibt eine RankingPredictionTransformer<TModel>. |
Fit(IDataView) |
Züge und gibt einen ITransformer. (Geerbt von TrainerEstimatorBase<TTransformer,TModel>) |
GetOutputSchema(SchemaShape) |
Die IEstimator<TTransformer> Schulung eines Entscheidungsstrukturbewertungsmodells mithilfe von FastTree. (Geerbt von TrainerEstimatorBase<TTransformer,TModel>) |
Erweiterungsmethoden
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Fügen Sie einen "Zwischenspeicherungsprüfpunkt" an die Schätzkette an. Dadurch wird sichergestellt, dass die nachgelagerten Schätzer anhand zwischengespeicherter Daten trainiert werden. Es ist hilfreich, einen Cache-Prüfpunkt vor Trainern zu haben, die mehrere Datendurchläufe übernehmen. |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Wenn sie eine Schätzung erhalten, geben Sie ein Umbruchobjekt zurück, das einen Delegaten aufruft, sobald Fit(IDataView) er aufgerufen wird. Es ist häufig wichtig, dass ein Schätzer Informationen darüber zurückgibt, was passt, weshalb die Fit(IDataView) Methode ein speziell typiertes Objekt zurückgibt, anstatt nur ein allgemeines ITransformerObjekt zurückzugeben. IEstimator<TTransformer> Gleichzeitig werden jedoch häufig Pipelines mit vielen Objekten gebildet, daher müssen wir möglicherweise eine Kette von Schätzern erstellen, über EstimatorChain<TLastTransformer> 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 aufgerufen wird, sobald sie aufgerufen wird. |