Freigeben über


FastTreeRegressionTrainer Klasse

Definition

Die IEstimator<TTransformer> schulung eines Entscheidungsstruktur-Regressionsmodells mithilfe von FastTree.

public sealed class FastTreeRegressionTrainer : Microsoft.ML.Trainers.FastTree.BoostingFastTreeTrainerBase<Microsoft.ML.Trainers.FastTree.FastTreeRegressionTrainer.Options,Microsoft.ML.Data.RegressionPredictionTransformer<Microsoft.ML.Trainers.FastTree.FastTreeRegressionModelParameters>,Microsoft.ML.Trainers.FastTree.FastTreeRegressionModelParameters>
type FastTreeRegressionTrainer = class
    inherit BoostingFastTreeTrainerBase<FastTreeRegressionTrainer.Options, RegressionPredictionTransformer<FastTreeRegressionModelParameters>, FastTreeRegressionModelParameters>
Public NotInheritable Class FastTreeRegressionTrainer
Inherits BoostingFastTreeTrainerBase(Of FastTreeRegressionTrainer.Options, RegressionPredictionTransformer(Of FastTreeRegressionModelParameters), FastTreeRegressionModelParameters)
Vererbung

Hinweise

Um diesen Trainer zu erstellen, verwenden Sie FastTree oder FastTree(Options).

Eingabe- und Ausgabespalten

Die Daten in der Spalte für die Eingabezeichnung müssen Single sein. Die Spaltendaten der Eingabefeatures müssen ein bekannter Vektor sein Single.

Der Trainer gibt folgende Spalten aus:

Name der Ausgabespalte Spaltentyp BESCHREIBUNG
Score Single Die ungebundene Bewertung, die vom Modell vorhergesagt wurde.

Trainereigenschaften

ML-Aufgabe Regression
Ist normalisierung erforderlich? Nein
Ist zwischenspeichern erforderlich? Nein
Erforderliches NuGet zusätzlich zu Microsoft.ML Microsoft.ML.FastTree
Exportierbar in ONNX Ja

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:

Ü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 null, was angibt, dass bezeichnung nicht für Schulungen verwendet wird.

(Geerbt von TrainerEstimatorBase<TTransformer,TModel>)
WeightColumn

Die Gewichtungsspalte, die der Trainer erwartet. Kann sein null, was angibt, dass Gewicht nicht für die Schulung verwendet wird.

(Geerbt von TrainerEstimatorBase<TTransformer,TModel>)

Eigenschaften

Info

Die IEstimator<TTransformer> schulung eines Entscheidungsstruktur-Regressionsmodells mithilfe von FastTree.

(Geerbt von FastTreeTrainerBase<TOptions,TTransformer,TModel>)

Methoden

Fit(IDataView, IDataView)

Trainiert eine FastTreeRegressionTrainer Verwendung von Schulungs- und Validierungsdaten, gibt eine RegressionPredictionTransformer<TModel>.

Fit(IDataView)

Züge und gibt einen ITransformer.

(Geerbt von TrainerEstimatorBase<TTransformer,TModel>)
GetOutputSchema(SchemaShape)

Die IEstimator<TTransformer> schulung eines Entscheidungsstruktur-Regressionsmodells 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.

Gilt für:

Weitere Informationen