15 fatores :As Primeiras Coisas a Se Aprender como Aspirante a Cientista de Dados
Desde o meu primeiro emprego relacionado a dados, há onze anos, quando trabalhei no IBGE coordenando mais de cem pessoas até hoje em 2018, após voltar do Japão de um dos maiores eventos do mundo na área, vi uma considerável mudança no que se entende por "análise de dados" . Há onze anos, honestamente, eu não tinha ideia de como as ferramentas relacionadas a análise de dados se tornariam tão diferentes e cruciais nas tomadas de decisão. Também percebi que o título "analista de dados" deu origem a muitos outros "nomes de cargos", do arquiteto de dados aos engenheiro de dados e cientista de dados. Assim sendo, nas linhas seguintes, listei o que acredito serem as primeiras coisas que se deve aprender como um aspirante a cientista de dados.
1 - Comece e nunca mais pare com os MOOCs (Massive Open On Line Courses)
. A quantidade de conhecimento que você pode adquirir nesses cursos é incrível. Edx, Coursera, Udacity, Udemy, LinkedIn Learning, DataCamp e vários outros. Então após algumas dezenas de certificados, deve-se colocar em prática com dados abertos, mais precisamente, em casos reais (de preferência, publicando estudos em Data.world, Medium, Kaggle, LinkedIn e assim por diante), como expresso no próximo ítem.
2 - Casos Reais (Ou "cases", a nova buzzword que o pessoal no Brasil prefere usar ao se referir a casos reais)
Este é o segundo da lista porque não tenho dúvidas de que essa seja uma das habilidades mais importantes. Não faz sentido conhecer muitos clichês de Data Science sem conhecer estudos de casos reais. Incluindo a implantação/deploy do modelo de ML. Além disso, vale lembrar: a vida de um cientista de dados não é baseada em um arquivo csv fácil e organizado, como no Kaggle, pronto para você aplicar modelos de aprendizado de máquina, o que é a parte menos complexa. Difícil é confiar nos dados, e mais difícil ainda é conseguir os dados. "Compliance" e burocracia corporativa são coisas que tomarão 80% do seu tempo ao se tornar um cientista de dados de verdade criando coisas de impacto.
3 - Lide com diferentes tipos de dados
Conhecer diferentes tipos de dados e problemas com os dados, como linhas duplicadas, valores ausentes, divisões de datas, sequências de caracteres a serem convertidas em números , mudança de "float" para "integer", quando usar redução de dimensão e etc. Mesmo que se use ferramentas par tratar os dados(que estão ficando cada vez mais avançadas) , é importante saber o que tratar.
4 - Veja quais métricas interessam
Saber identificar quais métricas interessam ao problema: R² , RMSE , Recall, f1-score e várias outras.
5 - Aprenda as linguagens de programação mais comumente usadas
Como Python, R, Julia, Go e bibliotecas, tais como Scikit-Learn, Py.Spark, SparkMlib, TensorFlow / Keras, PyTorch, GGplot, Matplotlib, Seaborn, Pandas.
6 - Uma visão geral de como alguns algoritmos funcionam
Bagging/Boosting, quais têm tendência para overfitting/ underfitting , um bom entendimento de bias-variance trade-off e etc. Mas fuja de empresas que te perguntarem numa entrevista detalhes matemáticos sobre algum modelo qualquer : são tantos modelos que existem que é impossível saber detalhes de todos, quiçá equações , aplicabilidade e etc. E sim, essa prática existe e serve para mostrar o ambiente hostil no qual você poderá ir parar.
Em algumas empresas (especialmente startups de baixo orçamento) ainda é necessário saber quando usar Random Forest, XGboost, redes neurais, SVC e as vantagens de um em relação ao outro em uma visão geral (o que é bem subjetivo e diferente para cada caso). No entanto, isso não é mais um problema com o advento das ferramentas que automatizam machine learning, como mencionado abaixo.
7 - Entenda Automated (Augmented) Machine Learning
Hoje, em 2018, se você conhece algumas ferramentas de Automated / Augmented Machine Learning como as da Amazon, Google e Microsoft, além de pequenas (mas importantes) como AutoSklearn, H20, BigML, Weka, DataRobot, MLJar e Predicsis, você já está bem a frente da maioria dos cientistas de dados no mercado usando apenas Python, R e Matlab. Quem já experimentou essas ferramentas sabe que a rapidez é incomparável com um ser humano. Sem falar que a maioria te retorna um ranking de modelos para você escolher, já com um Rest API pronto para você colocar o modelo em produção, já pulando uma parte do processo de engenharia de dados. Eu diria sem receios que empresas que estão implementando "Automated Machine Learning" vão economizar e muito na contratação de cientistas e engenheiros de dados, uma vez que se precisará de um número menor desses profissionais, que não são baratos e fáceis de contratar. Em breve devo escrever artigos a respeito dessas ferramentas acima, das quais já testei a maioria.
8 - Identifique Análises Falhas
Muitas análises estatísticas são imprecisas. Infelizmente tem muita gente ruim no mercado, sobretudo na "velha guarda da estatística", que é resistente às mudanças. Já vi equipes de análise de crédito com mais de dez pessoas que, ao usarem scores de inadimplência/adimplência , em vez de aplicar feature selection e ver o quão influenciável era tal artifício na modelagem corrente, usavam "KS" (Kolmogorov-Smirnov), como benchmark para o novo score, pois não conheciam machine learning. E falo de pessoas com mais de duas décadas de carreira e PhD em estatística. Ser capaz de identificar essas imprecisões e estudos “falsos” é primordial. Mas tão importante quanto isso é tentar ser "não arrogante" em um meio no qual ego nas alturas é lugar comum. Quem conseguir expressar uma crítica sem ferir o ego de alguém nesse meio está na vantagem.
9 - Entenda o básico de estatística
É necessária a compreensão de idéias estatísticas básicas como valor-p, intervalo de confiança, teoria da probabilidade e séries temporais em geral. Mas não há a necessidade de se ter um doutorado nisso. Aliás, se você quer colocar polêmica numa conversa com alguém que em tese, com alguns títulos acadêmicos se apresente como mais qualificado, basta perguntar sobre as implicâncias do "valor-p" na medicina, esperando claro, que você já tenha lido muito sobre o assunto. No fundo está todo mundo no mesmo barco.
10 - Conhecimento sobre ferramentas de pré-processamento de dados
Como Power BI, Alteryx, Pentaho Data Integration, incluindo, obviamente, saber como usar SQL e NoSQL. Você não precisa ser "expert" nisso, para isso há o time de backend e engenharia de dados, mas você tem que saber o mínimo para fazer de tudo um pouco.
11 - Capacidade de identificação do escopo do projeto
E compreensão do ciclo de vida dos projetos de ciência de dados em geral, o que varia muito dependendo do tipo de conjunto de dados, empresa, orçamento, equipe e assim por diante. Espera-se que o cientista de dados seja a ponte entre o time de analytics e o time de gestores.
12 - Habilidade de Comunicação
Uma habilidade importante, se não a mais importante "soft skill" , fora do conhecimento técnico: ser capaz de comunicar resultados a não especialistas, a fim de entender os pedidos dos tomadores de decisão. Habilidades de perspicácia de negócios estão ficando cada vez mais importantes com a chegada de muitas ferramentas de ciência de dados como supracitado. É por isso que temos vistos tantos PhDs falhando ao tentar uma posição relacionada à ciência de dados em que a perspicácia de negócios (o tão chamado "business acumen" em Inglês) é estritamente necessária : habilidade em comunicar seus resultados é essencial, não somente capacidade técnica.
13 - Estude muito, mas saiba onde e com quem . Você precisa de um MBA em Big Data?
Estude, leia todos os livros relacionados (em breve devo fazer uma seleção de tudo o que já li nos últimos anos relacionado à Data Science) , mas tome cuidado com os cursos "Caça-níqueis" . Estão brotando MBA em ciência de dados em cada esquina. Antes de gastar seu suado dinheiro com isso, procure saber o background dos professores : quantas startups os professores de tal curso fundaram ? Em quantas empresas trabalharam e quais cargos ocuparam ? Quais livros escreveram ? Quais estudos publicaram ? Qual o conhecimento de tais professores do mercado de trabalho na área ? O que esses professores sabem de deployment de modelos em produção e desenvolvimento de projetos? O que você vai aprender em tais cursos não poderia ser aprendido via MOOC ? Não se iluda achando que títulos acadêmicos bastam, estamos em 2018 . Questione, afinal, esse é o seu trabalho.
14 - Não foque em "salário" e status
Caso receba uma proposta de trabalho, não coloque salário como objetivo principal: não se você estiver começando na área. Muitas vezes, o que você pode aprender em determinadas empresas, sobretudo pequenas e médias, será muito mais enriquecedor do que trabalhar num banco enorme com centenas de cientistas de dados . Dica : muito provavelmente a melhor oportunidade terá o nome de "analista de dados".
15 - Para concluir : estudar todos os dias. Deep Reinforcement Learning , Deep adversarial learning, IoT, e muitos dos tópicos de ciência de dados dos mais avançados têm artigos novos saindo todos os dias. Mesmo que você não os entenda logo de início, é necessário se familiarizar com a evolução do meio. Sim, eu leio artigos acadêmicos publicados praticamente todos os dias nos últimos anos. Não sou "anti-academia" quando o assunto é o desenvolvimento de novos modelos estatísticos. Mas sim, me posiciono contra quando o assunto é MLaaS (Machine Learning as a Service) : nesse caso, conhecimento do business se faz tão ou mais importante do que conhecimento técnico e eu diria inclusive que parte do relativo sucesso que eu obtive foi olhando e aprendendo com pessoas que conheciam determinado problema de um nicho específico: jamais subestime seu gestor quanto ao "feeling" do negócio ,pois os "insights" dele(a) podem resultar naquela "coluna extra" que você criou e fazer a diferença no seu modelo de machine learning.
Enfim: nunca pare de aprender!
Anderson L. Amaral
Consultor em Data Science pela AL Amaral Consultoria
Chief Data Officer na DATAHOLICS.io
Quarto Lugar mundial pela Dataholics no Open Innovation Contest NTT Data 2018 , Tóquio- Japão
Vencedor pela Dataholics Open Innovation Contest Everis NTT Data 2018 ,São Paulo- Brasil
Vencedor pela Dataholics na Batalha de Inteligência Artificial PAPIS.IO 2017
Vencedor pela Dataholics no Visa Track - São Francisco -Califórnia 2017
Vencedor pela Dataholics na Ciab-Febraban 2017
Vencedor pela Dataholics no Desafio RTM 2017
Histórias de Sucessos - Udacity 2017
Investidor e Entusiasta de Criptomoedas desde 2013
Nas horas vagas : praticante de Jiu-jitsu, inventor de receitas para dietas cetogênicas e entusiasta de Jejum intermitente e prolongado.
Obs: baseado no meu texto em Inglês do Medium mencionado abaixo .
.
Especialista de Engenharia III / Data Science na Logcomex
6 aÉ, tudo se resume a nunca parar de aprender. Cada dia novas ferramentas, novas tecnologias, novos algoritmos.
CEO Foxbit Group
6 aParabéns pelo texto !
Data Quality | Data Engineer | Machine Learning Engineer | Data Scientist | Python | Scala | SQL | Airflow | Spark | dbt | Databricks
6 aEi Anderson! Você escreveu "Já vi equipes de análise de crédito com mais de dez pessoas que, ao usarem scores de inadimplência/adimplência , em vez de aplicar feature selection e ver o quão influenciável era tal artifício na modelagem corrente, usavam "KS" (Kolmogorov-Smirnov), como benchmark para o novo score, pois não conheciam machine learning." Não entendi se é um problema o fato de avaliar com KS ou *só* avaliar com KS.
Data Engineer Lead @Branching Minds | AWS | GCP | Spark | Databricks | dbt | Airflow | Dagster | Python | SQL | Airbyte
6 aBelo artigo Anderson! Sem dúvida da um norte muito bom para nós que estamos começando... Obrigado!!
Data Scientist | Behavior | Causality | Econometrics
6 aShow!!! Conteúdo riquíssimo. Valeu!!