3 caminhos para ser um analista de dados (mesmo que você não tenha experiência)

Cheng Han Lee
12 de mar de 2018

Pensar em uma carreira em data science pode trazer uma dose de ansiedade para algumas pessoas, que encaram a vasta gama de habilidades técnicas que o mercado demanda como algo impossível.

Não é verdade: tudo pode ser aprendido. Geralmente, quem trabalha nesse segmento específico possui três tipos de formação prática:

  • Nenhuma experiência
  • Sólido conhecimento em programação
  • Sólido conhecimento matemático

No seu caso, qual é o melhor caminho a seguir? Que conhecimentos técnicos são necessários para construir uma base profissional sólida e eficiente? É importante analisar esses três diferentes cenários para entender melhor os atalhos que consolidarão sua capacidade técnica.

Baixe o ebook "O Guia Completo Para Começar uma Carreira em Data Science"

Lembre-se os conhecimentos e as complexas terminologias envolvidas podem ser intimidadores no começo, mas não se esqueça de que todos são complementares. Quanto mais áreas você dominar, mais preparado estará para exercer a função com maestria.

Por fim, saiba que a Udacity criou uma trilha de carreira especialmente para quem quer se tornar um analista de dados, onde é possível aprender de maneira estruturada e prática. Saiba mais aqui!

Cenário 1: Nenhuma experiência

Então você pretende ser um analista de dados? Parabéns! Trata-se de uma profissão lucrativa, segura e que, em termos geográficos, pode ser exercida de qualquer lugar.

Para atingir esse patamar, é necessário muito estudo e preparação para dominar as habilidades técnicas necessárias. Para entender o que você precisa aprender, veja as dicas a seguir:

Programação

Programação é um aspecto estrutural da análise de dados: é a característica técnica que diferencia o analista de dados do analista de negócios.

É imprescindível conhecer uma ou mais linguagens de programação, seja Python ou R, além de ter boa compreensão conjuntural das bibliotecas e pacotes mais utilizados dentro da ciência de dados, como por exemplo ggplot2, reshape2, numpy, pandas e scipy.

Estatística

De que valem as proezas da programação sem a habilidade de interpretar os dados? Uma sólida compreensão de estatística – incluindo testes, distribuições e estimadores de máxima verossimilhança – é essencial na análise de dados.

Familiarize-se com estatística descritiva e inferencial. A primeira refere-se a medidas quantitativas que descrevem as características de uma amostra e a outra, aos aspectos preditivos que impactam as propriedades de uma população maior por meio da interpretação da amostra.

É preciso saber o básico, e muitos dos conceitos remeterão ao ensino médio e à faculdade. Lembra de média, mediana, modo, desvio padrão, variância e teste de hipóteses?

Esse leque de conhecimentos técnicos vai se ampliar ainda mais para incluir diferentes tipos de distribuição de dados: padrão normal e exponencial, binomial e testes de significância – teste Z, teste T, teste U de Mann-Whitney, chi-quadrado, ANOVA.

Leia: Este jovem foi de estagiário a cientista de dados e hoje tem um projeto com a NASA

Além das estatísticas descritivas e inferenciais, os analistas de dados também precisam ser adeptos do projeto experimental estatístico. Trata-se do processo sistemático de seleção de parâmetros para tornar os resultados válidos e significativos.

Por exemplo, é preciso determinar a quantidade de amostras coletadas, os diferentes fatores a serem interligados, escolher os controles, grupos de teste, etc.

A execução do design experimental por meio de ferramentas como testes A/B e outros conceitos deve ser realizada usando o conceito SMART, uma sigla que, em inglês, refere-se a Specific, Measurable, Actionable, Realistic, Timely (específico, mensurável, atingível, relevante e temporal).

Não se assuste com as palavras: o estudo trará a familiaridade necessária.

Matemática

Os números são praticamente o idioma de um analista de dados. Portanto, é evidente que uma sólida base de conhecimento matemático é imprescindível para uma carreira de sucesso nesse segmento.

No mínimo, é preciso estar familiarizado com conceitos de álgebra: você terá que traduzir os problemas reais do dia a dia de uma empresa em representações matemáticas lidando com expressões algébricas e resolução de equações.

Também deverá ser capaz de representar diferentes funções em gráficos, com conhecimento profundo da relação entre o gráfico de uma função e sua equação.

Além disso, o domínio de cálculo multivariado e de álgebra linear será muito útil na função de analista de dados. Pense em cálculo de matrizes, autovalores, autovetores e derivativos multivariáveis: é preciso saber o que fazer com eles.

