Data science — Um panorama geral

Evandro F. Souza
Training Center
Published in
11 min readMay 22, 2018

Era 2013, estava eu na faculdade e lembro que na aula de banco de dados ouvi pela primeira vez o termo: Big Data. A partir de então eu comecei a escutar mais e mais termos e tendências diferentes. E todos estes termos e tendências convergem para um assunto específico: Data science.

Semana passada eu tive a oportunidade de conhecer um pouco mais de perto o trabalho dos profissionais que atuam nesta área. Achei interessante e ao mesmo tempo percebi que sabia muito menos do que imaginava. A partir deste ponto eu resolvi dar uma estudada no panorama geral de Data science. Este post é um compilado do que aprendi durante meus estudos.

O que é Data science?

Data science é uma área interdisciplinar, é composta por ciências da computação, matemática e estatísticas, e a especialização do domínio no qual os dados derivam. Sendo assim, é a intersecção entre estes três campos:

Figura 1 — Data Science

O objetivo de Data science é transformar dados em conhecimento, para então ser usado para tomar decisões racionais. Sendo assim, podemos dizer que um cientista de dados é um profissional que precisa possuir conhecimentos nas três áreas citadas. Não é preciso muito para perceber que um profissional com este conjunto de skills é raridade no mercado atual — e isto é sinônimo de salários altos, dá uma olhada na Figura 2.

Figura 2 — fonte: https://www.lovemondays.com.br/salarios/cargo/salario-cientista-de-dados

Falando em skills, quais são as principais que este profissional precisa ter?

Habilidades de um cientista de dados

As habilidades requisitadas por um cientista de dados podem ser divididas em sete categorias:

  1. Programação. As principais linguagens de programação utilizadas são Python e R. Outro conhecimento de computação muito requisitado é SQL.
  2. Trabalhar com dados. Resume-se em coletar, limpar e transformar os dados para serem utilizados.
  3. Estatística descritiva. Aplicação de várias técnicas para descrever e sumarizar um data set.
  4. Visualização de dados. Conhecimento e utilização de ferramentas para transformação dos dados em gráficos interpretáveis.
  5. Modelo estatístico. Criação de modelos estatísticos e utilização deles para inferência estatística e teste de hipóteses.
  6. Lidar com Big data. Utilizando ferramentas requisitadas devido ao grande volumes de dados tratado.
  7. Machine learning. Conhecimento e criação de algoritmos de Machine Learning para tomada de decisão e a predição.

Agora vamos dar uma olhar nas principais ferramentas que um cientista de dados usa.

Ferramentas de um cientista de dados

Figura 3 — Ferramentas mais utilizadas de Data science (fonte: O’Reily Data science Survey 2015)

Em relação às ferramentas usadas em Data science, aqui estão as ferramentas listadas pelos entrevistados da pesquisa salarial da O’Reilly em 2015. No eixo X, temos o nome da ferramenta, que inclui linguagens de programação, plataformas de dados ou ferramenta de análise. E no eixo Y, temos a porcentagem de respondentes que relatam que usam a ferramenta correspondente. Como podemos perceber, a ferramenta mais utilizada é o SQL(Structured Query Language). O SQL é uma linguagem de programação utilizada para consultar dados no banco relacional. Ela é um conhecimento muito importante para o cientista de dados, pois grande parte do trabalho está em explorar e filtrar(limpar) os dados. A próxima ferramenta é o Excel, uma ferramenta simples porém muito poderosa. Após, há duas linguagens de programação empatadas Python e R. Estas duas linguagens são as queridinhas do mundo de Data science. Em quase todas as pesquisas, essas duas costumam ter empate em termos de popularidade. No entanto, ambas linguagens possuem suas pontos fortes e fracos. Continuando a analise, percebemos que existem várias outras linguagens de programação, plataformas de dados e ferramentas de análise. Para não estender o post demais, não vou falar de cada uma delas, mas é importante conhecer elas para saber o que fazem, seus pontos fortes e fracos.

