NormalizingEstimator Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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:
- [NormalizeMinMax] (xref:Microsoft.ML.NormalizationCatalog.NormalizeMinMax(Microsoft.ML.TransformsCatalog, System.String, System.String, System.Int64, System.Boolean))
- NormalizeMeanVariance
- NormalizeLogMeanVariance
- NormalizeBinning
- NormalizeSupervisedBinning
- NormalizeRobustScaling
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. |