Article image
Rafael Silva
Rafael Silva27/03/2024 16:38
Compartilhe

Layout de um Projeto de Ciência de Dados

  • #Python
  • #scikit-learn
  • #Machine Learning

Há alguns dias, depois de uma postagem no LinkedIn me veio à memória o meu início não muito distante no mundo da Ciência de Dados.


Se não me engano, a pouco mais de 2 anos. Meu primeiro contato com qualquer linguagem de programação, foi aqui na DIO. Na verdade minha primeira tentativa de contato.


Não consegui nem completar o cadastro de primeira, não tinha resposta para a pergunta sobre as duas linguagens que eu mais conhecia.


Depois dos Bootcamps e especializações, cursos em outras plataformas e projetos realizados, me tornei capaz não só de enxergar a sequência de passos (pipeline) de um projeto claramente, mas também notei quais didáticas tornaram o meu aprendizado mais fácil.


Decidi colocar em um artigo uma sequência de passos explicados para um projeto de Ciência de Dados com Python. A ideia é fazer por você que está começando o que eu gostaria que alguém tivesse feito por mim no meu início.


Em algum momento da sua jornada vai perceber algo:


1.   Reproduzir o que te está sendo apresentado é fácil;

2.   Pesquisar e encontrar referências que lhe ajude a concluir um projeto é bastante trabalhoso, mas certamente possível.


Agora, ter a verdadeira compreensão do que se está realizando, do que há além de um exemplo semipronto para que você apenas faça alguns ajustes e milagrosamente seu projeto apresentar um resultado que você não sabe nem se é bom ou não.


Em Ciência de Dados esse "Ciência" não é brincadeira, se trata realmente de metodologia, observação e experimentação. Não saber de onde se está vindo, onde se está e para onde se está indo, não ajuda muito.


O que vai otimizar seu tempo de aprendizado e absorção do conteúdo é uma boa metodologia. Você precisa mapear seu aprendizado e focar no seu objetivo.


Por falta desse conhecimento me desviei do meu objetivo e aprendi conteúdos de outras áreas relacionadas a dados como engenharia e até segurança de dados, o que não é mal, mas atrasou o meu progresso na direção que gostaria de ter seguido.


Se seu objetivo é a Ciência de Dados, torne a pipeline de um projeto a sua base de aprendizagem. Não se desvie tentando abraçar o mundo, principalmente porque apesar das vagas pedirem um currículo de astronauta, no início seu trabalho será muita preparação, limpeza e análise de base de dados.


Minha melhor dica é: Domine fundamentos, aprenda a pipeline do projeto para compreender a importância de cada etapa, desenvolva a sua metodologia ou adote uma que funcione bem para você.


O começo é sempre como um quebra-cabeças, mas com o tempo conseguimos organizar os processos e torná-los uma fila de dominós.


Escrevi uma pipeline a um tempo e acabei de colocar esse arquivo ipynb no meu Github, você pode baixar. Ele é apenas um mapa, mas quando tiver aprendendo os temas relacionados à área ira conseguir se localizar e até priorizar de acordo com sua necessidade do momento.


Espero que te ajude. Mesmo que ainda não entenda os conceitos, conseguirá enxergar como cada etapa se encaixa no contexto do projeto e sua importância.


Boa sorte e bons estudos!

Compartilhe
Comentários (3)
Carlos Lima
Carlos Lima - 07/04/2024 01:47

É uma bela contribuição para com a comunidade Rafael, também é importar considerar que o mercado de trabalho vai além do notebook e é relevante considerar uma abordagem que considera toda a hierarquia requerida a solução de um problema usando ML.


The AI Hierarchy of Needs


E se me permite, em ordem de absorver a Matemática correta implementar modelos do zero como o DTs por exemplo me ajudou/ajuda na compreensão do problema especialmente quando tenho que aplicar HPO.

Rafael Silva
Rafael Silva - 28/03/2024 11:17

Perfeito, Denis! Obrigado pela observação!

O que ocorreu é que escrevi "Pré-processamento" me referindo ao tratamento das variáveis Dummies. Graças a sua observação, percebi que não foi a melhor nomenclatura porque é muito mais abrangente do que apenas a codificação de variáveis categóricas.

Mais uma vez, muito obrigado pela contribuição.

Já atualizei o arquivo.

Denis Moraes
Denis Moraes - 28/03/2024 08:21

Trabalho muito bom! Mas posso deixar um complemento? Vi na ordem das coisas o pré-processamento anterior a divisão de treino e teste, e é importante saber que há alguns pré-processamentos (como média pra corrigir valores nulos) que podem ser afetados pelos dados de teste, ocasionando um data leakage… então uma boa prática adotada pelo mercado é fazer a divisão de treino e teste antes de qualquer pré-processamento nas variáveis que irão para o modelo.