Optativa 2: Transformação dos dados
A Ciência de Dados tem como objetivo principal a extração de informações úteis a partir de dados que servirão como embasamento para tomadas de decisão. Contudo, para que essa extração seja realizada com qualidade, os dados brutos devem ser submetidos a um processo de pré-processamento.
A qualidade dos dados é um pré-requisito importante para que as informações descobertas sejam realmente significativas. Entretanto, no mundo real, os dados costumam ser incompletos, inconsistentes, ruidosos e, muitas vezes, estão em um formato inutilizável ou em diversas fontes diferentes (Pimentel et al., 2021). Logo, a etapa de pré-processamento consiste em ajustar os dados para que sirvam como entrada para os processos de análise posteriores.
O trabalho de pré-processamento geralmente ocorre com as seguintes etapas: Limpeza de Dados, Integração de Dados, Transformação de Dados e Redução de Dados (Pimentel et al., 2021). Essas etapas não são mutuamente exclusivas e dependem do conjunto de dados em análise.
Neste artigo, vamos tratar apenas da transformação dos dados. As demais etapas podem ser encontradas nestes artigos do site: limpeza, integração e redução.
Transformação de dados
Após a limpeza inicial e integração do conjunto de dados (dataset), podemos passar para a transformação dos dados, que é a etapa onde padronizamos as escalas de valores, ajustamos os tipos dos campos e normalizamos os valores coletados (Pimentel et al., 2021). Todo esse processo serve para facilitar a aplicação de modelos e algoritmos de Machine Learning futuramente.
Para compreendermos melhor o processo, vamos trabalhar com um exemplo. Utilizaremos o banco de artistas do Spotify para demonstrar como transformar dados brutos em features úteis. A base de dados está disponível em Oliveira (2021): clique aqui para baixar.
O primeiro passo é entender com o que estamos lidando. Depois que importamos as bibliotecas que vamos utilizar, carregamos os dados em um dataframe do pandas. Conforme vemos na Figura 1, o arquivo CSV do nosso exemplo usa tabulação (\t) como separador.

Fonte: Autoria própria.
Observando os resultados do código acima, percebemos que o conjunto é composto por seis atributos: artist_id, name, followers, popularity, genres e image_url. Destes seis, apenas três apresentam possibilidades de transformação:
- A coluna
followerstem uma variância gigante (de artistas desconhecidos a superestrelas). - A coluna
popularityparece variar de 0 a 100. - A coluna
genresé uma lista que está em formato de texto, o que é um “tesouro” para aplicação da engenharia de features.
Engenharia de Features
A engenharia de features é a capacidade de criar-se novos dados a partir dos originais existentes no banco. No dataset que estamos utilizando, a coluna genres vem como texto atômico (ex: "['pop', 'rock']"), apesar de armazenar diversos tipos de gêneros. Modelos de aprendizagem de máquina provavelmente não conseguirão compreender isso, atrapalhando o funcionamento da técnica. Sendo assim, podemos extrair o número de gêneros que um artista toca e obter novos dados de análise a partir do campo genres.
Na Figura 2 definimos uma função chamada converter_lista para tratar as strings e transformá-las em listas do Python. Esses valores convertidos são adicionados numa nova coluna chamada genres_list. Em seguida, podemos usar essa lista para descobrir duas features novas: a quantidade de gêneros que um artista toca (feature 1) e se algum deles é do tipo ‘pop’ (feature 2).

genres para o tipo listas e obtenção de duas novas características (features) a partir dos dados originais de gênero.Fonte: Autoria própria.
Ao fazermos o procedimento da Figura 2, além de melhorarmos a capacidade de processamento de modelos de aprendizagem de máquina, também conseguimos mais dados para análise. Um texto complexo virou um dado do tipo número (num_genres) e um dado do tipo binário (is_pop), que encorpam ainda mais as modelagens.
Normalização (Min-Max Scaling)
A normalização (ou Min-Max Scaling) é uma técnica de pré-processamento de dados em aprendizado de máquina que reescala os dados para um intervalo fixo, geralmente entre 0 e 1.
Ela é ideal para dados que não seguem uma distribuição normal (curva de sino) ou quando queremos limitar o impacto de outliers sem removê-los totalmente. Assim, garantimos que nenhuma característica (variável) domine indevidamente o modelo devido à sua escala maior em comparação com outras, o que é especialmente importante para algoritmos baseados em distância, como KNN, SVMs e redes neurais.
Em nosso exemplo, vamos aplicá-la na coluna followers, pois a diferença entre o menor e o maior artista é enorme e isto pode enviesar nossas observações futuramente. Na Figura 3 obtemos os valores de mínimo e máximo da variável followers para aplicar a fórmula de normalização Min-Max Scaling descrita na linha 2 e aplicada na linha 7.

