Normalizar componente de Dados

Este artigo descreve um componente no estruturador do Azure Machine Learning.

Utilize este componente 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 machine learning. O objetivo da normalização é alterar os valores das colunas numéricas no conjunto de dados para utilizar uma escala comum, sem distorcer as diferenças nos intervalos de valores ou perder informações. A normalização também é necessária para que alguns algoritmos modelem os dados corretamente.

Por exemplo, suponha que o conjunto de dados de entrada contém uma coluna com valores entre 0 e 1 e outra coluna com valores entre 10 000 e 100 000. A grande diferença na escala dos números pode causar problemas quando tenta combinar os valores como funcionalidades durante a modelação.

A normalização evita estes problemas ao criar novos valores que mantêm a distribuição geral e as proporções nos dados de origem, ao mesmo tempo que mantém os valores numa escala aplicada em todas as colunas numéricas utilizadas no modelo.

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

  • Pode alterar todos os valores para uma escala 0-1 ou transformar os valores ao representá-los como classificações de percentil em vez de valores absolutos.
  • Pode aplicar a normalização a uma única coluna ou a múltiplas colunas no mesmo conjunto de dados.
  • Se precisar de repetir o pipeline ou aplicar os mesmos passos de normalização a 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 preparar um modelo. Outros algoritmos executam o seu próprio dimensionamento ou normalização de dados. Por conseguinte, quando escolher um algoritmo de machine learning para utilizar na criação de um modelo preditivo, não se esqueça de rever os requisitos de dados do algoritmo antes de aplicar a normalização aos dados de preparação.

Configurar Normalizar Dados

Só pode aplicar um método de normalização de cada vez com este componente. Por conseguinte, o mesmo método de normalização é aplicado a todas as colunas que selecionar. Para utilizar diferentes métodos de normalização, utilize uma segunda instância de Normalizar Dados.

  1. Adicione o componente Normalizar Dados ao pipeline. Pode encontrar o componente No Azure Machine Learning, em Transformação de Dados, na categoria Dimensionar e Reduzir .

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

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

    Isto pode originar resultados estranhos se incluir colunas numéricas que não devem ser normalizadas! Verifique sempre cuidadosamente as colunas.

    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, experimente utilizar o componente Selecionar Colunas no Conjunto de Dados antes de Normalizar Dados.

  4. Utilize 0 para colunas constantes quando selecionada: selecione esta opção quando qualquer coluna numérica contiver um único valor inalterado. Isto garante que essas colunas não são utilizadas em operações de normalização.

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

    • Zscore: converte todos os valores numa classificação z.

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

      normalização com z-scores

      Os desvios médios e padrão são calculados separadamente para cada coluna. É utilizado o desvio-padrão da população.

    • MinMax: o normalizador mínimo-máximo redimensiona linearmente todas as funcionalidades para o intervalo [0,1].

      O redimensionamento para o intervalo [0,1] é feito ao mudar os valores de cada funcionalidade para que o valor mínimo seja 0 e, em seguida, dividindo-se 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 com a seguinte fórmula:

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

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

      fórmula para normalização por função logística

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

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

      registo de fórmulas - distribuição 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.

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

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

      normalização com a função tanh

  6. Submeta o pipeline ou faça duplo clique no componente Normalizar Dados e selecione Executar Selecionado.

Resultados

O componente Normalizar Dados gera duas saídas:

  • Para ver os valores transformados, clique com o botão direito do rato no componente e selecione Visualizar.

    Por predefinição, os valores são transformados. Se quiser comparar os valores transformados com os valores originais, utilize o componente Adicionar Colunas para recombinar os conjuntos de dados e ver as colunas lado a lado.

  • Para guardar a transformação para que possa aplicar o mesmo método de normalização a outro conjunto de dados, selecione o componente e selecione Registar conjunto de dados no separador Saídas no painel direito.

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

Passos seguintes

Veja o conjunto de componentes disponíveis para o Azure Machine Learning.