Share via


Normalizar Dados

Importante

O suporte para o Estúdio de ML (clássico) terminará a 31 de agosto de 2024. Recomendamos a transição para o Azure Machine Learning até essa data.

A partir de 1 de dezembro de 2021, não poderá criar novos recursos do Estúdio de ML (clássico). Até 31 de agosto de 2024, pode continuar a utilizar os recursos existentes do Estúdio de ML (clássico).

A documentação do Estúdio de ML (clássico) está a ser descontinuada e poderá não ser atualizada no futuro.

Reescala dados numéricos para limitar os valores do conjunto de dados a uma gama padrão

Categoria: Transformação de Dados / Escala e Redução

Nota

Aplica-se a: Machine Learning Studio (clássico) apenas

Módulos semelhantes de arrasto e queda estão disponíveis em Azure Machine Learning designer.

Visão geral do módulo

Este artigo descreve como usar o módulo de Dados Normalizar em Machine Learning Studio (clássico), para transformar um conjunto de dados através da normalização.

A normalização é uma técnica frequentemente aplicada como parte da preparação de dados para a aprendizagem automática. O objetivo da normalização é alterar os valores das colunas numéricas no conjunto de dados para utilizar uma escala comum, sem distorcer diferenças nas gamas de valores ou perder informação. A normalização também é necessária para que alguns algoritmos modelo os dados corretamente.

Por exemplo, assuma que o seu conjunto de dados de entrada contém uma coluna com valores que variam entre 0 e 1 e outra coluna com valores que variam entre 10.000 e 100.000. A grande diferença na escala dos números pode causar problemas quando se tenta combinar os valores como características durante a modelação.

A normalização evita estes problemas criando novos valores que mantêm a distribuição geral e os rácios nos dados de origem, mantendo os valores dentro de uma escala aplicada em todas as colunas numéricas utilizadas no modelo.

Este módulo oferece várias opções para a transformação de dados numéricos:

  • Pode alterar todos os valores para uma escala de 0-1, ou transformar os valores representando-os como classificações percentil em vez de valores absolutos.
  • Pode aplicar a normalização numa única coluna ou em várias colunas no mesmo conjunto de dados.
  • Se precisar repetir a experiência, ou aplicar os mesmos passos de normalização para outros dados, pode guardar os passos como uma transformação de normalização, e aplicá-lo a outros conjuntos de dados que tenham o mesmo esquema.

Aviso

Alguns algoritmos exigem que os dados sejam normalizados antes de treinar uma modelo. Outros algoritmos realizam o seu próprio dimensionamento de dados ou normalização. Portanto, quando escolher um algoritmo de aprendizagem automática para usar na construção de uma modelo preditiva, certifique-se de rever os requisitos de dados do algoritmo antes de aplicar a normalização aos dados de treino.

Como configurar dados normalizando

Pode aplicar apenas um método de normalização de cada vez utilizando este módulo. Portanto, o mesmo método de normalização é aplicado a todas as colunas que seleciona. Para utilizar diferentes métodos de normalização, utilize uma segunda instância de Normalize Data.

  1. Adicione o módulo de dados normalizar à sua experiência. Pode encontrar o módulo em Machine Learning Studio (clássico), em Transformação de Dados, na categoria Escala e Redução.

  2. Ligação um conjunto de dados que contém pelo menos uma coluna de todos os números.

  3. Utilize o Seletor de Colunas para selecionar as colunas numéricas para normalizar. Se não escolher colunas individuais, por predefinição estão incluídas todas as colunas de tipo numérico na entrada e o mesmo processo de normalização é aplicado a todas as colunas selecionadas.

    Isto pode levar a resultados estranhos se incluir colunas numéricas que não devem ser normalizadas! Verifique sempre as colunas com cuidado.

    Se não forem detetadas colunas numéricas, verifique os metadados da coluna para verificar se o tipo de dados da coluna é um tipo numérico suportado.

    Dica

    Para garantir que as colunas de um tipo específico são fornecidas como entrada, tente utilizar as Colunas Selecionadas no módulo Dataset antes de normalizar os dados.

  4. Utilizar 0 para colunas constantes quando verificado: Selecione esta opção quando qualquer coluna numérica contiver um único valor imutável. Isto garante que tais colunas não são utilizadas em operações de normalização.

  5. A partir da lista de abandono do método de transformação , escolha uma única função matemática para aplicar a todas as colunas selecionadas.

    • Zscore: Converte todos os valores para um z-score.

      Os valores da coluna são transformados com a seguinte fórmula:

      normalization using z-scores

      O desvio médio e padrão é calculado separadamente para cada coluna. O desvio padrão da população é usado.

    • MinMax: O normalizador min-max redimensiona linearmente todas as funções para o intervalo [0,1].

      A rescalificação para o intervalo [0,1] é feita mudando os valores de cada recurso de modo a que o valor mínimo seja 0, e depois dividindo-se pelo novo valor máximo (que é a diferença entre os valores máximos originais e mínimos).

      Os valores da coluna são transformados com a seguinte fórmula:

      normalization using the min-max function

    • Logística: Os valores na coluna são transformados com a seguinte fórmula:

      formula for normalization by logistic function

    • LogNormal: Esta opção converte todos os valores numa escala lognormal.

      Os valores da coluna são transformados com a seguinte fórmula:

      formula log-normal distribution

      Aqui μ e σ são os parâmetros da distribuição, calculados empiricamente a partir dos dados como estimativas de probabilidade máxima, para cada coluna separadamente.

    • Todos os valores são convertidos numa tangente hiperbólica.

      Os valores da coluna são transformados com a seguinte fórmula:

      normalization using the tanh function

  6. Executar a experiência, ou clicar duas vezes no módulo de dados normalizar e selecionar Executar Selecionado.

