Matemática 5 de outubro de 2022, 11:09 05/10/2022

Usando a ciência de dados para “cozinhar” conhecimento a partir de Big Data

Autores

Jovens revisores

Ilustração de uma mulher, uma criança e um computador sentados à mesa da cozinha cozinhando

Resumo

A expressão inglesa big data é comumente usada para significar a coleta de dados em grandes quantidades. O big data mudou nossa maneira de examinar e solucionar problemas em diversas áreas, como a previsão do tempo e a biologia. Com tantas informações disponíveis, precisamos de computadores para armazená-las, processá-las, analisá-las e entendê-las.
A ciência de dados combina ferramentas de áreas como estatística, matemática e ciência da computação para descobrir padrões interessantes nos big data. Os cientistas dessa área redigem instruções passo a passo, chamadas algoritmos, a fim de ensinar os computadores a gerarem conhecimento a partir dos dados. Para que os computadores entendam essas instruções, os algoritmos precisam ser traduzidos da pergunta original feita pelo cientista de dados para uma linguagem de programação – e os resultados são traduzidos de volta para que os humanos possam entendê-los. Isso significa que esses cientistas são detetives de dados, programadores e tradutores ao mesmo tempo!

Dados, dados por todo lado!

Dados são um conjunto de informações – números, medidas, palavras e descrições – que foi coletado e armazenado por um motivo específico. Recentemente, muitas ferramentas novas foram desenvolvidas para tornar bem fácil a coleta de quantidades enormes de dados. Quando dados ficam disponíveis em grandes quantidades, são muitas vezes chamados de big data. Os big data transformaram o modo como analisamos e solucionamos diferentes problemas: por exemplo, a previsão do tempo, a busc apor rotas alternativas no trânsito para evitar congestionamentos ou a sugestão, com base em programas que você já viu, de uma nova série de televisão que pode te agradar.

Big data: um grande desafio para a biologia!

Os big data também incrementam a pesquisa em biologia, que é o estudo de seres vivos como humanos, animais, plantas e bactérias. Hoje, ferramentas muito especializadas permitem que big data biológicos sejam coletados em laboratórios de pesquisa, em hospitais, na natureza ou mesmo em casa!

Por exemplo, dispositivos portáteis como relógios inteligentes podem ter sensores em tempo real que ajudam os médicos a monitorar o sono dos pacientes. Drones podem sobrevoar fazendas e tirar fotos aéreas para dar uma visão do estado das plantações. Novas técnicas laboratoriais agora permitem ler a série completa de instruções genéticas de uma pessoa, constituída por cerca de três bilhões de letras (para você ter uma ideia da escala, três bilhões de segundos perfazem mais ou menos noventa anos!). Com toda essa informação disponível, armazenar, processar, analisar e interpretar os dados é um verdadeiro desafio. Precisamos da ajuda dos computadores.

Matemática + estatística + ciência da computação + big data = ciência dos dados

Os big data são tão grandes que exigiram o desenvolvimento de uma área relativamente nova e excitante chamada ciência dos dados. Ela combina ferramentas de várias outras áreas, inclusive estatística, matemática e ciência da computação, para a detecção de padrões interessantes a partir de dados complexos. Os cientistas de dados precisam passar muito tempo organizando dados antes de iniciar seu trabalho. Para responder a uma pergunta específica, eles têm de encontrar ou criar um dataset (conjunto de dados) ou vários.

Alguns datasets foram liberados ao público para serem usados por qualquer pessoa, e um mecanismo de busca como o Google Dataset Search1 pode ajudar você a encontrar o que deseja mediante o uso de palavras-chave. Outros datasets, como os que incluem informações médicas pessoais, só podem ser acessados por um grupo limitado de internautas. O cientista de dados pode até precisar coletar dados novos para responder a uma pergunta. Por exemplo, se você quiser saber quais são as cores favoritas de seus colegas de escola, pode elaborar uma pesquisa a fim de coletar as respostas dos outros alunos.

Da bagunça à arrumação de dados

