Compartilhar via


NormalizingEstimator Classe

Definição

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)
Herança
NormalizingEstimator
Implementações

Comentários

Características do estimador

Esse estimador precisa examinar os dados para treinar seus parâmetros? Sim
Tipo de dados de coluna de entrada Single ou ou Double um vetor de tamanho conhecido desses tipos.
Tipo de dados de coluna de saída O mesmo tipo de dados que a coluna de entrada
Exportável para ONNX Sim

O NormalizingEstimator resultante normalizará os dados de uma das seguintes maneiras com base em como eles foram criados:

  • Min Max - Um dimensionamento linear baseado nos valores mínimo e máximo para cada linha.
  • Variação média – redimensionar cada linha para variação de unidade e, opcionalmente, zero média.
  • Variação média do log – redimensionar cada linha para variação de unidade, opcionalmente, zero média com base em cálculos na escala de logs.
  • Binning – Bucketiza os dados em cada linha e executa um dimensionamento linear com base nas lixeiras calculadas.
  • Binning supervisionado – bucketize os dados em cada linha e execute como um dimensionamento linear com base nas lixeiras calculadas. O cálculo da lixeira baseia-se na correlação da coluna Rótulo.
  • Dimensionamento robusto – opcionalmente, centraliza os dados e dimensiona com base no intervalo de dados e nos valores mínimos e máximos do quantile fornecidos. Esse método é mais robusto para exceções.

Detalhes do estimador

O intervalo dos dados normalizados depende se fixZero é especificado ou não. fixZero padrão como true. Quando fixZero é falso, o intervalo normalizado é $[0,1]$ e a distribuição dos valores normalizados depende do modo de normalização. Por exemplo, com Min Max, os valores mínimo e máximo são mapeados para 0 e 1, respectivamente, e os valores restantes ficam entre eles. Quando fixZero é definido, o intervalo normalizado é $[-1,1]$ com a distribuição dos valores normalizados dependendo do modo de normalização, mas o comportamento é diferente. Com Min Max, a distribuição depende de quão longe o número está de 0, resultando no número com a maior distância sendo mapeada para 1 se for um número positivo ou -1 se for um número negativo. A distância de 0 afetará a distribuição com a maioria dos números mais próximos, normalizando para 0. O dimensionamento robusto não usa fixZero e seus valores não são restritos a $[0,1]$ ou $[-1,1]$. Seu dimensionamento baseia-se no intervalo dos dados e no quantile min e max fornecidos.

A equação para a saída $y$ da aplicação de variação média e variação média de log na entrada $x$ sem usar a opção CDF é: $y = (x - \text{offset}) \text{scale}$. Onde deslocamento e escala são computados durante o treinamento.

Usando a opção CDF é: $y = 0,5 * (1 + \text{ERF}((x - \text{mean}) / (\text{standard deviation} * sqrt(2)))$. Onde ERF é a Função de Erro usada para aproximar o CDF de uma variável aleatória assumida como normalmente distribuída. O desvio médio e padrão são computados durante o treinamento.

Para criar esse estimador, use um dos seguintes:

Verifique os links acima para obter exemplos de uso.

Métodos

Fit(IDataView)

Treina e retorna um NormalizingTransformer.

GetOutputSchema(SchemaShape)

Retorna o SchemaShape esquema que será produzido pelo transformador. Usado para propagação e verificação de esquema em um pipeline.

Métodos de Extensão

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

Acrescente um "ponto de verificação de cache" à cadeia de estimativas. Isso garantirá que os estimadores downstream serão treinados em relação aos dados armazenados em cache. É útil ter um ponto de verificação de cache antes dos treinadores que fazem várias passagens de dados.

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

Dado um estimador, retorne um objeto de encapsulamento que chamará um delegado uma vez Fit(IDataView) chamado. Geralmente, é importante que um estimador retorne informações sobre o que estava em forma, e é por isso que o Fit(IDataView) método retorna um objeto especificamente tipado, em vez de apenas um geral ITransformer. No entanto, ao mesmo tempo, IEstimator<TTransformer> muitas vezes são formados em pipelines com muitos objetos, portanto, talvez seja necessário construir uma cadeia de estimadores por meio EstimatorChain<TLastTransformer> de onde o estimador para o qual queremos que o transformador seja enterrado em algum lugar nesta cadeia. Para esse cenário, podemos por meio desse método anexar um delegado que será chamado quando fit for chamado.

Aplica-se a