Processo de Data science

Já sabemos que um cientista de dados é alguém que gosta de matemática e estatística, gosta de tratar dados e converter em gráficos e para tudo isso é necessário conhecer ferramentas de programação, banco de dados e transformação de dados. Mas agora vamos entender: Como é realizada esta ciência?

Figura 4 — O processo de Data science

O processo de Data science funciona assim:

Primeiro, uma questão ainda a ser respondida precisa ser encontrada, pode ser uma hipótese que precisa ser testada, uma decisão que é preciso tomar ou algo que deseje tentar prever.

Segundo, são coletados dados para a análise. Ás vezes isso significa projetar um experimento para criar novos dados, outras vezes os dados já existem e é necessário encontrá-los.

Terceiro, os dados coletados são preparados para análise, um processo geralmente referenciado como data munging ou data wrangling. Neste processo, os dados são limpados e transformados para ficarem em um formato adequado para análise.

Quarto, é criado um modelo para os dados. No sentido mais genérico, isto pode ser um modelo numérico, um modelo visual, um modelo estatístico ou um modelo de Machine Learning. Após criado, o modelo é utilizado para fornecer evidencias a favor ou contra alguma hipótese, para ajudar a tomar uma decisão ou prever um resultado.

Quinto, o modelo é validado. É determinado se o modelo responde à questão, ajuda na tomada de decisão ou retorna uma previsão precisa. Além disso, é necessário ratificar se o modelo criado é o apropriado, levando em consideração os dados e o contexto.

Finalmente, após tudo validado, o modelo é implantado. Isto pode significar comunicar os resultados da análise para outros, tomar alguma decisão e agir ou colocar alguma aplicação em produção.

Data science pode ser considerado um processo contínuo. O ciclo descrito acima se repete diversas vezes e a cada iteração aprendizados e melhorias são implantados no modelo. É interessante notar que o processo muitas vezes não é sequencial, muitas vezes é necessário saltar passos para trás ou para frente, à medida que problemas aparecem e aprendizados sobre soluções melhores são descobertos.

Já há algum tempo nós trabalhamos com dados. Então, por quê Data science se tornou importante de repente?

Importância de Data science

Para responder a essa pergunta, precisamos examinar uma série de tendências emergentes que estão impulsionando a importância desta área.

Data analytics

Em resumo, é a aplicação das práticas de Data science ao mundo dos negócios. Atualmente está cada vez mais comum usar data analytics para resolver problemas de negócio comuns. Além disso, os dados agora são baratos e estão prontamente disponíveis. Por exemplo, é possível executar um teste A/B em um site habilitando ou desabilitando uma feature toggle. Isso significa que os dados são coletados com facilidade e com um custo significativamente menor. Na verdade, muitas vezes, nem é preciso executar um experimento para coletar dados, os dados já existem, é somente necessário encontrá-los e analisá-los.

Existem também diversas ferramentas que auxiliar na analise de dados(data analytics). O próprio Excel é normalmente utilizado para realizar análises numéricas. Existem também ferramentas como o Tableau que auxiliam na criação de gráficos interativos para visualização dos dados. E temos linguagens de programação como R e Python, que tornam a análise de dados mais rigorosa barata e relativamente fácil também.

Figura 5 — Tableau (fonte: tutorialgateway.org)

Além do mais, atualmente existem diversas maneiras de comunicar as descobertas a outras pessoas. Por exemplo, é possível demonstrar os principais indicadores de desempenho de nossos negócios para executivos, gerentes e funcionários através de dashboards. Também é possível demonstrar dados complexos do negócio para uma audiência maior, através de infográficos , tornando possível qualquer pessoa interpretar os dados.

Em resumo, o Data analytics é um dos fatores que revela a importância de Data science. E isto ocorreu de repente, pois hoje coletar, analisar e comunicar dados é mais fácil, barato e rápido que no passado.

