Awari

O que é Data Science?

Ok, que o termo Data Science está na moda nós já sabemos, mas você sabe o que, de fato faz um profissional dessa área? Sabe por que esses profissionais são capazes de entregar tanto valor às empresas? Você sabe também que o termo vem sendo usado para significar, de modo genérico, diferentes atividades como as de um engenheiro de dados ou de um analista de dados e que, muitas vezes, nem mesmo as empresas contratantes têm clareza sobre que profissional precisa? Este artigo vai ajudá-lo a entender um pouco mais dessa área que foi cunhada pela revista Forbes como “A profissão mais sexy do século”.

Predições? Oráculos? Ligue djá?

Não!

Imagine que você é dono(a) de uma imobiliária. Uma das tarefas mais importantes, tanto para o setor de vendas quanto para o de locação, é a precificação de um imóvel. Diversos aspectos devem ser levados em consideração para tal previsão, como, por exemplo:

  • a área total do imóvel
  • a quantidade de quartos
  • idade do imóvel
  • região/bairro da cidade em que se localiza
  • além de, claro, a conciliação entre o valor que o proprietário tem em mente, a avaliação do preço do imóvel por de um profissional da área e o valor que os compradores/inquilinos estão dispostos a pagar.

É de se concordar que este cálculo não é simples, especialmente por conta da quantidade de fatores que interferem no valor a ser pedido e da complexa conciliação citada acima.

Agora imagine que todo esse procedimento (ou uma grande parte dele) possa ser feito por um computador que, além de possuir uma super capacidade de lidar com a complexidade dos cálculos envolvidos, os faça com base em dados reais, com uma grande assertividade e com uma margem de erro, se não pequena, pelo menos conhecida em relação aos valores praticados no mercado.

Isso tornaria todo o processo muito mais simples, menos dependente de intuições e mais direto ao ponto, além de facilitar a negociação.

Expanda isso para diversas áreas em que tais procedimentos podem ser utilizados, como predição de vendas, identificação de rostos em uma rede social, detecção de spam, sistemas de sugestões de músicas ou filmes, carros que não necessitam de motoristas e milhares de outras e começamos a vislumbrar os motivos do hype da ciência de dados.

Certo, parece bom. Mas como chegar a esse resultado?

Para que esse resultado seja obtido, uma série de passos geralmente são necessários e aqui entra o trabalho do cientista de dados. 

Etapas de um projeto de ciência de dados

De modo geral, as etapas de um projeto de ciência de dados são:

Compreensão do problema/tarefa a ser realizada 

Antes de realizar a série de etapas comuns a grande parte dos projetos, é muito importante que se compreenda o que deve ser resolvido. Tudo o que virá a seguir vai depender das características do problema que deve ser resolvido e da abordagem escolhida entre os diversos interessados. Teremos que classificar clientes em grupos de consumo, teremos que predizer o valor de algo ou prever uma tendência? É com base nesse tipo de pergunta que iniciamos nossos projetos.

Coleta de dados

Uma vez que se compreende o problema e ou a tarefa a ser desenvolvidos, é necessário obter os dados que serão utilizados posteriormente. Essa etapa pode variar muito em termos de complexidade e consumo de tempo. Imagine que o problema envolva a utilização de dados públicos e estruturados previamente. Caso isso aconteça, muitas vezes teremos acesso a bases de dados já organizadas e bastará fazer uma conexão com elas. Porém, se a tarefa envolver o uso de dados desestruturados (mesmo que públicos) ou necessitar da realização de uma coleta primária interna (a obtenção de dados para predição do superaquecimento de motores, por exemplo), o procedimento acaba tornando-se mais lento e complexo, uma vez que esses dados terão de ser criados por quem demanda sua análise.

Manipulação/limpeza de dados 

Nem sempre os dados coletados chegam de maneira organizada e formatada para serem utilizados nas etapas posteriores. Podemos ter dados faltantes, dados duplicados ou dados em um formato que os algoritmos responsáveis pela predição não reconhecerão, por exemplo. Além disso, é possível que precisemos criar novas colunas de dados com base no que já possuímos (como uma coluna com médias, por exemplo). Imagine que você coletou dados a respeito de valores de apartamentos e que tais valores continham os caracteres “R$”, por exemplo. Será necessário tomar ações para que esses caracteres sejam removidos e restem apenas números na coluna de valores de sua tabela. Esse é o tipo de procedimento realizado durante a manipulação de dados e essa é a etapa que geralmente demanda mais tempo dos cientistas de dados.

Análise exploratória 

Após ter os dados organizados de forma consistente, é preciso conhecê-los, criar uma certa intimidade com a base de dados. Nesta etapa, trabalhamos especialmente com visualizações e estatística descritiva. Checamos a distribuição dos dados, verificamos médias, medianas e desvios padrão, procuramos por correlações entre as variáveis disponíves (o que pode nortear grande parte da análise), além de criarmos visualizações de dados para tentarmos visualmente identificar tendências ou mesmo a presença de dados distorcidos ou muito “fora da curva”.  