Fonte: Autoria própria.
A normalização preserva as relações e a forma da distribuição original dos dados, pois apenas redimensiona a escala. Porém, é importante destacar que esta técnica é sensível a valores discrepantes (outliers), pois estes determinam os valores mínimo e máximo. Ou seja, um outlier extremo pode comprimir a maioria dos dados em um intervalo de valores muito pequeno.
Padronização (Z-Score Standardization)
A padronização (ou Z-Score Standardization) é uma técnica estatística que transforma os dados para que eles tenham uma média igual a 0 e um desvio padrão igual a 1, permitindo a comparação entre variáveis com diferentes escalas. Ela calcula um valor (z-score) que indica quantos desvios-padrão um ponto de dado está acima ou abaixo da média.
Na Figura 4 começamos obtendo a média e o desvio padrão do atributo popularity para usar na fórmula descrita na linha 2 e aplicada na linha 7.

Fonte: Autoria própria.
Cada valor da coluna será padronizado conforme a média e o desvio padrão do conjunto, e as interpretações possíveis desses valores são:
- Z-score positivo: Indica que o ponto de dados está acima da média.
- Z-score negativo: Indica que o ponto de dados está abaixo da média.
- Z-score zero: Indica que o ponto de dados é igual à média.
Quando aplicamos a padronização, obtemos a possibilidade de comparar dados que estão em escalas diferentes, como por exemplo, um salário em reais e um número de anos de experiência. Além disso, facilita a interpretação de um valor, pois será mostrada sua distância da média do conjunto em termos de desvios-padrão. Inclusive, isso contribui para ajudar na identificação de valores discrepantes (outliers), já que valores muito distantes da média terão um z-score alto.
Agora que realizamos todas as transformações que pretendíamos neste conjunto, podemos salvar um novo arquivo com a base de dados obtida. Na Figura 5 criamos e salvamos um arquivo que armazenará de forma permanente as modificações que executamos nos atributos originais.

Fonte: Autoria própria.
Considerações finais
Para você que chegou até o final deste artigo, deixo na Tabela 1 uma síntese das técnicas que aplicamos, relacionando-as com as situações onde você pode usá-las e onde nós aplicamos neste artigo.
| Técnica | Quando usar? | Exemplo neste artigo |
| Engenharia de Features | Quando você tem dados complexos (textos, listas) e precisa extrair valor numérico ou pode obter mais dados. | Extrair num_genres e is_pop da lista de gêneros. |
| Normalização | Quando o algoritmo precisa de dados na mesma escala (ex: Redes Neurais, KNN) e os dados não são normais. | Coluna followers normalizada para a escala entre 0 e 1. |
| Padronização | Quando o algoritmo de aprendizagem de máquina assume distribuição normal do conjunto ou para centralizar os dados. | Coluna popularity que foi padronizada. |
Fonte: Autoria própria.
E para aqueles que gostam de analogias ao tentar compreender o funcionamento de algo, podemos dizer que o pré-processamento de dados pode ser comparado a um chef preparando ingredientes antes de cozinhar uma refeição complexa.
Os dados brutos são como os ingredientes crus que, após a parte da limpeza (leia o artigo aqui) e da integração (leia o artigo aqui), precisam ser transformados para compor bem o prato final. Assim, podemos dizer que a transformação é a etapa que ajusta o formato dos ingredientes, como por exemplo cortar legumes em cubos ou desfiar verduras.
A última parte do pré-processamento (redução) acontece após a limpeza, a integração e a transformação dos dados, de forma a garantir a qualidade final do conjunto de dados. Você pode ler sobre ela aqui: redução.
Obrigado pela leitura e bons estudos.
Referências
OLIVEIRA, Gabriel Pereira de. spotify_artists_info_edited.csv. 2021. Arquivo de dados hospedado no GitHub. Disponível em: https://github.com/opgabriel/jai2021-jupyter/blob/main/3.Preparacao/datasets/spotify_artists_info_edited.csv. Acesso em: 21 nov. 2025.
PIMENTEL, João Felipe et al. Ciência de Dados com Reprodutibilidade usando Jupyter. In: ANDRADE, Aline M. S.; WAZLAWICK, Raul S. (Org.). Jornada de Atualização em Informática 2021. Porto Alegre: Sociedade Brasileira de Computação (SBC), 2021. Disponível em: https://books-sol.sbc.org.br/index.php/sbc/catalog/view/67/292/544-1. Acesso em: 11 nov. 2025.


