NormalizingEstimator Classe

Definizione

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)
Ereditarietà
NormalizingEstimator
Implementazioni

Commenti

Caratteristiche dello strumento di stima

Questo stimatore deve esaminare i dati per eseguire il training dei relativi parametri?
Tipo di dati della colonna di input Single o Double un vettore di dimensioni note di tali tipi.
Tipo di dati della colonna di output Lo stesso tipo di dati della colonna di input
Esportabile in ONNX

L'oggetto NormalizingEstimator risultante normalizzerà i dati in uno dei modi seguenti in base alla modalità di creazione:

  • Min Max : una riscale lineare basata sui valori minimi e massimi per ogni riga.
  • Varianza media: ridimensionare ogni riga per unità di varianza e, facoltativamente, zero media.
  • Varianza media log: ridimensionare ogni riga in varianza unità, facoltativamente, zero media in base ai calcoli nella scala dei log.
  • Binning: esegue il bucket dei dati in ogni riga ed esegue una riscale lineare in base ai bin calcolati.
  • Binning con supervisione: raggruppare i dati in ogni riga ed eseguire una riscale lineare in base ai bin calcolati. Il calcolo del bin è basato sulla correlazione della colonna Label.
  • Scalabilità affidabile: facoltativamente i dati e le scalabilità in base all'intervallo di dati e ai valori quantile min e max forniti. Questo metodo è più affidabile per i outlier.

Dettagli dello strumento di stima

L'intervallo dei dati normalizzati dipende dal fatto che correzioneZero sia specificata o meno. fixZero impostazione predefinita su true. Quando correzioneZero è false, l'intervallo normalizzato è $[0,1]$ e la distribuzione dei valori normalizzati dipende dalla modalità di normalizzazione. Ad esempio, con Min Max, i valori minimi e massimi vengono mappati rispettivamente a 0 e 1 e i valori rimanenti rientrano tra. Quando si imposta fixZero, l'intervallo normalizzato è $[-1,1]$ con la distribuzione dei valori normalizzati a seconda della modalità di normalizzazione, ma il comportamento è diverso. Con Min Max, la distribuzione dipende dal numero compreso tra 0 e il numero con la distanza più grande mappata a 1 se è un numero positivo o -1 se è un numero negativo. La distanza da 0 influisce sulla distribuzione con una maggior parte dei numeri che si avvicinano alla normalizzazione verso 0. Il ridimensionamento affidabile non usa fixZero e i relativi valori non sono vincolati a $[0,1]$ o $[-1,1]$. La sua scalabilità è basata sull'intervallo dei dati e sul quantile min e max forniti.

L'equazione per l'output $y$ di applicazione sia della varianza media che della varianza del log in base all'input $x$ senza usare l'opzione CDF è: $y = (x - \text{offset}) \text{scale}$. Dove vengono calcolati offset e scalabilità durante il training.

Usando l'opzione CDF è: $y = 0,5 * (1 + \text{ERF}((x - \text{mean}) / (\text{deviazione standard} * sqrt(2)))$. Dove ERF è la funzione di errore usata per approssimare il CDF di una variabile casuale assunto normalmente distribuito. La deviazione media e standard vengono calcolate durante il training.

Per creare questo strumento di stima, usare uno dei seguenti elementi:

Controllare i collegamenti precedenti per esempi di utilizzo.

Metodi

Fit(IDataView)

Esegue il training e restituisce un NormalizingTransformeroggetto .

GetOutputSchema(SchemaShape)

Restituisce l'oggetto SchemaShape dello schema che verrà prodotto dal trasformatore. Usato per la propagazione e la verifica dello schema in una pipeline.

Metodi di estensione

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

Aggiungere un "checkpoint di memorizzazione nella cache" alla catena di stima. Ciò garantisce che gli estimatori downstream vengano sottoposti a training sui dati memorizzati nella cache. È utile avere un checkpoint di memorizzazione nella cache prima dei training che accettano più passaggi di dati.

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

Dato un stimatore, restituire un oggetto wrapping che chiamerà un delegato una volta Fit(IDataView) chiamato. Spesso è importante che un stimatore restituisca informazioni su ciò che è stato adatto, che è il motivo per cui il Fit(IDataView) metodo restituisce un oggetto tipizzato in modo specifico, anziché solo un oggetto generale ITransformer. Tuttavia, allo stesso tempo, IEstimator<TTransformer> sono spesso formati in pipeline con molti oggetti, quindi potrebbe essere necessario creare una catena di stima tramite EstimatorChain<TLastTransformer> dove lo stimatore per cui si vuole ottenere il trasformatore è sepolto da qualche parte in questa catena. Per questo scenario, è possibile collegare questo metodo a un delegato che verrà chiamato una volta chiamato fit.

Si applica a