Photo by jose aljovin on Unsplash

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

Photo by Nick Morrison on Unsplash

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:

  1. Introdução: breve descrição do problema que será resolvido e como pretende fazê-lo.
  2. 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.).
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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 👇👇

Photo by Ryan on Gratisography

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:

  1. Quanto tempo demora para vocês montarem um estudo no LuizaLabs? Diria que algo em torno de uma a duas semanas.
  2. 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.
  3. 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.