NormalizingEstimator Třída

Definice

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)
Dědičnost
NormalizingEstimator
Implementuje

Poznámky

Charakteristiky odhadu

Potřebuje tento estimátor podívat se na data, aby natrénovala své parametry? Ano
Datový typ vstupního sloupce Single nebo Double vektor známé velikosti těchto typů.
Datový typ výstupního sloupce Stejný datový typ jako vstupní sloupec
Exportovatelné do ONNX Ano

Výsledný NormalizingEstimator normalizuje data jedním z následujících způsobů na základě toho, jak byla vytvořena:

  • Min Max – lineární reškálování, které je založeno na minimální a maximální hodnotě pro každý řádek.
  • Střední odchylka – Každý řádek můžete škálovat tak, aby se rozptyl jednotek a volitelně nulový průměr.
  • Log Mean Variance ( Střední odchylka protokolu ) – Každý řádek můžete škálovat tak, aby byl rozptyl jednotek, volitelně nulový průměr na základě výpočtů ve škálování protokolu.
  • Binning – Bucketizes the data in each row and performs a linear rescale based on the calculated bins.
  • Binning pod dohledem – Kontejnerizujte data v jednotlivých řádcích a provádí lineární reškálování na základě počítaných intervalů. Výpočet intervalu je založený na korelaci sloupce Popisek.
  • Robustní škálování – Volitelně data a škáluje se na základě rozsahu dat a zadaných minimálních a maximálních hodnot quantile. Tato metoda je robustnější pro odlehlé hodnoty.

Podrobnosti o odhadu

Interval normalizovaných dat závisí na tom, jestli je zadána hodnota FixZero, nebo ne. fixZero defaults to true. Pokud je fixZero nepravda, normalizovaný interval je $[0,1]$ a rozdělení normalizovaných hodnot závisí na režimu normalizace. Například s minimálním maximem se minimální a maximální hodnoty mapují na 0 a 1 a zbývající hodnoty spadají mezi. Při nastavení fixZero je normalizovaný interval $[-1,1]$ s rozdělením normalizovaných hodnot v závislosti na režimu normalizace, ale chování se liší. S minimálním maximem závisí rozdělení na to, jak daleko je číslo od 0, což vede k tomu, že číslo má největší mapovanou vzdálenost na 1, pokud se jedná o kladné číslo nebo -1, pokud se jedná o záporné číslo. Vzdálenost od 0 ovlivní rozdělení s většinou čísel, která jsou blíže k normalizaci směrem k 0. Robustní škálování nepoužívá fixZero a jeho hodnoty nejsou omezeny na $[0,1]$ nebo $[-1;1]$. Škálování je založené na rozsahu dat a zadaném minimálním a maximálním počtu kvantit.

Rovnice pro výstupní $y$ použití střední odchylky i střední odchylky pro vstupní $x$ bez použití možnosti CDF je: $y = (x - \text{offset}) \text{scale}$. Kde se během trénování vypočítá posun a škálování.

Pomocí možnosti CDF je to: $y = 0,5 * (1 + \text{ERF}(x - \text{mean}) / (\text{směrodatná odchylka} * sqrt(2)$. Kde ERF je chybová funkce použitá k přibližné přibližné hodnotě CDF náhodné proměnné, která se předpokládá normální distribuci. Střední a směrodatná odchylka se během trénování výpočtu.

K vytvoření tohoto estimátoru použijte jednu z následujících možností:

Příklady použití najdete na výše uvedených odkazech.

Metody

Name Description
Fit(IDataView)

Vlaky a vrací .NormalizingTransformer

GetOutputSchema(SchemaShape)

SchemaShape Vrátí schéma, které bude vytvořeno transformátorem. Používá se k šíření a ověřování schématu v kanálu.

Metody rozšíření

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

Připojte kontrolní bod ukládání do mezipaměti do řetězu odhadce. Tím zajistíte, aby podřízené estimátory byly natrénovány proti datům uloženým v mezipaměti. Před průchodem více dat je užitečné mít kontrolní bod ukládání do mezipaměti.

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

Vzhledem k estimátoru vraťte objekt obtékání, který jednou zavolá delegáta Fit(IDataView) . Často je důležité, aby estimátor vrátil informace o tom, co bylo vhodné, což je důvod, proč Fit(IDataView) metoda vrací konkrétní typ objekt, spíše než jen obecný ITransformer. Ve stejnou dobu se však často vytvářejí do kanálů s mnoha objekty, takže možná budeme muset vytvořit řetěz odhadců prostřednictvím IEstimator<TTransformer> místa, kde odhadovač, EstimatorChain<TLastTransformer> pro který chceme získat transformátor, je někde v tomto řetězu. Pro tento scénář můžeme prostřednictvím této metody připojit delegáta, který bude volána po zavolání fit.

Platí pro