Resultados

O módulo de dados normalizar gera duas saídas:

  • Para ver os valores transformados, clique no módulo com direito, selecione Conjunto de dados Transformado e clique em Visualizar.

    Por padrão, os valores são transformados no lugar. Se pretender comparar os valores transformados com os valores originais , utilize o módulo Add Columns para recombinar os conjuntos de dados e ver as colunas lado a lado.

  • Para salvar a transformação para que possa aplicar o mesmo método de normalização a outro conjunto de dados semelhante, clique com o botão direito no módulo, selecione a função De transformação e clique em Guardar como Transformar.

    Em seguida, pode carregar as transformações guardadas do grupo Transforms do painel de navegação esquerdo e aplicá-lo a um conjunto de dados com o mesmo esquema utilizando a Apply Transformation.

Exemplos

Por exemplo, como a normalização é usada na aprendizagem automática, consulte a Galeria Azure AI:

  • Previsão do risco de crédito: Nesta amostra, a normalização é aplicada a todos os dados numéricos, exceto a coluna de classe, a pontuação de risco de crédito. Este exemplo usa a transformação do tanh , que converte todas as características numéricas em valores dentro de um intervalo de 0-1.

Notas técnicas

Este módulo suporta apenas os métodos de normalização padrão listados na secção Como fazer , e não suporta a normalização da matriz ou outras transformações complexas.

Se precisar de criar um método de normalização personalizado, pode utilizar os módulos executar o Script R executar ou executar Python script para calcular e aplicar a transformação.

Algoritmos que aplicam a normalização

Normalizar as funcionalidades para que utilizem uma escala comum é um requisito geral para muitos algoritmos de aprendizagem automática.

  • Em algoritmos de classificação linear, os casos são vistos como vetores no espaço multidimensional. Uma vez que a gama de valores dos dados brutos varia muito, algumas funções objetivas não funcionam adequadamente sem normalização. Por exemplo, se uma das características tiver uma ampla gama de valores, as distâncias entre pontos são regidas por esta característica particular.

    Por isso, as características numéricas devem ser normalizadas de modo a que cada característica contribua aproximadamente proporcionalmente para a distância final. Isto pode proporcionar benefícios significativos de rapidez e precisão.

  • Ao utilizar os algoritmos de Regressão Logística e Perceptron Averaged , por padrão, as funcionalidades são normalizadas antes do treino.

Continuar a ler e recursos

Se não tiver a certeza de que tipo de normalização se adequa aos seus dados, consulte estes recursos:

Entradas esperadas

Nome Tipo Description
Conjunto de dados Tabela de Dados Conjunto de dados de entrada

Parâmetros do módulo

Nome Intervalo Tipo Predefinição Description
Método de transformação qualquer TransformaçãoMetros ZScore Escolha o método matemático utilizado para a escala
Colunas para transformar qualquer Seleção de Colunas NumericAll Selecione todas as colunas às quais a transformação selecionada deve ser aplicada

Saídas

Nome Tipo Description
Conjunto de dados transformado Tabela de Dados Conjunto de dados transformado
Função de transformação Interface ITransform Definição da função de transformação, que pode ser aplicada a outros conjuntos de dados

Exceções

Exceção Description
Erro 0001 A exceção ocorre se uma ou mais colunas especificadas de conjunto de dados não puderem ser encontradas.
Erro 0003 A exceção ocorre se uma ou mais entradas forem nulas ou vazias.
Erro 0017 A exceção ocorre se uma ou mais colunas especificadas tiverem o tipo não suportado pelo módulo atual.
Erro 0020 A exceção ocorre se o número de colunas em alguns dos conjuntos de dados passados para o módulo for demasiado pequeno.
Erro 0021 A exceção ocorre se o número de linhas em alguns dos conjuntos de dados passados para o módulo for demasiado pequeno.

Para obter uma lista de erros específicos dos módulos Studio (clássicos), consulte Machine Learning Códigos de Erro.

Para obter uma lista de exceções da API, consulte Machine Learning CÓDIGOs de Erro da API REST.

Ver também

Escala e Redução