O nosso tema de hoje é o pipeline dos projetos de Ciência de Dados. Assunto tão relevante que é necessário uma atenção especial antes de começarmos qualquer projeto de Ciência de Dados. Quando iniciamos um novo projeto, algumas etapas básicas são essenciais para atingir o êxito na solução do problema. E algumas dessas etapas muitas vezes são ignoradas, mesmo sendo cruciais para a entrega de um projeto bem elaborado.
Vamos passar pelas 8 etapas básicas para projetos de Ciência de Dados. Mas saibam que não é uma receita de bolo, cada projeto tem suas peculiaridades e particularidades que devem ser levadas em conta na construção de um fluxo do processo. Essas não são as únicas etapas e nem devem ser seguidas à risca em cada projeto de Ciência de Dados, mostraremos aqui apenas uma das diversas possibilidades. Lembrem-se cada problema é único, então é necessário adequar-se às peculiaridades de cada caso.
Os projetos de Ciência de Dados são processos contínuos, por isso as etapas estão representadas em uma imagem circular, e vocês deve retornar a cada uma das etapas quantas vezes forem necessário. Vamos ver agora os detalhes de cada etapa.
1 – Definição do Problema

Deve estar bem claro para todos qual é o problema que precisa ser resolvido. Se é realmente um problema e se há demanda para a solução que será criada.
Essa etapa é uma crucial no projeto. Cada passo tem sua importância, mas se o problema não for bem definido não vai adiantar de nada seguir em frente.
2 – Coleta de Dados

Na coleta de dados precisamos levantar todas as fontes de dados que temos (ou que vamos precisar ter) para resolver o problema, essa coleta pode ser de diversas fontes, desde um dado público (dados do IBGE) até uma planilha em excel.
Os dados coletados precisam ser relevantes para a solução do problema, por isso nosso problema deve estar bem definido para saber o que precisamos para encontrar as possíveis respostas para ele.
3 – Pré-Processamento

O pré-processamento é um etapa onde precisamos trabalhar os dados para que os mesmos fiquem de forma a atender as necessidades dos modelos que vamos aplicar, deixá-los em um formato mais coerente, tratar os dados faltantes (missing), trabalhar os valores discrepantes (outliers). Para isso, vamos utilizar técnicas de Feature Engineering (Engenharia de atributos) e Feature Selection (Seleção de atributos) para pré-processar nossos dados. O objetivo é conseguir obter melhores resultados.
Até chegarmos aqui, e sairmos com esses dados preparados para as próximas etapas, estimamos que 80% de todo projeto foi gasto nessas etapas. Sendo que a maior parte desse percentual está nessa parte específica. O pré-processamento é uma das etapas mais trabalhosas e importantes no projeto de Ciência de Dados.
4 – Solução do Problema

Para chegar a solução do problema (na verdade é uma hipótese), que vai ser validada ou não, já percorremos um longo caminho. Já aplicamos um modelo e realizamos uma avaliação, então conhecemos bastante dos dados que estamos trabalhando. Chegou então a hora fazer esses dados falarem!
Deve ser realizada uma exploração dos dados com técnicas de Matemática e Estatística aliadas a linguagens de programação (atualmente as linguagens mais comuns em Ciência de Dados são Python, R, Scala e Julia), a fim de saber ainda mais sobre esses dados e as possibilidades que podemos encontrar neles.
Então com todas as ferramentas a disposição do cientista de dados, ele vai escolher as melhores técnicas para aplicar sobre esses dados. Podendo para rejeitar ou não as hipóteses levantadas.
5 – Modelo

Um modelo é uma função que vai melhor descrever os dados que você tem. Chegando nesta etapa, existem uma infinidade de modelos possíveis de aplicar, vai depender do problema e as informações que possuímos para resolvê-lo.
É necessário que esteja bem claro com que tipo de problema estamos lidando, se é uma regressão, uma classificação ou outro tipo, se os dados estão rotulados ou não, pois de acordo com cada detalhe desse, o cientista de dados vai apontar o melhor ou os melhores modelos para começar.
6 – Avaliação

Avaliar é quantificar a qualidade de uma solução. Essa é uma etapa bem subjetiva, pois a forma de avaliar varia muito de acordo com o problema e de acordo com as métricas que são utilizadas, além do próprio cientista de dados.
7 – Protótipo

Após uma a hipótese da solução do problema ser validada com sucesso, podemos partir para um protótipo da solução, que nada mais é que uma ideia funcional da solução final para o projeto.
O protótipo pode ser desde algum rascunhado no papel, até um software funcional com as funcionalidades básicas da solução, vai depender da complexidade e do nível de exigência do projeto.
8 – Melhoria

As melhorias são fundamentais em qualquer tipo de projeto, desde o projeto pessoal até o projeto de Ciência de Dados. As melhoria deve ser contínua, seja do que já foi entregue e está funcionando ou melhorias a serem implementadas.
Bem, por hoje foi isso! Chegamos ao fim de mais uma postagem, esperamos que tenham gostado e aprendido algo com ela. Deixe seu feedback, ele é muito importante pra nós. Até a próxima!
Conteúdos ao Cubo
Por fim, deixo algumas sugestões de conteúdos que você pode encontrar no Dados ao Cubo, sempre falando sobre o mundo dos dados.
- Inteligência Artificial em Ressonância Magnética
- Ciência de Dados para Mercado de Ações Parte I
- Profissão: Cientista de Dados Parte I
- Profissão: Cientista de Dados Parte II
- Álgebra Linear com NumPy
- Conceitos Iniciais do Python
- Bases de Dados Gratuitas para Impulsionar suas Análises de Dados
Finalizo com um convite para você ser Parceiro de Publicação Dados ao Cubo e escrever o próximo artigo, compartilhando conhecimento para toda a comunidade de dados. Não esqueça de assinar a nossa Newsletter para ficar por dentro de todas as novidades.

Tudo sobre o universo Data Science!
1 Comment
Silvio
11 de julho de 2020Excelente artigo sobre o ciclo de vida de um projeto de machine learning.
O primeiro passo, o entendimento do problema é vital pra que no final seja entregue algo que corresponda a expectativa do cliente e resolva o problema proposto.