Udostępnij za pośrednictwem


NormalizingEstimator Klasa

Definicja

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)
Dziedziczenie
NormalizingEstimator
Implementuje

Uwagi

Charakterystyka narzędzia do szacowania

Czy ten narzędzie do szacowania musi przyjrzeć się danym, aby wytrenować jego parametry? Tak
Typ danych kolumny wejściowej Single lub Double znany wektor tego typu.
Typ danych kolumny wyjściowej Ten sam typ danych co kolumna wejściowa
Eksportowanie do pliku ONNX Tak

Wynikowa normalizacjaEstimator będzie normalizować dane na jeden z następujących sposobów na podstawie sposobu jego utworzenia:

  • Minimalna wartość maksymalna — skala liniowa, która jest oparta na minimalnych i maksymalnych wartościach dla każdego wiersza.
  • Średnia wariancja — przeskaluj każdy wiersz do wariancji jednostkowej i opcjonalnie zero średniej.
  • Log Mean Variance — przeskaluj każdy wiersz do wariancji jednostkowej, opcjonalnie, zero średniej na podstawie obliczeń w skali dzienników.
  • Binning — bucketizuje dane w każdym wierszu i wykonuje skalowanie liniowe na podstawie obliczonych pojemników.
  • Nadzorowane kwantowanie — zasobnikowanie danych w każdym wierszu i wykonywanie liniowej zmiany skali na podstawie obliczonych pojemników. Obliczenie pojemnika jest oparte na korelacji kolumny Etykieta.
  • Niezawodne skalowanie — opcjonalnie wyśrodkuje dane i skaluje się na podstawie zakresu danych oraz podanych wartości minimalnych i maksymalnych. Ta metoda jest bardziej niezawodna dla wartości odstających.

Szczegóły narzędzia do szacowania

Interwał znormalizowanych danych zależy od tego, czy wartość fixZero jest określona, czy nie. fixZero domyślnie ma wartość true. Gdy fixZero ma wartość false, znormalizowany interwał wynosi $[0,1]$, a rozkład znormalizowanych wartości zależy od trybu normalizacji. Na przykład w przypadku wartości Min Max wartości minimalne i maksymalne są mapowane odpowiednio na 0 i 1, a pozostałe wartości spadną między. Po ustawieniu fixZero znormalizowany interwał wynosi $[-1,1]$ z rozkładem znormalizowanych wartości w zależności od trybu normalizacji, ale zachowanie jest inne. W przypadku wartości Min Max rozkład zależy od tego, jak daleko liczba wynosi od 0, co powoduje, że liczba z największą odległością jest mapowana na 1, jeśli jest to liczba dodatnia lub -1, jeśli jest to liczba ujemna. Odległość od 0 wpłynie na rozkład z większością liczb, które są bliżej normalizacji w kierunku 0. Niezawodne skalowanie nie używa fixZero, a jego wartości nie są ograniczone do $[0,1]$ lub $[-1,1]$. Jego skalowanie jest oparte na zakresie danych i podanej wartości kwantylu min i maksymalnej.

Równanie dla danych wyjściowych $y$ zastosowania zarówno średniej wariancji, jak i średniej wariancji dziennika na wejściu $x$ bez użycia opcji CDF jest: $y = (x - \text{offset}) \text{scale}$. Gdzie podczas trenowania są obliczane przesunięcia i skalowania.

Przy użyciu opcji CDF jest to: $y = 0,5 * (1 + \text{ERF}((x - \text{mean}) / (\text{odchylenie standardowe} * sqrt(2)))$. Gdzie ERF to funkcja błędu używana do przybliżonia cdF zmiennej losowej zakładanej do normalnego rozkładu. Średnia i odchylenie standardowe są obliczane podczas trenowania.

Aby utworzyć ten narzędzie do szacowania, użyj jednego z następujących elementów:

Zapoznaj się z powyższymi linkami, aby zapoznać się z przykładami użycia.

Metody

Fit(IDataView)

Trenuje i zwraca wartość NormalizingTransformer.

GetOutputSchema(SchemaShape)

SchemaShape Zwraca schemat, który zostanie wygenerowany przez transformator. Służy do propagacji schematu i weryfikacji w potoku.

Metody rozszerzania

AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment)

Dołącz punkt kontrolny buforowania do łańcucha narzędzia do szacowania. Zapewni to, że narzędzia do szacowania podrzędnego zostaną wytrenowane względem buforowanych danych. Warto mieć punkt kontrolny buforowania, zanim trenerzy przejmą wiele danych.

WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>)

Biorąc pod uwagę narzędzie do szacowania, zwróć obiekt opakowujący, który wywoła delegata po Fit(IDataView) wywołaniu. Często ważne jest, aby narzędzie do szacowania zwracało informacje o tym, co było odpowiednie, dlatego Fit(IDataView) metoda zwraca specjalnie wpisany obiekt, a nie tylko ogólną ITransformerwartość . Jednak w tym samym czasie IEstimator<TTransformer> często są tworzone w potoki z wieloma obiektami, więc może być konieczne utworzenie łańcucha narzędzi do szacowania za pośrednictwem EstimatorChain<TLastTransformer> miejsca, w którym narzędzie do szacowania, dla którego chcemy uzyskać transformator jest pochowany gdzieś w tym łańcuchu. W tym scenariuszu możemy za pomocą tej metody dołączyć delegata, który zostanie wywołany po wywołaniu dopasowania.

Dotyczy