NormalizingEstimator 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.
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
Schätzeigenschaften
| Muss dieser Schätzer die Daten untersuchen, um seine Parameter zu trainieren? | Yes |
| Eingabespaltendatentyp | Single oder Double ein Vektor mit bekannter Größe 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 Neuskalierung, die auf den Mindest- und Höchstwerten für jede Zeile basiert.
- Mittlere Varianz : Skalieren Sie jede Zeile auf die Varianz der Einheit und optional auf den Mittelwert Null.
- 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.
- Beaufsichtigtes Binning – Bucketisieren sie die Daten in jeder Zeile und führen eine lineare Neuskala basierend auf den berechneten Bins aus. Die Bin-Berechnung basiert auf der Korrelation der Beschriftungsspalte.
- Robuste Skalierung – Zentriert optional die Daten und Skalen basierend auf dem Datenbereich und den bereitgestellten Quantile-Min- und Max-Werten. Diese Methode ist robuster für Ausreißer.
Details zur Schätzung
Das Intervall der normalisierten Daten hängt davon ab, ob fixZero angegeben ist 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 Minimal- und Höchstwerte 0 bzw. 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, wodurch die Zahl mit dem größten Abstand, der 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. Die robuste Skalierung verwendet fixZero nicht, und ihre Werte sind nicht auf $[0,1]$ oder $[-1,1]$$ beschränkt. Die Skalierung basiert auf dem Bereich der Daten und der bereitgestellten Quantile min und max.
Die Formel für die Ausgabe $y$ der Anwendung der Mittleren Varianz und der 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 des Trainings berechnet werden.
Bei Verwendung der CDF-Option lautet dies: $y = 0,5 * (1 + \text{ERF}((x - \text{mean}) / (\text{Standardabweichung} * sqrt(2)))$. Dabei ist ERF die Fehlerfunktion , die verwendet wird, um das CDF einer zufallsvariablen Variablen anzunähern, die normalerweise verteilt wird. Die Mittel- und Standardabweichung berechnen sich während des Trainings.
Verwenden Sie zum Erstellen dieses Schätzfelds eine der folgenden Optionen:
- [NormalizeMinMax](xref:Microsoft.ML.NormalizationCatalog.NormalizeMinMax(Microsoft.ML.TransformsCatalog, System.String, System.String, System.Int64, System.Boolean))
- NormalizeMeanVariance
- NormalizeLogMeanVariance
- NormalizeBinning
- NormalizeSupervisedBinning
- NormalizeRobustScaling
Überprüfen Sie die oben genannten Links auf Verwendungsbeispiele.
Methoden
| Name | Beschreibung |
|---|---|
| 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
| 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. |