Freigeben über


NormalizingEstimator Klasse

Definition

public sealed class NormalizingEstimator : Microsoft.ML.IEstimator<Microsoft.ML.Transforms.NormalizingTransformer>
type NormalizingEstimator = class
    interface IEstimator<NormalizingTransformer>
Public NotInheritable Class NormalizingEstimator
Implements IEstimator(Of NormalizingTransformer)
Vererbung
NormalizingEstimator
Implementiert

Hinweise

Stimatoreigenschaften

Muss dieser Schätzer die Daten untersuchen, um seine Parameter zu trainieren? Yes
Eingabespaltendatentyp Single oder Double ein bekannter Vektor dieser Typen.
Ausgabespaltendatentyp Derselbe Datentyp wie die Eingabespalte
Exportierbar in ONNX Yes

Der resultierende NormalizingEstimator normalisiert die Daten auf eine der folgenden Arten basierend auf der Erstellung:

  • Min Max – Eine lineare Neuskala, die auf den minimalen und maximalen Werten für jede Zeile basiert.
  • Mittlere Varianz – Skalieren Sie jede Zeile auf einheitsvarianz und optional null mittelwert.
  • Log Mean Variance - Rescale each row to unit variance, optional, zero mean based on computations in log scale.
  • Binning – Bucketizes the data in each row and perform a linear rescale based on the calculated bins.
  • Überwachte Binning – Bucketize the data in each row and performas a linear rescale based on the calculated bins. Die Bin-Berechnung basiert auf der Korrelation der Beschriftungsspalte.
  • Robuste Skalierung – Zentriert optional die Daten und Skalierungen basierend auf dem Datenbereich und den bereitgestellten Quantile-Min- und Max-Werten. Diese Methode ist robuster für Ausreißer.

Details zur Stimator

Das Intervall der normalisierten Daten hängt davon ab, ob fixZero angegeben wird oder nicht. fixZero ist standardmäßig auf "true" festgelegt. Wenn fixZero falsch ist, ist das normalisierte Intervall $[0,1]$ und die Verteilung der normalisierten Werte hängt vom Normalisierungsmodus ab. Bei Min Max werden beispielsweise die Mindest- und Höchstwerte jeweils 0 und 1 zugeordnet, und die verbleibenden Werte fallen dazwischen. Wenn fixZero festgelegt wird, ist das normalisierte Intervall $[-1,1]$ mit der Verteilung der normalisierten Werte abhängig vom Normalisierungsmodus, aber das Verhalten unterscheidet sich. Bei Min Max hängt die Verteilung davon ab, wie weit die Zahl von 0 entfernt ist, was dazu führt, dass die Zahl mit dem größten Abstand zu 1 zugeordnet wird, wenn es sich um eine positive Zahl oder -1 handelt, wenn es sich um eine negative Zahl handelt. Der Abstand von 0 wirkt sich auf die Verteilung mit einer Mehrheit von Zahlen aus, die näher zusammen in Richtung 0 normalisiert werden. Robuste Skalierung verwendet fixZero nicht, und seine Werte werden nicht auf $[0,1]$ oder $[-1,1]$$ beschränkt. Seine Skalierung basiert auf dem Bereich der Daten und der quantile Min und max.

Die Formel für die Ausgabe $y$ des Anwendens von Mittelabweichung und Log Mean Variance auf Eingabe $x$, ohne die CDF-Option zu verwenden, lautet: $y = (x - \text{offset}) \text{scale}$. Wo Offset und Skalierung während der Schulung berechnet werden.

Die CDF-Option lautet: $y = 0,5 * (1 + \text{ERF}((x - \text{mean}) / (\text{Standardabweichung} * sqrt(2)$. Wenn ERF die Fehlerfunktion ist, die verwendet wird, um das CDF einer zufallsvariablen Variablen, die normalerweise verteilt wird, annähern. Die Mittel- und Standardabweichung werden während der Schulung berechnen.

Verwenden Sie zum Erstellen dieses Schätzfelds eine der folgenden Optionen:

Überprüfen Sie die obigen Links auf Verwendungsbeispiele.

Methoden

Fit(IDataView)

Züge und gibt einen NormalizingTransformer.

GetOutputSchema(SchemaShape)

Gibt das SchemaShape Schema zurück, das vom Transformator erzeugt wird. Wird für die Schemaverteilung und Überprüfung in einer Pipeline verwendet.

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: