Pular para o conteúdo principal

Normalização vs. Padronização: Como saber a diferença

Descubra as principais diferenças, aplicações e implementação da normalização e padronização no pré-processamento de dados para aprendizado de máquina.
Actualizado 15 de out. de 2024  · 9 min de leitura

A preparação precisa dos dados é importante tanto para o desempenho dos modelos quanto para a interpretação dos resultados. Esse é o desafio central em que entram a normalização e a padronização - duas técnicas essenciais de dimensionamento de recursos que podem ser usadas para ajustar os dados para um melhor desempenho ou ajudar na interpretação dos resultados.

Neste artigo, eu o orientarei sobre os diferentes termos e também o ajudarei a ver algumas das diferenças práticas entre normalização e padronização. Ao final, você saberá quando usar cada um deles no seu fluxo de trabalho de pré-processamento de dados. Ao se familiarizar com a normalização e a padronização, você aumentará o desempenho dos seus modelos, interpretará melhor os resultados e evitará as armadilhas comuns dos dados não dimensionados. As diferenças sutis aqui são muito importantes no campo do aprendizado de máquina. Se você quer mesmo se tornar um especialista, inscreva-se hoje mesmo em nossa carreira de Cientista de Aprendizado de Máquina em Python.

Torne-se um cientista de ML

Aperfeiçoe suas habilidades em Python para se tornar um cientista de aprendizado de máquina.
Comece a aprender de graça

Entendendo a escala de recursos

A normalização e a padronização pertencem à ideia ou categoria de escalonamento de recursos. O dimensionamento de recursos é uma etapa importante na preparação de dados para modelos de aprendizado de máquina. Isso envolve a transformação dos valores dos recursos em um conjunto de dados em uma escala semelhante, garantindo que todos os recursos contribuam igualmente para o processo de aprendizado do modelo.

O escalonamento de recursos é importante porque, quando os recursos estão em escalas muito diferentes, como um recurso que varia de 1 a 10 e outro de 1.000 a 10.000, os modelos podem priorizar os valores maiores, o que leva a um viés nas previsões. Isso pode resultar em um desempenho ruim do modelo e em uma convergência mais lenta durante o treinamento.

A escala de recursos aborda esses problemas ajustando o intervalo dos dados sem distorcer as diferenças nos valores. Há várias técnicas de dimensionamento, sendo a normalização e a padronização as mais comumente usadas. Ambos os métodos ajudam os modelos de aprendizado de máquina a ter um desempenho ideal, equilibrando o impacto dos recursos, reduzindo a influência de outliers e, em alguns casos, melhorando as taxas de convergência.

O que é normalização?

A normalização é uma ideia ampla, e há diferentes maneiras de normalizar os dados. De modo geral, a normalização refere-se ao processo de ajuste de valores medidos em escalas diferentes para uma escala comum. Às vezes, é melhor ilustrar com um exemplo. Para cada tipo de normalização abaixo, consideraremos um modelo para entender a relação entre o preço de uma casa e seu tamanho.

Tipos de normalização

Vamos dar uma olhada em alguns dos principais tipos. Lembre-se de que esta não é uma lista completa: 

Normalização mínima e máxima

Com a normalização min-max, podemos redimensionar os tamanhos das casas para que se encaixem em um intervalo de 0 a 1. Isso significa que o menor tamanho de casa seria representado por 0, e o maior tamanho de casa seria representado por 1.

Normalização de logs

A normalização de logs é outra técnica de normalização. Ao usar a normalização logarítmica, aplicamos uma transformação logarítmica aos preços dos imóveis. Essa técnica ajuda a reduzir o impacto de preços maiores, especialmente se houver diferenças significativas entre eles.

Escala decimal

A escala decimal é outra técnica de normailzação. Para este exemplo, podemos ajustar os tamanhos das casas deslocando o ponto decimal para tornar os valores menores. Isso significa que os tamanhos das casas são transformados em uma escala mais gerenciável, mantendo suas diferenças relativas intactas.

Normalização da média (centralização da média)

A normalização da média, nesse contexto, envolveria o ajuste dos preços dos imóveis, subtraindo o preço médio do preço de cada imóvel. Esse processo centraliza os preços em zero, mostrando como o tamanho de cada casa se compara à média. Ao fazer isso, podemos analisar quais tamanhos de casas são maiores ou menores do que a média, facilitando a interpretação de seus preços relativos.

Quando você deve normalizar os dados?

Como você deve ter deduzido dos exemplos acima, a normalização é particularmente útil quando a distribuição dos dados é desconhecida ou não segue uma distribuição gaussiana. Os preços das casas são um bom exemplo, porque algumas casas são muito, muito caras, e os modelos nem sempre lidam bem com exceções.

Portanto, o objetivo da normalização é criar um modelo melhor. Podemos normalizar a variável dependente para que os erros sejam distribuídos de forma mais uniforme, ou então podemos normalizar as variáveis de entrada para garantir que os recursos com escalas maiores não dominem aqueles com escalas menores.

A normalização é mais eficaz nos seguintes cenários:

  • Distribuição desconhecida ou não gaussiana: Quando a distribuição dos dados não é conhecida ou não segue um padrão normal (gaussiano). Por exemplo, na regressão linear, podemos querer normalizar a variável dependente para que ela se pareça mais com uma curva de sino, o que permite maior confiança em nossas estimativas.
  • Algoritmos baseados em distância: A normalização é necessária ao usar algoritmos de aprendizado de máquina que dependem de distâncias entre pontos de dados, como o k-Nearest Neighbors (k-NN), para evitar que recursos com escalas maiores dominem os cálculos de distância.

O que é padronização?

Enquanto a normalização dimensiona os recursos para um intervalo específico, a padronização, que também é chamada de dimensionamento de pontuação z, transforma os dados para que tenham uma média de 0 e um desvio padrão de 1. Esse processo ajusta os valores dos recursos subtraindo a média e dividindo pelo desvio padrão. Você já deve ter ouvido falar em "centralização e dimensionamento" de dados. Bem, a padronização se refere à mesma coisa: primeiro a centralização, depois o dimensionamento.

A fórmula para a padronização é:

Fórmula de escala do escore z

Onde:

  • X é o valor original,
  • mu é a média do recurso, e
  • sigma é o desvio padrão do recurso.

Essa fórmula redimensiona os dados de forma que sua distribuição tenha uma média de 0 e um desvio padrão de 1.

Quando você deve padronizar os dados?

A padronização é mais adequada nos seguintes casos:

  • Algoritmos baseados em gradiente: O Support Vector Machine (SVM) requer dados padronizados para um desempenho ideal. Embora modelos como regressão linear e regressão logística não pressuponham padronização, eles ainda podem se beneficiar dela, principalmente quando os recursos variam amplamente em magnitude, ajudando a garantir contribuições equilibradas de cada recurso e melhorando a otimização.
  • Redução de dimensionalidade: A padronização está nas técnicas de redução de dimensionalidade, como a PCA, porque a PCA identifica a direção em que a variação nos dados é maximizada. A normalização da média por si só não é suficiente porque a PCA considera a média e a variação, e escalas de recursos diferentes distorceriam a análise.

Normalização vs. Padronização: Principais diferenças

Às vezes, é difícil distinguir entre normalização e padronização. Por um lado, a normalização às vezes é usada como um termo mais geral, enquanto a padronização tem um significado um pouco mais específico ou especificamente técnico. Além disso, os analistas e cientistas de dados que estão familiarizados com os termos ainda podem ter dificuldades para distinguir os casos de uso.

Embora ambas sejam técnicas de dimensionamento de recursos, elas diferem em suas abordagens e aplicações. Entender essas diferenças é fundamental para que você escolha a técnica certa para o seu modelo de aprendizado de máquina.

Métodos de redimensionamento

A normalização redimensiona os valores dos recursos em um intervalo predefinido, geralmente entre 0 e 1, o que é particularmente útil para modelos em que a escala dos recursos varia muito. Em contrapartida, a padronização centraliza os dados em torno da média (0) e os dimensiona de acordo com o desvio padrão (1).

Sensibilidade a valores discrepantes

Diferentes técnicas de normalização variam em sua eficácia no tratamento de outliers. A normalização da média pode ajustar com sucesso os valores discrepantes em alguns cenários, mas outras técnicas podem não ser tão eficazes. Em geral, as técnicas de normalização não lidam com o problema de outlier de forma tão eficaz quanto a padronização, porque a padronização se baseia explicitamente na média e no desvio padrão.

Casos de uso

A normalização é amplamente usada em algoritmos baseados em distância, como o k-Nearest Neighbors (k-NN), em que os recursos devem estar na mesma escala para garantir a precisão dos cálculos de distância. A padronização, por outro lado, é essencial para algoritmos baseados em gradiente, como o Support Vector Machines (SVM), e é frequentemente aplicada em técnicas de redução de dimensionalidade, como o PCA, em que é importante manter a variação correta dos recursos.

Tabela de resumo das diferenças

Vamos analisar todas essas diferenças importantes em uma tabela de resumo para facilitar a comparação entre normalização e padronização:

Categoria Normalização Padronização
Método de redimensionamento Dimensiona os dados para um intervalo (geralmente de 0 a 1) com base nos valores mínimo e máximo. Centraliza os dados em torno da média (0) e os dimensiona pelo desvio padrão (1).
Sensibilidade a valores discrepantes A normalização pode ajudar a ajustar os valores discrepantes se for usada corretamente, dependendo da técnica. A padronização é uma abordagem mais consistente para corrigir problemas de outlier.
Algoritmos comuns Geralmente aplicado em algoritmos como k-NN e redes neurais que exigem que os dados estejam em uma escala consistente. Mais adequado para algoritmos que exigem que os recursos tenham uma escala comum, como regressão logística, SVM e PCA.

Visualizando as diferenças

Para entender as diferenças entre normalização e padronização, é útil ver seus efeitos visualmente e em termos de desempenho do modelo. Aqui, incluí boxplots para mostrar essas diferentes técnicas de dimensionamento de recursos. Aqui, usei a normalização min-max em cada uma das variáveis do meu conjunto de dados. Podemos ver que nenhum valor é menor que 0 ou maior que 1.

Dados normalizados

Dados normalizados. Imagem do autor

Nesse segundo visual, usei a padronização em cada uma das variáveis. Podemos ver que os dados estão centralizados em zero. 

Dados padronizadosDados padronizados. Imagem do autor

Vantagens e desvantagens

As vantagens incluem melhor desempenho do modelo e contribuições equilibradas de recursos. No entanto, a normalização pode limitar a interpretabilidade devido à escala fixa, enquanto a padronização também pode dificultar a interpretação, pois os valores não refletem mais suas unidades originais. Há sempre uma compensação entre a complexidade e a precisão do modelo.

Normalização e padronização na regressão linear

Vamos considerar como a normalização (neste caso, a normalização da média) e a padronização podem alterar a interpretação de um modelo de regressão linear simples. O R-quadrado ou o R-quadrado ajustado seria o mesmo para cada modelo, portanto, a escala de recursos aqui se refere apenas à interpretação do nosso modelo.  

Transformação aplicada Variável independente (tamanho da casa) Variável dependente (preço da casa) Interpretação
Normalização da média Média normalizada Original Você está prevendo o preço original da casa para cada mudança no tamanho da casa em relação à média.
Padronização Padronizado Original Você está prevendo o preço original da casa para cada mudança de um desvio padrão no tamanho da casa.
Normalização da média Original Média normalizada Você está prevendo o preço da casa em relação à média para cada aumento de uma unidade no tamanho original da casa.
Padronização Original Padronizado Você está prevendo o preço padronizado da casa para cada aumento de uma unidade no tamanho original da casa.
Normalização média (ambas as variáveis) Média normalizada Média normalizada Você está prevendo o preço da casa em relação à média para cada mudança no tamanho da casa em relação à média.
Padronização (ambas as variáveis) Padronizado Padronizado Você está prevendo o preço padronizado da casa para cada mudança de um desvio padrão no tamanho da casa.

