Os 5 erros mais comuns no portfólio de iniciantes ou aspirantes à ciência de dados
Se você está iniciando agora sua jornada na área de ciência de dados, ou pretende migrar de carreira, já deve ter ouvido falar sobre o famoso portfólio de projetos pessoal. Existem inúmeros vídeos como “x passos para construir seu portfólio” ou “Como construir um portfólio de sucesso”.
A ideia deste artigo não é trazer mais do mesmo!
Vou trazer meu ponto de vista sobre portfólio e algumas dicas que, talvez, nunca alguém tenha mencionado sobre!
Importância do portfólio
Eu considero o portfólio não só importante, mas fundamental para quem está iniciando em ciência de dados ou quem deseja migrar para a área. Por quê? Não é só por demostrar suas hard skills, como muitos dizem.
Com ele, você demonstra outras habilidades que vão muito além das técnicas. Quando eu olho um portfólio, me pergunto coisas como:
- O problema em questão foi bem definido?
- A comunicação escrita foi bem elaborada? Inclusive, comunicação não técnica, para que outras pessoas possam entender
- Qual a lógica usada para solucionar o problema em questão?
- Quais ferramentas foram utilizadas e qual o nível de domínio sobre elas?
- Como o projeto foi estruturado, de uma forma geral?
- O projeto resolve o problema para o qual ele foi proposto?
- Existe alguma análise de negócio ou insights interessantes no projeto?
As perguntas acima direcionam muito mais para habilidades comportamentais (comunicação, organização, curiosidade, clareza) do que para parte técnica em si. E pouco se fala sobre tais habilidades hoje em dia.
Erros mais comuns
1. Portfólio não se resume a código puro
Montar seu portfólio no GitHub é uma excelente ideia, desde que não seja pura e exclusivamente código! Um mínimo de contextualização sobre o problema é necessário, e análise dos resultados também. Essa parte é inerente ao projeto e não envolve código. Nunca comece um portfólio ou projeto desta forma:
import pandas as pd
import numpy as np
...
Como quem está avaliando seu projeto consegue medir sua capacidade de comunicação escrita desta forma? Qual é o problema que você resolve? Percebam que “prever preço de imóveis” não é um problema, mas sim o objetivo final. Descrever de forma sucinta o problema é fundamental. Eis aqui minha sugestão de início para o projeto acima:
O mercado imobiliário tem sido objeto de diversos estudos e pesquisas nos últimos tempos. A crise financeira, que afeta a economia, impactou significativamente os investimentos e ganhos do setor. Esse cenário estimula o aumento do interesse em estudos de previsão de demanda com base nas características desse mercado, dos imóveis e do entorno desses imóveis.
Neste contexto, o principal objetivo deste projeto é desenvolver um sistema de avaliação imobiliária, utilizando a metodologia de regressão linear, que é uma das técnicas de aprendizagem de máquina.O projeto viabiliza uma melhor acurácia no preço de imóveis, sendo uma solução viável para os seguintes casos:
1- Preços abaixo do mercado: resulta em perdas financeiras pelo lado das imobiliárias
2- Preço acima do mercado: acarreta em um tempo demasiadamente longo para encontrar um possível comprador
…
Problema definido, solução proposta. Agora sim vem o código… =)
Desta forma, pessoas que não são da área técnica, RH por exemplo, conseguem entender perfeitamente qual a ideia principal do projeto.
2. Negócio é mais importante do que código
Pegando o gancho do projeto acima, supondo que nós desenvolvemos o nosso modelo que, na hora de fazer uma previsão, tenhamos o seguinte resultado:
>>> print(previsao)
-100000
Maravilha! Nosso modelo funciona! O código roda! Vamos comemorar!
Mas, esperem… qual é o nosso objetivo mesmo? Previsão de preço de imóveis, certo? Ou seja, o preço do imóvel previsto foi menos cem mil…
Alguns comentários aqui:
- O código “cospe” um número. Quem transforma o dado em informação é o ser humano. Faz sentido um preço de menos cem mil? Provavelmente não, concorda? Há algo de errado com nosso modelo de previsão…
- E em que unidade é esse valor? Dólares, reais, euros? A máquina não entende unidades, somente números. Interpretar o resultado é de responsabilidade de analista/cientista de dados!
Para o negócio, essa previsão não faz sentido, ou seja, o nosso modelo de previsão construído não atende o objetivo para o qual ele foi proposto, embora ele funcione!
3. Achar que tudo se resume a nomes bonitos, como machine learning, deep learning ou inteligência artificial
Durante o chat de uma das aulas de meu MBA, surgiu a seguinte pergunta: “Preciso fazer deep learning. Tenho que aprender a programar?”.
Essa pergunta me fez refletir sobre a onda existente com uso de nomes bonitos como “machine learning”, “deep learning” ou “inteligência artificial”. No fundo, tudo se resume à matemática e estatística.
Estas duas ciências, porém, não são somente modelagem preditiva. Você consegue responder a uma pergunta de negócio usando otimização, por exemplo, que não é “machine learning”, “deep learning”, ou “inteligência artificial”. E, ainda sim, você resolve o problema!
Outro caso interessante é dizer a quantidade mínima de itens necessária para retirar de uma linha de produção e garantir que os testes feitos neles podem ser expandidos para o lote, por exemplo.
Eis acima um problema de estatística inferencial, que não usa esses termos que estão no hype, e mesmo assim resolve um belo problema! Supondo que você chegue à conclusão com o número mínimo de amostras que a empresa, que antes coletava 1 em cada 100 itens para realizar testes de qualidade, passe agora a coletar 1 em cada 500, e, ainda sim, os testes, agora com o número de amostragem reduzido, continuem sendo representativos para o lote todo. Ou seja, antes 1 % dos itens eram retirados para testes. Agora 0,2 %, um aumento de 5 vezes no número de produtos a cada 500 itens que vão para produção e não mais para testes! Supondo que a empresa produza 1 milhão de itens por dia, seriam 2.000 produtos a mais por dia indo para produção. Nada de “machine learning”, “deep learning”, ou “inteligência artificial”. Problema resolvido!
4. Projeto desorganizado
Demostrar conhecimentos é importante, de fato. Mas quando você faz isso de forma desorganizada, você deixa vir a tona uma característica comportamental: o seu código/projeto/portfólio te representa! Ele diz muito sobre como você tira o raciocínio da sua mente e coloca em prática. Mesmo não sendo uma verdade absoluta, é essa a impressão que ele passa, e é a que fica. Portanto, vale repensar sobre estruturar e organizar seu projeto.
Aqui eu recomendo usar seções, numerações, índices e outros itens que auxiliam a melhor dividir seu projeto. Alguns exemplos de divisões:
- Definição e escopo do problema em questão
- Coleta de dados
- Pré-processamento e tratamento
- Criação de novas colunas
- Modelagem
- Avaliação dos resultados
Um projeto simples bem organizado, na minha opinião, vale muito mais do que um complexo sem um mínimo de organização ou estrutura. A reflexão por trás é: eu quero alguém desorganizado no meu time? Lembre-se que as características comportamentais também são tão importantes quanto as técnicas, e elas estão escondidas nas entrelinhas do seu portfólio!
5. Não saber explicar o seu próprio projeto
Esta é uma complementação ao item acima. De nada adianta você ter um projeto organizado se você não consegue explicar o próprio projeto. E explicar remete a duas vertentes: técnica e não técnica.
Em um primeiro momento, você pode ser questionado pelo RH sobre seu projeto, e não adianta você “querer falar bonito” se a pessoa que está do outro lado não te entende. A comunicação aqui é primordial, pois um(a) cientista de dados deve saber quando usar ou não uma linguagem técnica.
Em um outro momento de uma entrevista, talvez com alguém da área técnica e gestor (certifique-se de que o ouvinte saiba da área técnica antes de sair despejando termos), você pode usar uma linguagem mais técnica, demostrando domínio e poder de comunicação na apresentação dos resultados!
Conclusão
Trouxe neste artigo uma visão peculiar, que nunca li a respeito, sobre portfólio e as entrelinhas nele escondidas. Eu mesmo já cometi quase todos os erros mencionados acima, não minto. Mas todos são passíveis de reflexão e correção ao longo da sua trajetória de iniciante ou de migração de carreira.
O portfólio esconde nuances comportamentais sobre comunicação e organização que ninguém nunca havia me falado sobre. Percebi só com tempo e experiência, quando comecei a avaliar outros portfólios, com olhos de um profissional que atua na área.
Meus contatos
Para quem gosta dos meus conteúdos, ou prefere trocar ideias, fiquem a vontade para entrar em contato comigo através do meu LinkedIn.