Modelagem

É nesta etapa que a mágica acontece. Neste ponto do projeto entram os algoritmos de Machine/Deep Learning. Qual será o algoritmo escolhido vai depender do tipo de problema que resolveremos (classificação, regressão, clusterização, por exemplo). Esta etapa é sem dúvida a mais complexa conceitualmente e dela podemos desenvolver um artigo completo (que será criado em breve). Entretanto, alguns procedimentos geralmente são comuns em diversos casos. Em primeiro lugar, separa-se a base de dados entre dados que serão usados para “treinar” o algoritmo e dados que serão usados para verificar sua performance. Em seguida, é o momento de adaptar o algoritmo aos dados que temos. Esse procedimento é seguido pela criação de predições e pela escolha de que tipo de mensuração usaremos para avaliar a performance do algoritmo. Em um algoritmo de regressão, por exemplo, podemos escolher a média da distância entre o que foi predito pelo algoritmo e pedaços reais da base de dados para entendermos quão precisa está a predição. O trabalho que vem a seguir é o de modificar detalhes do algoritmo escolhido (ou experimentar outros algoritmos) com o intuito de minimizar a distância entre as predições e os dados reais, ou seja, melhorar a performance do algoritmo até que consigamos algo satisfatório e generalizável (não superadaptado apenas aos dados que temos). Uma exceção a esses procedimentos são os algoritmos de clusterização, mas trataremos destes algoritmos em outra postagem. 

Comunicação

Além do conjunto de habilidades técnicas descrito acima, um cientista de dados também precisa saber comunicar-se com excelência. E engana-se quem imagina que isso significa utilizar uma série de termos complicados de estatística ou programação. Pelo contrário! O cientista de dados precisa ser capaz de comunicar as descobertas, insights, performances de algoritmos e muitas outras coisas em uma linguagem em que pessoas que não lidam com os aspectos mais específicos da área em seu dia-a-dia. É preciso fazer com que leigos compreendam o que está ocorrendo. É nessa etapa também que retomamos a criação de gráficos e até mesmo a criação de dashboards para a disponibilização dos resultados mais importantes.

Implementação

Essa etapa, que nem sempre acontece, é a fase em que todo o procedimento realizado e torna-se utilizável por outras pessoas. Imagine que o problema resolvido foi o do exemplo inicial da imobiliária. O objetivo, desde o começo, era de tornar a precificação de imóveis uma tarefa mais assertiva e menos dependente de opiniões e intuições, mas também não queríamos fazer com que todos os funcionários da imobiliária tornem-se programadores. Então, nesta fase podemos fazer com que o modelo criado se torne uma calculadora de imóveis, uma aplicação em que os usuários preenchem com dados novos (área, bairro, etc) e têm como saída o valor a ser cobrado pelo imóvel ou por seu aluguel, tudo isso com base em dados e com uma margem de erro conhecida. É nessa fase que isso se torna possível: trazer o modelo para ser utilizado por todos através de um web app, por exemplo.

Considerações finais

As etapas descritas acima são intercambiáveis e não acontecem necessariamente na ordem apresentada como um caminho único. Uma visualização de dados pode alertar para a necessidade de mais limpeza ou transformações, assim como a performance de um algoritmo pode levar o cientista de dados a fases anteriores do processo (até mesmo a coletar dados novamente).

Além disso, nem sempre o cientista de dados é responsável por todos os procedimentos descritos acima. Um exemplo disso é quando uma empresa possui uma base de dados muito complexa ou lida com uma quantidade astronômica de dados. Nesse caso entra o profissional da engenharia de dados, que fica responsável pela arquitetura e manutenção das estruturas que podem vir a ser utilizadas por cientistas de dados posteriormente. Em um caso como esse, o cientista de dados ou mesmo um engenheiro de machine learning, ficaria mais focado na utilização e refino da modelagem desses dados já organizados.

Conclusão

Definir Data Science é uma tarefa árdua e não queremos aqui dar a palavra final sobre o que está ou não dentro do escopo da área. Além disso, nem todos os projetos da área passam necessariamente por todas as etapas descritas nas seções anteriores deste artigo. Um projeto na área pode não requerer a utilização de predições e ainda sim podem ser realizados por um cientista de dados, que vai auxiliar a trazer insights apenas com estatística descritiva, por exemplo. Afinal, ciência de dados engloba uma série de conhecimentos como estatística, negócios e programação – habilidades que você pode aprender no curso de Data Science da Awari.

O objetivo deste artigo é que as etapas mais comuns a projetos da área tenham ficado mais claras e que isso sirva de estímulo para um mergulho mais profundo nessa área tão fascinante e com tanto potencial em diversos campos.

Vinicius Gomes

Escrito por

Vinicius Gomes

é Data Scientist e doutor em psicologia da música. Atualmente é instrutor de Data Science e responsável por parte da criação do conteúdo da área na Awari.