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).
- Consulte informações sobre projetos de machine learning em movimento de ML Studio (clássico) para Azure Machine Learning.
- Saiba mais sobre Azure Machine Learning.
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.
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.
Ligação um conjunto de dados que contém pelo menos uma coluna de todos os números.
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.
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.
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:
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:
Logística: Os valores na coluna são transformados com a seguinte fórmula:
LogNormal: Esta opção converte todos os valores numa escala lognormal.
Os valores da coluna são transformados com a seguinte fórmula:
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:
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:
Recomendar Módulos para os Meus Dados: Este módulo personalizado por um membro da equipa Azure ML avalia o seu conjunto de dados e recomenda medidas para a limpeza e dimensionamento de dados.
Escala de características: Este artigo na Wikipédia explica os métodos básicos utilizados para normalizar dados numéricos.
A preparação de dados para a mineração de dados abrange muitos passos de preparação de dados em profundidade. Consulte o Capítulo 7 para uma discussão sobre a normalização dos dados.
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.