Machine learning

Como analista de dados, não é preciso criar algoritmos de machine learning – conhecimentos dessa natureza estão no escopo de função dos cientistas de dados –, mas não são raros os conceitos comuns entre as duas áreas de atuação.

Alguns exemplos incluem a análise de componentes principais, redes neurais, máquinas de suporte vetorial e algoritmo de cluster k-means. Não é preciso ter conhecimento teórico sobre implementação desses algoritmos.

No entanto, é preciso saber as vantagens e desvantagens para calcular as respectivas aplicabilidades, que ajudam profissionais da área a fazer previsões e sugestões fundamentadas em enormes quantidades de informação.

Exitem três tipos de machine learning:

  1. Aprendizado supervisionado
  2. Aprendizado não-supervisionado
  3. Aprendizado por reforço

Aprendizado supervisionado

No supervisionado, treina-se um programa de computador por meio de dois conjuntos de dados: um de treinamento e um de testes. O primeiro serve para treinar o sistema a reconhecer exemplos rotulados de forma que, no segundo, os exemplos não-rotulados sejam precisamente reconhecidos.

O objetivo é fazer com que o sistema crie uma regra que identifique os elementos no conjunto de teste. O aprendizado supervisionado permite que o celular reconheça seu comando de voz e seu e-mail filtre o que é spam, por exemplo.

As ferramentas utilizadas incluem: árvore de decisão, algoritmo Naive Bayes método dos mínimos quadrados, redes neurais, máquinas de suporte vetorial e métodos de ensemble.

Leia: 8 habilidades de data science que você precisa para ser contratado

Aprendizado não-supervisionado

É utilizado nos desafios de descoberta das relação implícitas, o que significa descobrir estruturas ocultas de um conjunto de dados não rotulados. É o que permite que a Netflix e a Amazon façam recomendações que se encaixam perfeitamente às suas predileções de consumo.

As ferramentas utilizadas incluem: algoritmos de clustering, análise do componente principal (PCA), decomposição em valores singulares (SVD) e análise de componente independente (ICA).

Aprendizado por reforço

Por fim, o aprendizado por reforço se aplica às situações que se entremeiam ao supervisionado e ao não-supervisionado. Podemos utilizá-lo para maximizar o aprendizado de um software para atividades como controle de robôs, jogo de xadrez e gamão, dentre outros exemplos.

As ferramentas utilizadas incluem: Q-Learning, TD-Learning e algoritmos genéticos.

Data wrangling

As últimas três habilidades técnicas imprescindíveis para o desenvolvimento profissional de um analista de dados são gerenciar, exibir e interpretar informações.

É o que faz o data wrangling, que transforma informações aleatórias em bancos de dados organizados. Isso define o processo de coleta e depuração de dados para facilitar a qualidade da análise.

É preciso aprimorar tecnicamente sistemas de banco de dados que servirão de estrutura para o armazenamento adequado de informações. É igualmente importante se familiarizar com bancos de dados relacionais como PostgreSQL, mySQL, Netezza, Oracle, Hadoop, Spark e MongoDB.

Outros conceitos e ferramentas essenciais para data wrangling incluem: expressões regulares, transformações matemáticas e biblioteca de strings de Python.

Além disso, é preciso saber analisar formatos de arquivos comuns como CSV ou XML e converter, através da transformação log-10, as anomalias da distribuição.

Visualização de dados

Após todo o processo de organização, estruturação, compilação e, sobretudo, interpretação dos dados, é preciso transformar as conclusões em resultados visualmente compreensíveis.

Se a comunicação das descobertas não for clara e eficaz, de nada adiantará a profundidade dos desdobramentos da análise.

Por isso, é muito importante o conhecimento de ferramentas de visualização de dados como ggplot, matplotlib, sea born e D3.js. Obviamente, é preciso dominar, além das ferramentas, os fundamentos da codificação visual desses dados.

Para isso, é preciso ter uma profunda compreensão do contexto do negócio, justamente para que a apresentação dos resultados tão relevante quanto possível para a empresa.

Leia: 15 tipos de visualizações de dados incríveis

Análise de dados intuitiva

Além do conhecimento técnico já mencionado, é preciso elaborar as perguntas certas.

Seria possível passar uma vida analisando um único conjunto de dados, visualizando as respectivas interpretações dentro de uma infinidade de formatos, gerando uma infinidade de descobertas.

No mundo real, no entanto, há uma quantidade limitada de tempo e espaço para analisar e expor o que realmente importa.

Por isso, é primordial ter senso intuitivo para definir o que é de fato relevante – e o que não é.

