Normalizar Dados
Importante
O suporte para o Machine Learning Studio (clássico) terminará em 31 de agosto de 2024. É recomendável fazer a transição para o Azure Machine Learning até essa data.
A partir de 1º de dezembro de 2021, você não poderá criar recursos do Machine Learning Studio (clássico). Até 31 de agosto de 2024, você pode continuar usando os recursos existentes do Machine Learning Studio (clássico).
- Confira informações sobre como mover projetos de machine learning do ML Studio (clássico) para o Azure Machine Learning.
- Saiba mais sobre o Azure Machine Learning.
A documentação do ML Studio (clássico) está sendo desativada e pode não ser atualizada no futuro.
Redimensiona os dados numéricos para restringir os valores do conjunto de dados com um intervalo padrão
Categoria: Transformação de dados/ escala e redução
Observação
Aplica-se a: somente Machine Learning Studio (clássico)
Módulos semelhantes do tipo "arrastar e soltar" estão disponíveis no designer do Azure Machine Learning.
Visão geral do módulo
Este artigo descreve como usar o módulo Normalizar Dados no Machine Learning Studio (clássico), 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 módulo 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 experimento 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 têm 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.
Como configurar a Normalização de Dados
Você pode aplicar apenas um método 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.
Adicione o módulo Normalizar Dados ao experimento. Você pode encontrar o módulo no Machine Learning Studio (clássico), em Transformação de Dados, na categoria Dimensionar e Reduzir.
Conecte um conjunto de dados que contenha pelo menos uma coluna de todos os números.
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 módulo Selecionar Colunas no Conjunto de Dados antes de Normalizar Dados.
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.
Na lista suspensa do método Transformação , escolha uma única função matemática para aplicar a todas as colunas selecionadas.
Zscore: converte todos os valores em uma pontuação z.
Os valores na coluna são transformados usando a seguinte fórmula:
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:
Logística: os valores na coluna são transformados usando a seguinte fórmula:
LogNormal: essa opção converte todos os valores em uma escala lognormal.
Os valores na coluna são transformados usando 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.
TanH: todos os valores são convertidos em uma tangente hiperbólica.
Os valores na coluna são transformados usando a seguinte fórmula:
Execute o experimento ou clique duas vezes no módulo Normalizar Dados e selecione Executar Selecionado.
Resultados
O módulo Normalizar Dados gera duas saídas:
Para exibir os valores transformados, clique com o botão direito do mouse no módulo, selecione o conjunto de dados Transformado e clique em Visualizar.
Por padrão, os valores são transformados no local. Se você quiser comparar os valores transformados com os valores originais, use o módulo 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 semelhante, clique com o botão direito do mouse no módulo, selecione a função Transformação e clique em Salvar como Transformar.
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.
Exemplos
Para obter exemplos de como a normalização é usada no machine learning, consulte a Galeria de IA do Azure:
- Previsão de risco de crédito: neste exemplo, a normalização é aplicada a todos os dados numéricos, exceto à coluna de classe, à pontuação de risco de crédito. Este exemplo usa a transformação tanh , que converte todos os recursos numéricos em valores dentro de um intervalo de 0 a 1.
Observações técnicas
Este módulo dá suporte apenas aos métodos de normalização padrão listados na seção Como fazer e não dá suporte à normalização de matriz ou a outras transformações complexas.
Se você precisar criar um método de normalização personalizado, poderá usar os módulos Executar Script R ou Executar Script Python para calcular e aplicar a transformação.
Algoritmos que aplicam a normalização
Normalizar recursos para que eles usem uma escala comum é um requisito geral para muitos algoritmos de machine learning.
Em algoritmos de classificação linear, instâncias são consideradas como vetores no espaço multidimensional. Uma vez que o intervalo de valores de dados brutos varia muito, algumas funções objetivas não funcionam corretamente sem a normalização. Por exemplo, se um dos recursos tem uma ampla gama de valores, as distâncias entre pontos é regida por esse recurso em particular.
Portanto, recursos numéricos devem ser normalizados, de modo que cada recurso aproximadamente contribui proporcionalmente à distância final. Isso pode fornecer benefícios significativos de aumento de velocidade e a precisão.
Ao usar os algoritmos regressão logística e perceptron médio , por padrão, os recursos são normalizados antes do treinamento.
Recursos e leituras adicionais
Se você não tiver certeza de qual tipo de normalização atende aos seus dados, confira estes recursos:
Recomendar Módulos para Meus Dados: este módulo personalizado por um membro da equipe do Azure ML avalia seu conjunto de dados e recomenda etapas para limpar e dimensionar dados.
Dimensionamento de recursos: Este artigo na Wikipédia explica os métodos básicos usados para normalizar dados numéricos.
A preparação de dados para mineração de dados abrange muitas etapas de preparação de dados em profundidade. Consulte o Capítulo 7 para uma discussão sobre a normalização de dados.
Entradas esperadas
Nome | Tipo | Descrição |
---|---|---|
Dataset | Tabela de Dados | Conjunto de dados de entrada |
Parâmetros do módulo
Nome | Intervalo | Type | Padrão | Descrição |
---|---|---|---|---|
Método de transformação | any | TransformationMethods | ZScore | Escolha o método matemático usado para dimensionamento |
Colunas a serem transformadas | any | ColumnSelection | NumericAll | Selecionar todas as colunas às quais a transformação selecionada deve ser aplicada |
Saídas
Nome | Tipo | Descrição |
---|---|---|
Conjunto de dados transformados | Tabela de Dados | Conjunto de dados transformados |
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 | Descrição |
---|---|
Erro 0001 | Ocorrerá uma exceção se uma ou mais das colunas especificadas do conjunto de dados não puder ser encontrada. |
Erro 0003 | Ocorrerá uma exceção se uma ou mais das entradas for nula ou estiver vazia. |
Erro 0017 | Ocorrerá uma exceção se uma ou mais das colunas especificadas tiver um tipo sem suporte por módulo atual. |
Erro 0020 | Ocorrerá uma exceção se o número de colunas em alguns dos conjuntos de dados transmitidos para o módulo for muito pequeno. |
Erro 0021 | Ocorrerá uma exceção se o número de linhas em alguns dos conjuntos de dados passados para o módulo for muito pequeno. |
Para obter uma lista de erros específicos aos módulos do Studio (clássico), consulte Machine Learning códigos de erro.
Para obter uma lista de exceções de API, consulte Machine Learning códigos de erro da API REST.