4 dicas para montar um bom estudo de ciência de dados
No dia-a-dia de um cientista de dados, colocar suas análises, descobertas e resultados em um formato compreensível e apresentável para os demais membros do time ou para a área de negócios é crucial. Essa exposição de ideias pode ser feita de duas formas principais: através de um estudo técnico, que visa comunicar as principais informações obtidas/descobertas a partir dos dados em um projeto e com detalhamento matemático, estatístico e metodológico, legitimar o seu processo de análise e permitir reprodutibilidade do trabalho feito; e através de uma apresentação de negócios, que também visa comunicar as principais descobertas obtidas com os dados do projeto porém trazendo à tona apenas aquelas relacionadas ao contexto de negócio.
Nesse texto vou focar apenas no estudo técnico e listarei algumas dicas que podem melhorar os que vocês criam por aí, seja no ambiente de trabalho, nos processos seletivos para os quais estão aplicando ou nos cursos e especializações que estão fazendo. Vale lembrar que o principal público alvo desse tipo de documento são outros cientistas de dados ou analistas de dados.
Escolha uma ferramenta/ambiente adequados
Como suas ideias serão apresentadas a outra(s) pessoa(s), é preciso uma ferramenta (ou um conjunto delas) que permita um bom mix entre código e comentários. Se você é um cientista de dados mais ligado ao R, vale a pena experimentar uma combinação de R + Rstudio + RMarkdown. Se você é uma pessoa mais ligada ao Python, tente a combinação Jupyter Notebook + Python + Pandas. Já se você é mais próximo a tecnologias como Java e/ou Spark, combiná-las com o Zeppelin Notebook é uma boa pedida.
Cada uma dessas combinações permite ao cientista expor texto, código, gráficos, imagens e fórmulas matemáticas em um único lugar e depois exportá-los em diferentes formatos (markdown, html, PDF, etc.).
Organize seu raciocínio
Você vai pegar o leitor pela mão e conduzí-lo pela sua lógica de forma coerente e coesa. Isso se torna bem mais fácil quando usamos uma estrutura bem definida no conteúdo. Uma que eu particularmente gosto de usar é composta por:
- Introdução: breve descrição do problema que será resolvido e como pretende fazê-lo.
- Análise exploratória dos dados: aqui entram as principais descobertas que você teve em relação aos dados (ex: quantidade de missing values, proporção entre os valores do atributo target, correlação entre variáveis, etc.).
- Pré processamento dos dados: baseado na suas descobertas na etapa anterior e de suas premissas, nessa seção você vai descrever o tratamento dos dados.
- Criação do modelo: é importante falar da técnica escolhida, como ela se comporta, motivos de escolha e o código que cria e treina o modelo.
- Avaliação dos resultados obtidos: aqui é bom falar das métricas que avaliam a qualidade do modelo que você criou, por que as escolheu assim como os valores obtidos nas mesmas.
- Conclusão (a parte mais fácil): um resumão de tudo que foi feito acrescido de futuros projetos ou pontos de melhoria no estudo feito.
- Referências: citação das fontes que usou para formular suas ideias.
Bem parecido com a estrutura de um artigo científico, né? Como os cientistas de dados leem bastante artigo científico (ou deveriam pelo menos), esse é um modelo com o qual já estão acostumados.
Não se esqueça de descrever com clareza as decisões tomadas ao longo do estudo e por que foram tomadas. Muitas vezes você estará usando a ideia de algum artigo científico ou livro e pode otimizar esse passo apenas citando o mesmo.
Não subestime um bom pt-br
É assim que seu estudo é visto quando tá cheio de errinhos de português 👇👇
Brincadeiras à parte, um estudo bem feito pressupõe um português bem utilizado. Isso mostra sua capacidade de articular ideias e trazê-las à tona com um linguajar acessível ao seu interlocutor. Escrever adequadamente também traz credibilidade ao seu conteúdo.
A ideia aqui não é usar um pt-br super rebuscado, com palavras difíceis, construções frasais complexas e uso e mesóclise (e parecer que estamos no século passado), mas sim atentar-se a erros comuns que cometemos no dia-a-dia sem perceber, como os citados pela RockContent nesse texto e também pela RunRunIt. Além deles, lembre-se de:
- Manter o paralelismo sintático e semântico (é um dos erros que eu mais cometo)
- Tomar cuidado no uso de estrangeirismos: expressões como “buildar”, “deployar”, etc. ainda não estão completamente incorporadas no vocabulário dos cientistas de dados e podem ser substituídas por expressões mais palatáveis.
Não custa lembrar também que, na medida do possível, é sempre bom ter um ou mais revisores do seu estudo para dar uma visão externa sobre o trabalho realizado.
Evite o “na minha máquina roda direitinho”
Eventualmente as pessoas que olharam/olharão seu estudo podem querer replicá-lo no seu próprio ambiente, seja porque elas estão corrigindo o seu código para um processo seletivo, seja porque seu estudo pode ser um trampolim para outros dentro de um mesmo projeto, etc. Para isso é preciso manter condições semelhantes de ambiente computacional.
Um jeito simples de fazer isso é colocar um arquivo de dependências (ex: requirements.txt no Python) no seu projeto e/ou documentar no mesmo quais as tecnologias e bibliotecas utilizadas. Se você for um cientista de dados que manja de Docker e/ou de disponibilizar seu estudo em um ambiente web compartilhável, essa também é uma opção.
Atenção! Cuidado com o uso de caracteres especiais nos comentários de código (acentos, emojis, til, etc.), pois a codificação usada por cada sistema operacional muda e quem for reproduzir o estudo pode ter um mega trabalho de deletar esses caracteres do código para conseguir executá-lo.
Urfa, finalmente acabou o textão!
Falamos sobre escolher um ambiente adequado para montar seu estudo, estruturar ele adequadamente, usar um bom português e tornar seu estudo reprodutível em outras máquinas. É possível encontrar um exemplo de estudo (beeeeem simples) feito sobre qualidade de vinhos no meu Github. Ele foi montado em Python + Pandas + Jupyter.
FAQ rápido:
Batendo papo com algumas pessoas, surgiram dúvidas sobre como as coisas funcionam aqui no Labs. As três principais foram:
- Quanto tempo demora para vocês montarem um estudo no LuizaLabs? Diria que algo em torno de uma a duas semanas.
- Vocês seguem exatamente a estrutura descrita nesse texto? Nope. A estrutura proposta aqui serve mais para projetos pequenos, como nossos projetos tem porte maior, faz sentido usar outra segmentação.
- Onde esses estudos são guardados? Temos uma plataforma interna que armazena e organiza todos os materiais que criamos. Mas esse é assunto para um texto futuro.
Tem mais alguma dúvida? Deixa um comentário por aqui e vamos trocar uma figurinha.