Big data

Atualmente é praticamente impossível nunca ter ao menos ouvido falar sobre Big data. De acordo com o Google trends, o termo começou a ganhar força em 2012. Como é possível imaginar, Data science e Big Data tem tudo haver.

Mas afinal, o que é Big Data?

Figura 6 — Tendência de crescimento do volume de dados durante os anos (Fonte: UNECE Statistics wikis)

O termo é geralmente utilizado para se referir ao rápido aumento da quantidade de dados gerados pelo nosso mundo. A quantidade de informação digital que o mundo cria e armazena está dobrando a cada dois anos. Isso significa que nos últimos dois anos criamos mais dados do que toda a história da raça humana, e não parece haver um fim à vista para essa tendência. Além disso, o termo Big data é mais especificamente usado para descrever data sets que possuem volume, velocidade ou variedade que estão além das capacidades da arquitetura de computação convencional. Geralmente, é dito que é Big data quando uma ou mais dessas condições é atendidas.

Volume. Aqui estamos nos referindo ao tamanho dos dados. Big data significa data sets muito grandes para serem processados na memória de um computador convencional ou grandes demais para serem armazenados em um disco rígido convencional. Como resultado, agora temos tecnologias de computação distribuídas, como por exemplo Spark e Hadoop, que distribuem dados em vários computadores. Com a computação distribuída, tanto o armazenamento quanto o processamento dos dados estão espalhados entre vários computadores. A computação distribuída também nos permite criar Data lakes. Em vez de armazenar todos os nossos dados em um banco de dados relacional mais caro ou em um Data Warehouse, agora podemos armazenar data sets usados com menos frequência em sua forma nativa em um Data lake muito mais barato. Data Lakes criam um repositório central para todos os dados brutos da empresa.

Velocidade. É necessário possuir velocidade na extração de insight dos dados. Para qualquer ramo de negócio, processar dados em lotes durante a madrugada não é rápido o suficiente para continuar sendo competitivo. Por isto, atualmente existem tecnologias para análise em tempo real, permitindo tomar decisões de negócio em tempo real. Por exemplo, para detectar uma fraude de cartão de crédito, não é viável simplesmente esperar que o algoritmo de detecção de fraudes rode durante a noite para analisar os dados e, lentamente, fazer a determinação. Neste contexto, é preciso ser capaz de detectar atividades fraudulentas após o cartão ser inserido no leitor, mas antes que a transação complete. Além disso, existem ferramentas de streaming de dados (já foi falado aqui sobre o AWS Kinesis), que permitem detectar padrões de fluxos de dados de entrada rapidamente. Por exemplo, é possível utilizar este tipo de tecnologia para analisar o fluxo de dados de 10Gb por segundo provenientes de 5000 sensores em um moderno motor de um jato, ajudando a determinar se está prestes a falhar durante o voo.

Variedade. Atualmente é preciso processar vários tipos de dados diferentes. Os dados não estão mais somente em um banco de dados e em formato tabular. Agora existe a necessidade de processar texto, áudio, vídeo e muito mais, e proveniente de uma ampla variedade de fontes de dados. Para lidar com esta grande variedade de dados, existem ferramentas de integração de dados (data integration) que permitem combinar vários data sets para criar uma visão unificada. Na verdade, muito do valor do Big Data provem da junção de diferentes dados para criar novos insights que antes não eram possíveis. Estes novas ferramentas tornam esse tipo de integração de dados significativamente mais fácil e mais econômico do que era no passado. Existem também ferramentas capazes de extrair características de dados estruturados, semi estruturados e não estruturados. Por exemplo, é possível extrair nomes e propriedade de objetos e imagens, extrair textos de gravações de áudio, detectar sentimentos em textos, e analisar vídeos por conteúdo. Isso significa que agora é possível processar e analisar informações que anteriormente precisaria um ser humano para isso.