Uma parte importante do trabalho de um cientista de dados consiste em inserir, num formato viável, os dados que ele deseja usar. Uma maneira de entender o que eles fazem é imaginar que os big data são todos os LEGOs® que você possui espalhados pela casa inteira, numa bagunça. Antes de escolher os blocos para construir alguma coisa, você precisará primeiro arrumá-los em uma pilha, no mesmo aposento! Muitos datasets reais são mesmo “bagunçados”, isto é, às vezes trazem erros de digitação ou mesmo valores perdidos. Como exemplo, algumas respostas à sua pesquisa sobre cores favoritas poderão incluir “azul”, “Azul”, “AZUL” ou “Azuul”. Para entender mais facilmente esses dados, você precisará organizá-los reduzindo todas as variantes a um único valor, como “azul”, pois todas expressam a mesma cor.  

Algoritmos como receitas para a ciência dos dados

Depois que todos os seus LEGOs® estiverem num lugar só, você poderá ter em mira vários objetivos: por exemplo, agrupar os blocos em conjuntos ou prever o tipo de conjunto que vai querer organizar em seguida. Se tiver um número pequeno de LEGOs®, talvez seja fácil fazer isso manualmente – mas, no caso dos big data, terá de recorrer a ferramentas especiais.

Uma dessas ferramentas mais poderosas para trabalhar com os big data se chama aprendizagem automática, que é quando ensinamos um computador a aprender com base nos dados, sem lhe dar a resposta antes. Para tanto, os cientistas de dados precisam fornecer ao computador um conjunto de instruções detalhadas, passo a passo, chamado algoritmo (Figura 1). As instruções devem ser escritas de modo que o computador possa entendê-las – e isso se chama programação.

Um algoritmo é como uma receita de bolo. A receita começa com um conjunto de ingredientes (os dados) e nos diz exatamente como (o algoritmo) acender o forno, misturar a massa e assá-la a fim de obter uma deliciosa sobremesa (os resultados). A diferença entre a receita e o algoritmo, porém, é que as instruções de um algoritmo têm de ser absolutamente precisas para que o computador saiba exatamente o que fazer. Na receita, em vez de dizer “misture uma pitada de sal à massa”, seria necessário precisar “acrescente 1 grama de sal à massa e misture-a três vezes com uma colher de pau”.

Figura 1. Um algoritmo é um conjunto de instruções passo a passo dadas a um computador. Uma boa maneira de visualizar e elaborar um algoritmo é desenhar um fluxograma para ligar cada passo a outro. Nos fluxogramas, retângulos devem representar ações e diamantes, decisões. De manhã, você pode usar um fluxograma como o da esquerda para decidir se ficará de pijama, abrirá presentes de aniversário ou irá à escola. Depois de desenhar o fluxograma, traduzirá os passos de seu algoritmo para uma descrição mais detalhada, como a da esquerda.

Que linguagem você e seu computador falam?

A programação é uma maneira de traduzir uma pergunta científica em uma linguagem que seu computador possa falar. Há muitas linguagens diferentes, faladas por pessoas no mundo inteiro (inglês, francês, italiano, alemão…); do mesmo modo, há muitas linguagens diferentes de programação que podem ser usadas para escrever um algoritmo (Figura 2). Assim como uma receita escrita em inglês e francês pode dizer a mesma coisa de maneiras diferentes, diferentes linguagens de programação reúnem, cada uma a seu modo, instruções para o computador.

Novas linguagens de programação são inventadas todos os anos! Existe até mesmo uma linguagem de programação criada especialmente para jovens de 8–16 anos, chamada Scratch2 [1]. Duas que os cientistas de dados usam muito atualmente para escrever algoritmos são chamadas de R e Python. Ambas são de código aberto, ou seja, os cientistas que escrevem seus algoritmos nessas linguagens podem partilhá-los com qualquer pessoa, gratuitamente. Isso facilita, para os cientistas de dados, trabalharem juntos e aperfeiçoarem as programações uns dos outros!

Figura 2. Os algoritmos podem ser programados usando-se diferentes linguagens, do mesmo modo que ideias podem ser expressas em diferentes línguas. Digamos que queremos escrever um algoritmo que usará dois números quaisquer, somará 1 ao primeiro e subtrairá 2 do segundo, para depois somá-los. Se começarmos com 2 e 4, ensinaremos o computador a nos dar (2 + 1) + (4 – 2) = 5 como resposta. Nosso algoritmo, que chamaremos de my_sum, parece similar nas linguagens de programação R e Python, mas, se você observar melhor, notará algumas diferenças.