Para tanto, é preciso desenvolver uma compreensão profunda do campo em que se trabalha, seja o mercado de ações ou bens de consumo.

É possível fazer isso ao investir tempo na análise de diferentes conjuntos de dados ou ao participar, de competições no Kaggle, que ajudam (muito) no aprendizado prático.

O fundamental é descobrir se a demanda essencial foi atendida pelas conclusões dessas análises.

Leia: Porque a carreira de cientista de dados é tão promissora no Brasil

Cenário 2: Sólido conhecimento em programação

Algo do que foi exposto aqui soa familiar? Você é treinado em engenharia de software, estudou programação na faculdade e ainda há lacunas de conhecimento matemático para se tornar um analista de dados?

Não tem problema. É a partir daqui que seu empenho em aprender se desdobrará em performance de alto nível dentro da análise de dados.

Tópicos essenciais

Estatística

É preciso interpretar, elaborar conclusões, comparar diferentes tipos de dados através da abordagem técnica ou dos testes estatísticos que definem as múltiplas distribuições.

Verifique no cenário acima quais são os conhecimentos e ferramentas específicos e anote o que você precisa desenvolver.

Probabilidade

Para tirar conclusões precisas, os analistas de dados precisam raciocinar a respeito da probabilidade de um evento ter acontecido ou de que efetivamente acontecerá.

Verifique no cenário acima quais são os conhecimentos e ferramentas específicos e anote o que você precisa desenvolver.

Tópicos avançados

Cálculo multivariável e álgebra linear

Se suas pretensões profissionais incluem o desenvolvimento de sua carreira na direção de ciência de dados, cálculo multivariável e álgebra linear formam a base estrutural para a construção e desenvolvimento de seus próprios algoritmos – e serão muito úteis para entender o funcionamento de machine learning.

Leia: Porque Google, IBM e outras grandes empresas que não exigem diplomas

Cenário 3: Sólido conhecimento matemático

Talvez você seja especialista em matemática e não saiba nada de programação. Tudo que falta, no entanto, é uma lista de habilidades que você precisa desenvolver ou se aprofundar.

Tópicos essenciais

Variáveis, fluxo de controle, loops, funções

Esses são os pilares da programação. Domine-os e se apaixone por eles.

Depuração

É muito provável que seu código não funcione corretamente de primeira ou quando ocorrerem situações inesperadas. Quando isso acontecer, é preciso saber como desvendar a origem do problema e o motivo da ocorrência. É aqui que os conhecimentos de depuração tornam-se indispensáveis.

Programação orientada a objetos

Aprenda a estruturar seus códigos em padrões de design orientados a objetos. Isso permitirá a reutilização, teste e compartilhamento.

Leia: 8 motivos para aprender a programar em Python

Tópicos avançados

Estrutura de dados

Além de tudo que já foi citado aqui, vale a pena conhecer elementos como pilhas, filas, listas, arrays, hashmaps, testes e gráficos.

Haverá situações em que uma estrutura de dados funcionará melhor que outra, em termos de uso de memória e eficiência no tempo de execução. O domínio dessa relação otimizará o funcionamento do programa – e é isso que o diferenciará dos outros profissionais.

Algoritmos

Saber a aplicabilidade de cada algoritmo em cada cenário pode reduzir o tempo de funcionamento de seu programa de dias para horas. No que se refere à capacidade de memória demandada, a redução pode ser de alguns gigabytes para poucas centenas de megabytes.

Trabalhe na compreensão de algoritmos de divisão e conquista, algoritmos gulosos, programação dinâmica, programação linear e algoritmos gráficos.

Padrões de design de software

Quer deixar seu código robusto, reutilizável e passível de testes? Muitos engenheiros de software e cientistas da computação desenvolveram padrões para facilitar essa tarefa. Entenda esses mecanismos e aprimore sua análise de dados.

Leia: Ele trocou a engenharia de software por data science

O ponto de partida é onde você está

A análise de dados é um segmento em expansão e muitas vozes importantes do setor estão compartilhando conhecimento e auxiliando o aprendizado.

O volume de informações e conhecimento demandados pode acabar sendo confuso e desanimador, mas saiba que, levando em conta seu nível de conhecimento técnico, é possível traçar um plano realista que o levará onde você quer chegar.

Não vai ser um caminho fácil: é preciso investir pesado no desenvolvimento de uma carreira voltada a dados. Mas não importa qual é seu estágio profissional, há praticamente um consenso se formando: hoje e no futuro, vai valer a pena.

Artigo originalmente publicado no blog americano da Udacity