Em resumo, Data science está ganhando notoriedade também devido ao surgimento de Big Data. Em comparação com o passado, hoje os data sets são maiores, mais rápidos e mais diversos. As tecnologias de Big Data permitem líder com o volume, velocidade e variedade exigidos por esses data sets.

Machine learning

Machine learning é um subcampo de inteligência artificial(IA) baseado em estatísticas. Resumidamente, este campo de estudo envolve máquinas aprendendo como completar tarefas sem estarem explicitamente programadas para isso.

Essencialmente, com o Machine learning, são utilizados dados existentes para aprender uma função que pode fazer uma predição dos dados analisados. Por exemplo, imagine que queremos criar uma função para determinar se uma foto contém uma imagem de um gato ou não.

Primeiro, é necessário criar um data set que contenha imagens com gatos e imagens sem gatos. A partir daí, teríamos humanos etiquetando cada foto para indicar se contém um gato ou não. Em seguida, um algoritmo de Machine learning é aplicado a este data set. Este algoritmo aprenderia uma função que prevê se uma imagem possui gato ou não. Bem, esta é uma explicação super simplista de Machine Learning, mas acredito que mostra a essência do assunto ( na verdade, este é um assunto para um ou mais posts).

Abaixo mais alguns exemplos de tarefas que um algoritmo de Machine learning pode ajudar a solucionar:

Tomada de decisão. Auxilio na tomada de decisão com base nos dados. Por exemplo, decidindo aceitar ou rejeitar um empréstimo com base nos dados do histórico financeiro de um cliente.

Regressão. Tentativa de prever um resultado numérico com base em uma ou mais variáveis de entrada. Por exemplo, prever o valor de venda de uma casa com base nas características da casa e em comparação com o preço de venda de casa semelhantes.

Clustering. Agrupamento de objetos com base nas semelhanças em seus dados. Por exemplo, agrupamento de clientes em segmentos de marketing com base em sua renda, idade, sexo, número de filhos, etc.

Detecção de anomalias. Observação de mudanças no padrão dos dados. Por exemplo, detectar um aumento incomum no número de comentários negativos sobre um novo produto que acabou de ser lançado.

Em resumo, com o Machine Learning, os computadores agora pode ser ensinados — ou se ensinarem — como concluir todas essas tarefas citadas e muito mais. E um dos fatores que torna isto possível é o aprendizado gerado pelo Data analytics e a grande variedade de dados disponíveis para explorar(Big Data).

Conclusão

É possível perceber que Data science possui uma área de atuação extremamente ampla. No inicio do post eu falo sobre os conhecimentos que um cientista de dados deve possuir e vamos combinar, a pessoa tem que ser o Chuck Norris.

Parabéns para você que é cientista dados, tirei meu chapéu. Mas para aqueles, que assim como eu, ficaram assustados. Calma, gostaria de compartilhar um pensamento, durante meus estudos eu descobri que muitas empresas que possuem produtos baseados em Data science trabalham com equipes multidisciplinares. Ou seja, existem pessoas que trabalham focadas em etapas especificas do processo( aquele processo descrito na Figura 4).

Então, se você quer iniciar na área, você pode iniciar por alguma dessas etapas e ir aprendendo as demais. É interessante deixar claro que existe muito mais a ser falado sobre este assunto. O que foi falado aqui é só a superfície do assunto. Caso você tenha se interessado em saber mais, eu deixo aqui este maravilhoso compilado de conhecimento:

Alias, deixo aqui outra dica. O tópico Awesome do Github: uma lista de repositórios com conteúdos curados pela comunidade. Um compilado de artigos, videos, podcasts e etc: https://github.com/topics/awesome

Se quiser trocar uma ideia ou entrar em contato comigo, pode me achar no Twitter (@e_ferreirasouza) ou Linkedin.

Grande abraço e até a próxima!

--

--