Guia de Ciência de Dados: Etapas de um projeto de modelagem preditiva — Parte 1

Entendendo as necessidades do projeto e preparando os dados

DataLakers Tecnologia
Blog DataLakers
6 min readApr 6, 2022

--

Texto por Eduardo Pereira, Analista de Governança de Dados na DataLakers.

Photo via Unsplash

Todos sabem que um dos assuntos do momento na área de tecnologia é Machine Learning, Deep Learning, algoritmos e como os dados são o ativo mais importante de qualquer empresa.

Mas um projeto eficiente de Ciência de Dados exige muito mais que linhas de código e grandes volumes de dados. Essa estruturação exige responder muitas perguntas-chave, como: qual o objetivo, ou a necessidade de negócio a ser atendida? Quais são as etapas essenciais? O que deve ser observado? Como são feitas as análises? Existe alguma estrutura a ser seguida?

Este material sobre ML (Machine Learning) se propõe a apresentar algumas direções, ou ainda, perguntas-base para a criação de um projeto de modelagem preditiva de qualidade, que cause um real impacto positivo na sua implementação. Nesse primeiro artigo, abordaremos as etapas de mapeamento do problema de negócio e tratamento dos dados.

Passa-a-passo para Machine Learning?

Qualquer cientista de dados vai concordar que não existe uma receita de bolo para a criação de um bom modelo preditivo. É impossível que seguindo um passo-a-passo pronto, sem adaptá-lo ao caso e contexto em que será aplicado, obtenha-se bons resultados consistentemente.

Por esse motivo, esse guia não propõe um passo-a-passo definitivo para a construção de uma modelo de ML, mas sim um olhar minucioso para todas as etapas essenciais e exemplos de perguntas norteadoras que devem ser feitas durante o planejamento.

Por mais que os projetos dentro da ciência de dados variem muito em termos de complexidade e objetivos, é possível definir um trajeto geral que qualquer projeto de modelagem preditiva deve percorrer. Esse tipo de padronização pode facilitar muito projetos de análise preditiva dentro das empresas, pois orienta um caminho que o time de dados deve seguir; do contrário, quando não sabemos para onde vamos, qualquer caminho serve.

Abaixo, estão listadas as principais etapas que considero essenciais dentro de um projeto de modelagem preditiva e o que fazer em cada uma delas para gerar as respostas que os gestores e tomadores de decisão realmente precisam. Lembrando que essa estrutura que abordarei a seguir é uma proposta, e não uma regra fixa e imutável.

Espero que esse guia sirva como ponto de partida para outros cientistas de dados e para os curiosos que buscam entender como todo esse processo funciona na prática. Como vou entrar bastante na parte técnica, caso não esteja familiarizado com algum termo, reserve um tempo para realizar uma pesquisa na internet para compreender o conceito antes de avançar.

1. COMPREENDER O PROBLEMA DE NEGÓCIO

Antes de pensar em qualquer ferramenta ou tecnologia, pare e reflita:

  • Qual é o objetivo da análise?
  • O que estamos querendo prever?
  • Temos dados históricos para isso?
  • Caso os dados históricos não estejam disponíveis, devemos criar um método para coletar os dados necessários? Dentre eles estão: Pesquisa, observação, experimentação, formulários, streaming de dados em tempo real etc.
  • Como vamos entregar os resultados da previsão? É necessário construir uma aplicação como dashboards, planilhas, apps, sites?

Após refletir sobre essas questões, podemos começar a pensar sobre os dados em si.

1.1 Coletar, extrair e carregar os dados

  • Onde estão os dados?
  • Quais conexões precisaremos para o projeto? Sejam Banco de Dados Relacionais ou Não Relacionais (MySQL, SQL Server, NoSQL, MongoDB, Oracle, etc.);
  • Que tipos de arquivos precisaremos ingerir? Algumas possibilidades: arquivos csv, xml, xlsx, json, txt, entre outros;
  • Será necessária coleta de dados por métodos de Webscraping e Webcrawling?
  • Precisaremos de coleta de dados via streaming em tempo real?

2. PRÉ-PROCESSAMENTO DOS DADOS

Raramente os dados já vêm prontos para o uso, portanto antes de qualquer análise ou criação de modelos preditivos é necessário pré-processar todo o conjunto de dados de acordo com a necessidade.