Outra observação importante é que, na regressão linear, se você padronizar as variáveis independentes e dependentes, o r-quadrado permanecerá o mesmo. Isso ocorre porque o r-quadrado mede a proporção da variação em y que é explicada por x, e essa proporção permanece a mesma, independentemente de as variáveis serem padronizadas ou não. No entanto, a padronização da variável dependente alterará o RMSE, pois o RMSE é medido nas mesmas unidades que a variável dependente. Como y agora está padronizado, o RMSE será menor após a padronização. Especificamente, ele refletirá o erro em termos do desvio padrão da variável padronizada, e não das unidades originais. Se a regressão for especialmente interessante para você, faça nosso curso Introduction to Regression with statsmodels in Python para se tornar um especialista. 

Conclusão

O dimensionamento de recursos, que inclui normalização e padronização, é um componente essencial do pré-processamento de dados no aprendizado de máquina. Compreender os contextos apropriados para aplicar cada técnica pode melhorar significativamente o desempenho e a precisão de seus modelos. 

Se você deseja expandir e aprofundar seu conhecimento sobre o dimensionamento de recursos e sua função no aprendizado de máquina, temos vários recursos excelentes no DataCamp que podem ajudá-lo a começar. Você pode explorar nosso artigo sobre normalização no aprendizado de máquina para conhecer os conceitos básicos ou considerar nosso curso de aprendizado de máquina de ponta a ponta, que abrange aplicativos reais. 

Torne-se um cientista de ML

Aperfeiçoe suas habilidades em Python para se tornar um cientista de aprendizado de máquina.

Samuel Shaibu's photo
Author
Samuel Shaibu
LinkedIn

Profissional experiente em dados e escritor que tem paixão por capacitar aspirantes a especialistas no espaço de dados.

Temas

Aprenda com a DataCamp

Curso

Understanding Data Science

2 hr
702K
An introduction to data science with no coding involved.
Ver DetalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado

blog

Analista de dados versus analista de negócios: Quais são as diferenças?

Quais são as principais diferenças entre um analista de dados e um analista de negócios? Leia tudo sobre eles neste guia completo.
Austin Chia's photo

Austin Chia

8 min

blog

Processamento em lote versus processamento em fluxo: Quando usar cada um e por que é importante

Uma análise detalhada das diferenças entre o processamento em lote e em fluxo para pipelines de dados. Conheça as vantagens e desvantagens exclusivas de cada abordagem para aplicar as técnicas adequadas ao seu pipeline de dados.
Tim Lu's photo

Tim Lu

11 min

blog

O que é processamento de linguagem natural (NLP)? Um guia abrangente para iniciantes

Explore o mundo transformador do Processamento de Linguagem Natural (PLN) com o guia abrangente do DataCamp para iniciantes. Mergulhe nos principais componentes, técnicas, aplicativos e desafios da PNL.
Matt Crabtree's photo

Matt Crabtree

11 min

blog

Como analisar dados para sua empresa em 5 etapas

Descubra as diferentes etapas para analisar dados e extrair valor deles, bem como os métodos e técnicas envolvidos no processo.
Javier Canales Luna's photo

Javier Canales Luna

14 min

blog

O que é análise de dados? Um guia especializado com exemplos

Explore o mundo da análise de dados com nosso guia abrangente. Saiba mais sobre sua importância, processo, tipos, técnicas, ferramentas e as principais carreiras em 2023
Matt Crabtree's photo

Matt Crabtree

10 min

blog

Modelos generativos versus modelos discriminativos: Diferenças e casos de uso

Este artigo explica as principais diferenças entre os modelos generativos e discriminativos, abordando seus princípios, casos de uso e exemplos práticos para ajudar você a escolher a abordagem certa para suas tarefas de machine learning.
Arun Nanda's photo

Arun Nanda

15 min

Ver maisVer mais