Layout de um Projeto de Ciência de Dados

Rafael Soares
8 min readMar 27, 2024

Imagino que se este artigo chegou até você é porque está se sentindo meio deslocado entre as tantas etapas de um projeto de Ciência de Dados. Espero que o que irá encontrar aqui seja exatamente o que está buscando.

Tão importante quanto aprender a pipeline de um projeto, é compreender a necessidade de cada etapa. Da motivação (o problema de negócio) ao deploy.

Nesse artigo não vou cobrir o deploy, porque raramente um Cientista de Dados em começo de carreira será encarregado de tarefas como essa.

As etapas do projeto

Mapeando um projeto da base aos testes, encontramos 16 etapas. Algumas delas podem se repetir inúmeras vezes e outras podem nem ser necessárias dependendo do tipo de negócio ou mesmo do modelo de Machine Learning a ser utilizado.

1. A primeira etapa (a base) é a compreensão clara do Problema de Negócio, a motivação do projeto. Não basta apenas saber o que o cliente do projeto deseja. Também é aqui que alinhar expectativas quanto ao que esperar do modelo, prazos etc. Muitas vezes, o cliente não conhece a capacidade de um modelo e cabe ao especialista (Cientista de Dados) apresentar as possibilidades para que juntos acordem a melhor abordagem e critérios de sucesso.

2. Com todos os fatores da etapa anterior cobertos, vem a Extração dos Dados. Essa etapa requer do profissional conhecimentos em extração de diversas fontes de dados, desde uma base local (arquivos csv ou xlsx) à consumo de dados de APIs e até, dependendo de casos, raspagem (ou mineração) de dados.

3. A seguir vem a Preparação (transformação) dos Dados.

Limpeza, preparação, transformação são basilares, então, domine os fundamentos. Saiba o que dados faltantes representam para o negócio (se sua ausência já responde alguma pergunta). Converse com outros cientistas se há algum tratamento padrão ou com especialista da área sobre a melhor maneira em como lidar com eles. A mesma coisa para dados duplicados, em muitos casos o que parece ser duplicado nem sempre é.

4. Com a base de dados preparada vem a Análise dos Dados. Três análises muito importantes são:

EAD (Análise Exploratória de Dados) que é uma etapa essencial para compreender a estrutura dos dados, identificar padrões e anomalias, além de fornecer insights valiosos para tomadas de decisão e desenvolvimento de modelos preditivos.

Através da análise exploratória, é possível adquirir um conhecimento profundo sobre os dados como tendências e distribuição. A AED permite criar visualizações gráficas dos dados, que são mais acessíveis e fáceis de interpretar do que tabelas ou números isolados. Gráficos como histogramas, dispersão e boxplots podem revelar padrões e tendências ocultas nos dados.

Uma técnica muito poderosa dessa etapa, que também, mais adiante, irá reforçar ou validar a compreensão do peso das variáveis para o modelo é a Análise de IV (Information Value), uma técnica estatística usada para quantificar a importância de uma variável na previsão de um resultado.

Aqui também é possível visualizar graficamente algo que irá definir a necessidade de algumas etapas da modelagem. Por exemplo a aplicação de técnicas utilizadas para lidar com dados (variáveis target) desbalanceados.

Análise de Correlação: é uma técnica que avalia a relação entre variáveis em um conjunto de dados. Ela mede o grau de associação linear entre duas ou mais variáveis, indicando se elas tendem a variar juntas. Para facilitar a visualização dessa correlação, fazemos uso do Heatmap (mapa de calor), uma ferramenta visual frequentemente usada para representar a matriz de correlação. Ele exibe os valores de correlação entre todas as combinações de variáveis em cores diferentes. As células mais claras indicam alta correlação positiva, enquanto as mais escuras representam correlação negativa.

5. Todas as etapas seguintes são exclusivas da Ciência de Dados. Na etapa de pré-processamento, para realizar a separação dos dados, o primeiro passo é definir as variáveis explicativas e a variável alvo (Target), no caso de aprendizados supervisionados.