Como combinar receitas de computador com um livro de receitas de dados de ciência

Um cientista de dados poderá escrever vários algoritmos e combiná-los para obter a resposta que deseja. Assim como um cozinheiro pode reunir várias receitas em um livro de culinária, um cientista de dados pode às vezes criar ou usar diversos algoritmos, chamados pacotes de softwares. Quando esses pacotes são escritos em linguagem de código aberto, como o R ou o Python, os cientistas podem criar trabalhos reprodutíveis. Ciência de dados reprodutíveis significa que outras pessoas podem facilmente executar, repetir e usar de novo o trabalho de um cientista. Isso faz com que todos trabalhem com mais eficiência e partilhem sem problemas com outros aquilo que descobrem. A reprodutibilidade também ajuda a reforçar a confiança na correção dos algoritmos. Do mesmo modo, você pode emprestar seu livro de receitas favorito a um amigo, para que ele também faça um bolo delicioso!

Conclusões

Os big data estão ficando cada vez maiores, tanto em biologia quanto em bancos ou marketing, e continuarão a exercer um forte impacto em nossas vidas. Contudo, aumentam também as preocupações com suas consequências na privacidade. Quando você contrata um serviço gratuito ou app (como mídia social, e-mail, transmissão de vídeo ou compartilhamento de localização), aceita em troca que uma empresa privada recolha dados a seu respeito. Esses dados podem incluir as palavras-chave que você pesquisa, os sites que consulta, os vídeos de que gosta ou os lugares da vizinhança que frequenta. As empresas usam esses dados a fim de criar propaganda endereçada especificamente a você, quase sempre com o objetivo de lhe vender o máximo de produtos possível!

Mas é possível tomar providências para saber que tipos de dados estão sendo coletados a seu respeito, analisando, por exemplo, as configurações dos apps. Isso pode ajudá-lo a limitar a coleta de alguns tipos de dados, como seu endereço, e também a decidir quais apps ou serviços são de confiança e quais será melhor desinstalar.

Nos próximos anos, precisaremos de muitos cientistas de dados capazes de examinar os big data com métodos de aprendizagem automática. Será especialmente importante, para profissionais de todas as formações, ajudar a garantir que qualquer pessoa se beneficie igualmente dessas análises. Agora é uma boa hora para ser cientista de dados: você poderá atuar como detetive, matemático, artista, programador e tradutor, tudo ao mesmo tempo!

Glossário

 Big data: Grandes e complexos conjuntos de dados cujo armazenamento, processamento, análise e interpretação constituem um verdadeiro desafio. Os cientistas de dados precisam utilizar ferramentas e métodos especiais para trabalhar com eles.

Ciência dos dados: Área interdisciplinar que combina ferramentas da estatística, da matemática e da ciência da computação para encontrar padrões interessantes em conjuntos de dados complexos, inclusive os big data.

Dataset: Conjunto estruturado de informações relacionadas – números, medidas, palavras ou descrições – que foram reunidas e armazenadas por um motivo específico.

Aprendizagem automática: Uso de algoritmos para fazer com que um computador aprenda automaticamente a partir de dados e se aprimorar com a experiência, sem a ajuda de um humano.

Algoritmo: Série de instruções ou regras detalhadas, passo a passo, a serem seguidas por um computador.

Programação: Uso de uma linguagem para nos comunicarmos com um computador, dando-lhe instruções (algoritmos).

Código aberto: Tipo de software de computador desenvolvido por uma comunidade. Todos podem usá-lo, partilhá-lo e modificá-lo.

Pacote de softwares: Conjunto organizado de algoritmos relacionados que funcionam juntos com vistas a uma determinada tarefa ou têm função similar.

Notas

1. https://datasetsearch.research.google.com

2. https://scratch.mit.edu

Referências

[1] Maloney, J., Resnick, M., Rusk, N., Silverman, B. e Eastmond, E. 2010. “The scratch programming language and environment.” ACM Trans. Comput. Educ. 10:1–15. DOI: 10.1145/1868358.1868363.

Citação

Rau, A. (2021). “Cooking up knowledge from big data using data science.” Front. Young Minds. 9:632923. DOI: 10.3389/frym.2021.632923.

Encontrou alguma informação errada neste texto?
Entre em contato conosco pelo e-mail:
parajovens@unesp.br