Componente Normalizar Dados

Este artigo descreve o componente no designer do Azure Machine Learning.

Use este componente para transformar um conjunto de dados por meio da normalização.

A normalização é uma técnica geralmente aplicada como parte da preparação de dados para o aprendizado de máquina. O objetivo da normalização é mudar os valores das colunas numéricas no conjunto de dados para usar uma escala comum, sem distorcer as diferenças nos intervalos de valores nem perder informações. A normalização também é necessária para alguns algoritmos para modelar os dados corretamente.

Por exemplo, suponha que o conjunto de dados de entrada contenha uma coluna com valores variando de 0 a 1 e outra coluna com valores variando de 10.000 a 100.000. A grande diferença na escala dos números pode causar problemas ao tentar combinar os valores como recursos durante a modelagem.

A normalização evita esses problemas criando novos valores que mantêm a distribuição geral e as proporções nos dados de origem, mantendo os valores em uma escala aplicada em todas as colunas numéricas usadas no modelo.

Esse componente oferece várias opções para transformar dados numéricos:

  • Você pode mudar todos os valores para uma escala de 0–1 ou transformar os valores, representando-os como classificações de percentil em vez de valores absolutos.
  • Você pode aplicar a normalização para uma única coluna ou em várias colunas em um mesmo conjunto de dados.
  • Se você precisar repetir o pipeline ou aplicar as mesmas etapas de normalização a outros dados, poderá salvar as etapas como uma transformação de normalização e aplicá-la a outros conjuntos de dados que tenham o mesmo esquema.

Aviso

Alguns algoritmos exigem que os dados sejam normalizados antes de treinar um modelo. Outros algoritmos executam o dimensionamento ou normalização dos seus próprios dados. Portanto, ao escolher um algoritmo de aprendizado de máquina para usar na criação de um modelo de previsão, examine os requisitos de dados do algoritmo antes de aplicar a normalização aos dados de treinamento.

Configurar dados de normalização

Você pode aplicar apenas um componente de normalização por vez usando esse módulo. Portanto, o mesmo método de normalização é aplicado a todas as colunas que você escolher. Para usar métodos de normalização diferentes, use uma segunda instância de Normalizar Dados.

  1. Adicione o componente Normalizar Dados ao pipeline. Você pode encontrar o componente no Azure Machine Learning, em Transformação de Dados, na categoria Escala e Redução.

  2. Conecte um conjunto de dados que contenha pelo menos uma coluna de todos os números.

  3. Use o Seletor de Coluna para escolher as colunas numéricas a serem normalizadas. Se você não escolher colunas individuais, por padrão, todas as colunas de tipo numérico na entrada serão incluídas, e o mesmo processo de normalização será aplicado a todas as colunas escolhidas.

    Isso pode gerar resultados estranhos se você incluir colunas numéricas que não devem ser normalizadas! Sempre verifique as colunas com cuidado.

    Se nenhuma coluna numérica for detectada, verifique os metadados da coluna para verificar se o tipo de dados da coluna é um tipo numérico compatível.

    Dica

    Para garantir que as colunas de um tipo específico sejam fornecidas como entrada, tente usar o componente Selecionar Colunas no Conjunto de Dados antes de Normalizar Dados.

  4. Use 0 para colunas constantes quando marcado: escolha esta opção quando qualquer coluna numérica contiver um único valor inalterável. Isso garante que essas colunas não sejam usadas em operações de normalização.

  5. Na lista suspensa Método de transformação, escolha uma única função matemática para aplicar a todas as colunas escolhidas.

    • Zscore: converte todos os valores em uma pontuação z.

      Os valores na coluna são transformados usando a seguinte fórmula:

      normalização usando z-scores

      A média e o desvio padrão são calculados para cada coluna separadamente. O desvio padrão da população é usado.

    • MinMax: o normalizador de mínimo e máximo redimensiona linearmente cada recurso no intervalo [0,1].

      O redimensionamento do intervalo [0,1] é feito mudando os valores de cada recurso para que o valor mínimo seja 0 e, em seguida, dividindo pelo novo valor máximo (que é a diferença entre os valores máximos e mínimos originais).

      Os valores na coluna são transformados usando a seguinte fórmula:

      normalização usando a função min-max

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

      fórmula de normalização pela função de logística

    • LogNormal: essa opção converte todos os valores em uma escala lognormal.

      Os valores na coluna são transformados usando a seguinte fórmula:

      distribuição de fórmula log-normal

      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.

    • TanH: todos os valores são convertidos em uma tangente hiperbólica.

      Os valores na coluna são transformados usando a seguinte fórmula:

      normalização usando a função tanh

  6. Envie o pipeline ou clique duas vezes no componente Normalizar Dados e selecione Executar Selecionado.

Resultados

O componente Normalizar Dados gera duas saídas:

  • Para exibir os valores transformados, clique com o botão direito do mouse no componente e escolha Visualizar.

    Por padrão, os valores são transformados no local. Se você quiser comparar os valores transformados com os valores originais, use o componente Adicionar Colunas para recombinar os conjuntos de dados e exibir as colunas lado a lado.

  • Para salvar a transformação para que você possa aplicar o mesmo método de normalização a outro conjunto de dados, escolha o componente e Registrar conjunto de dados na guia Saídas no painel direito.

    Em seguida, você pode carregar as transformações salvas do grupo Transformações do painel de navegação esquerdo e aplicá-las a um conjunto de dados com o mesmo esquema usando Aplicar Transformação.

Próximas etapas

Confira o conjunto de componentes disponíveis no Azure Machine Learning.