Apesar de se chamar Separação Treino e Teste, o ideal é sempre separar a base de dados em Treino, Validação e Teste para que possamos ajustar os hiperparâmetros do modelo ou avaliar o desempenho durante o treinamento. Separando a base em 3 partes permite uma avaliação mais completa e ajuda a evitar o superajuste (overfitting) do modelo aos dados de treinamento .

O conjunto de treino é usado para treinar o modelo, validação para avaliar o desempenho e ajustar hiperparâmetros e teste é usado para avaliar o desempenho geral do modelo após o treinamento e ajuste dos hiperparâmetros.

6. Amostras Desbalanceadas (essa etapa nem sempre será necessária). Quando sua classe Alvo estiver com muita disparidade entre as amostras, por exemplo: em uma base de fintech em que a proporção é de 98,5% para clientes adimplentes e apenas 1,5% para inadimplentes, o modelo não terá uma amostra adequada para o aprendizado. Nesse cenário será necessário a utilização de técnicas que aumentem o equilíbrio das amostras. Algumas técnicas eficazes são:

  • Oversampling (Superamostragem): Gerar novos exemplos sintéticos da classe minoritária para equilibrar as proporções.
  • Undersampling (Subamostragem): Reduzi a quantidade de exemplos da classe majoritária para igualar as proporções.
  • Penalidades em Funções de Custo: Alguns algoritmos permitem ajustar as penalidades para erros em diferentes classes.
  • Ensemble com Boosting Adaptativo: Algoritmos que podem ser ajustados para lidar com classes desbalanceadas. Eles dão mais peso aos exemplos da classe minoritária durante o treinamento.

7. Padronização da Escala (também quando necessário): É uma técnica para preparar os dados antes de alimentar modelos. Ela coloca todas as variáveis em uma mesma escala, facilitando a comparação e o cálculo das distâncias entre os pontos de dados. Aprenda técnicas como Min-Max Scaling e Z-Score

8. A seguir vem a Escolha do Modelo mais adequado e Ciência entra em ação. A seleção do algoritmo mais adequado para o problema (regressão, classificação etc). A dica aqui é sempre testar com modelos base (modelos sem configuração de hiperparâmetros ou a configuração mais básica) para se ter uma ideia de qual direção seguir.

9. Após escolhermos e aplicarmos um modelo base ou alguns modelos base, precisamos da Interpretação do Modelo (essa é uma das etapas que se repetem. Tenha em mente que ciência requer metodologia e muita experimentação).

Técnicas como SHAP (SHapley Additive exPlanations) para atribuir valores a cada recurso para entender sua contribuição, LIME (Local Interpretable Model-agnostic Explanations) que cria modelos locais para entender previsões específicas e Feature Importance (Importância de Recursos: O domínio da Análise de IV citada na etapa de análises é a base dessa técnica) são essenciais para a interpretação e transparência em aprendizado de máquina, para entender como o modelo toma decisões.

Essas métricas nos permitem definir os ajustes necessários para que o modelo seja refinado para que o resultado pré-estabelecido seja alcançado.

10. Na sequência vem a Validação do modelo. A validação cruzada (ou Cross Validation) é uma técnica essencial para avaliar o desempenho de modelos de aprendizado de máquina. Ela ajuda a estimar como um modelo se comportará em dados não vistos e evita problemas como sobreajuste ou subajuste. K-Fold é a técnica mais utilizada.

11. A seguir, os Diagnósticos do Modelo. Os diagnósticos competem em avaliar o desempenho e a eficácia dos algoritmos em tarefas específicas. Permitem medir quão bem um modelo se comporta em dados não vistos.

Eles ajudam a evitar problemas como sobreajuste (quando o modelo se ajusta demais aos dados de treinamento) ou subajuste (quando o modelo é muito simples e não generaliza bem).

Os diagnósticos envolvem métricas como precisão, recall, acurácia, F1-score e AUC-ROC.

Essas métricas fornecem insights sobre o desempenho do modelo em diferentes aspectos, como detecção de falsos positivos, falsos negativos e acertos.