Esta é uma das etapas mais importantes do processo, senão a mais importante de todas. É neste momento que os dados são tratados, transformados, padronizados, anonimizados e limpos. Sem dúvidas é a parte mais demorada de todo processo, e costuma ocupar mais de 70% do tempo dos profissionais.

Lembrando que toda ação de modelagem, limpeza e transformação é decisão de quem faz a análise, ou seja, do cientista de dados responsável pelo projeto. Mesmo que essa etapa seja executa por um engenheiro de dados, ambos devem trabalhar em conjunto visando as análises que serão implementadas adiante.

Finalmente, podemos dividir essa etapa de pré-processamento em algumas partes.

2.1 Definição do nome das variáveis, tipos de dados e estrutura do dataset

  • Verificar se as variáveis coletadas correspondem realmente ao tipo de dado que representam e fazer as devidas modificações (dados qualitativos/quantitativos, números ou categorias, etc);
  • Modificar o nome das variáveis para facilitar a análise;
  • Checar a estrutura dos dados, se as linhas são as observações e as colunas realmente são as variáveis;
  • Unir ou separar variáveis que representam/não representam a mesma coisa.

2.2 Limpeza e remoção de valores ausentes, duplicados ou muitos valores únicos

  • Existem valores ausentes no conjunto de dados?
  • Existem valores duplicados?
  • Existem muitos valores únicos? (Isso pode levar a alguns problemas de classificação)
  • IMPORTANTE: Esses valores devem ser removidos ou substituídos usando métodos de Imputação?
  • Analisar cada caso/variável individualmente e verificar se é melhor excluir ou imputar com novos dados. Caso seja utilizado algum método de imputação, verifique qual medida de tendência central melhor resume a distribuição dos dados (média, mediana ou moda) e imputar esses valores nas observações ausentes. Caso os valores ausentes sejam insignificantes em relação ao dataset é possível apenas excluir os registros sem mais problemas.

2.3 Transformação dos dados (normalização e padronização)

  • Os dados seguem uma distribuição normal? Isso é relevante no problema em questão?
  • O algoritmo pede que os dados sejam normalizados/padronizados? É uma boa prática verificar a documentação de cada algoritmo sempre que necessário.

Para facilitar um pouco e resumir bem, todos os algoritmos baseados em distância requerem escalonamento. Isso inclui todos os algoritmos de ajuste de curva (regressões lineares / não lineares), regressão logística, KNN, SVM, redes neurais, algoritmos de agrupamento como agrupamento de k-means, etc.

Algoritmos que são usados ​​para fatoração de matriz, decomposição ou redução de dimensionalidade como PCA, SVD, Factorization Machines e semelhantes, também requerem normalização.

Algoritmos que não requerem normalização / escalonamento são aqueles que dependem de regras. Eles não seriam afetados por quaisquer transformações monotônicas das variáveis. A escala é uma transformação monotônica — a ordem relativa do valor menor para o maior em uma variável é mantida após a escala. Exemplos de algoritmos nesta categoria são todos os algoritmos baseados em árvore — CART, Random Forests, Gradient Boosted Decision Trees, etc. Esses algoritmos utilizam regras (série de desigualdades) e não requerem normalização. Além disso, algoritmos que dependem de distribuições das variáveis, como Naive Bayes, também não precisam de escala.

Em suma:

  • Os dados estão em escalas diferentes? (aplicar normalização “normalization”, por exemplo, deixar os dados entre 0 e 1)
  • É necessário transformar a distribuição dos dados em normal? (Aplicar padronização “standardization). Geralmente isso significa alterar a média para 0 e o desvio padrão para 1;
  • Aplicar transformação de log? (deixar os dados próximos a uma distribuição normal)
  • Existe algum Outlier, eles são relevantes ou esses valores extremos devem ser excluídos? Caso sejam excluídos do dataset, haverá perda de muitos dados?
  • É necessário fazer o balanceamento de classes da variável target? (problemas de classificação)

Após essas etapas, inicia-se a construção do modelo preditivo, com base nos problemas de negócio e nos dados tratados.

Essas etapas, incluindo a construção, avaliação, otimização e publicação do modelo preditivo, serão abordadas no nosso próximo artigo sobre ciência de dados.

Esperamos que este material seja útil, e sigam nosso blog para não perder a publicação da parte dois!

--

--

DataLakers Tecnologia
Blog DataLakers

As melhores soluções para seu projeto de Big Data. A DataLakers Tecnologia é uma empresa especializada em automatização de pipeline e governança de dados.