Como deve imaginar, essa também é uma fase de experimentação e por isso pode se repetir N vezes.

12. Outra etapa opcional é a Redução de Dimensionalidade para otimizar o processamento dos dados. Não adiantará muito o seu modelo ser bom mas muito lento. Faça uso de técnicas para:

  • Simplificar os dados reduzindo a quantidade de features para um número mais gerenciável;
  • Remover variáveis redundantes (variáveis com alto grau de correlação entre si)

A Redução de Dimensionalidade torna o modelo mais simples, reduz tempo de treinamento, evita overfitting e ajuda a identificar as variáveis mais importantes. Os modelos ficam mais eficientes e com maior capacidade de generalização.

13. Detecção de Anomalias. Essa também pode ser uma etapa opcional, depende muito do campo de aplicação e até do tratamento dispensado à base de dados anteriormente. Ela é importante para identificar padrões incomuns ou exceções nos dados.

Ajuda a encontrar observações que se desviam significativamente do comportamento esperado.

Exemplos onde sua aplicação é indispensável são:

  • Segurança Cibernética: Detecta atividades suspeitas ou ataques.
  • Medicina: Identifica tumores, células cancerígenas ou padrões incomuns em exames.
  • Finanças: Detecta fraudes em transações bancárias.

14. O que pode ser a conclusão. Se nesse ponto seu modelo atingiu os critérios de sucesso aqui você pode Salvar o Modelo para a realização de testes em uma base desconhecida (base teste)

15. Teste do Modelo: Lembra da separação da base em treino, validação e teste. Então, a base teste é desconhecida para o modelo. Agora é a hora de realmente conhecer sua capacidade de generalização, de saber se ele irá apresentar os resultados de acordo ao que apresentou na base de validação. Seu modelo deve ter o mesmo percentual de acertos e suas métricas também devem estar alinhadas.

16. Se ainda não atingiu os padrões esperados, você ainda tem uma carta na manga: Os Métodos Ensemble.

São diferentes técnicas que consistem na combinação de vários modelos de formas diferentes para melhorar a robustez e a precisão. As 3 principais técnicas são:

  • Boosting: Dois modelos são desenvolvidos com com bases diferentes (em alguns casos, com a mesma base) e suas predições se tornam variáveis explicativas de um terceiro modelo.
  • Bagging: Partindo de uma mesma base, mas gerando amostras diferentes para que cada modelo tenha uma visão diferente da base (Os modelos não possuem nem todas as observação nem todas as features). À partir de seus resultados gera-se uma estimativa final.
  • Boosting: O primeiro é treinado à partir da base, o segundo modelo é treinado à partir do resultado do primeiro modelo e assim por diante

Basicamente, esses métodos constroem múltiplos modelos e agregam seus resultados em um único valor.

Apesar de serem mais custosos computacionalmente e mais complexos, essa técnica eleva o desempenho.

Lembre-se de que todas as técnicas de interpretação, validação, diagnósticos e a aplicação na base de testes devem ser reaplicadas aqui também.

Conclusão

Para quem está iniciando nesse mundo, um projeto desse pode parecer intimidador, mas vai por mim, pior ainda é não fazer ideia do que se está fazendo.

Se esse é o seu caso comece simples. Aprenda a interpretar os problemas de negócio (lembre-se sempre de que todo o objetivo do projeto é solucionar um problema). Fique craque em extrair dados de todo tipo de fontes e em tratar esses dados, essa talvez ainda seja a maior necessidade das empresas.

Aprenda a realizar boas análises (AED, IV e Correlação). Isso vai te ajudar muito a interpretar os modelos no futuro.

Vou deixar nesse link um arquivo ipynb do layout que costumo usar como guia. Você pode baixar e usá-lo para se organizar.

Espero que lhe seja útil

#CiênciaDeDados #Fundamentos #Metodología #ConhecimentoDeNegócio #passoapasso #pipeline

--

--

Rafael Soares
0 Followers

Um apaixonado pela Ciência de Dados que pretende fazer por quem está dando seus primeiros passos o que gostaria que tivessem feito por mim.