Conforme conversamos no artigo o que é data science, na ciência de dados acontece a transformação dos dados em informação. Vimos que esse processo acontece através da análise de dados históricos, seja para entender o que aconteceu no passado, seja para prever o que acontecerá no futuro.
Normalmente, tanto o conhecimento e entendimento do passado quanto a previsão do futuro tem a mesma finalidade, que costuma ser a tomada de decisão. Mas para chegarmos a esse ponto, algumas etapas serão necessárias. E como nosso objetivo é trabalhar com ciência de dados, vamos ver que etapas são essas.
Engenharia de Dados
Para que a ciência de dados exista, outras áreas também precisam entrar em ação. Uma delas é a Engenharia de Dados, que será responsável por toda a parte operacional necessária para que a tomada de decisão possa ocorrer.
No exemplo que vimos no início do artigo sobre ciência de dados, pode não ter ficado claro a necessidade de uma estrutura complexa para que uma análise possa ocorrer, mas mesmo ali a Engenharia de Dados já era necessária.
Caso quiséssemos realizar uma análise financeira dos gastos com cartão de crédito nos últimos cinco anos de uma determinada pessoa, primeiro seria necessário que esses dados existissem, ou seja, estivessem armazenados em algum lugar.
A inexistência da fatura de apenas um mês poderia já comprometer toda a análise. Teríamos também que garantir a integridade dos dados, afirmando que os dados não sofreram nenhum tipo de alteração, como compras sem seu respectivo valor ou data por exemplo, para que assim os resultados fossem idôneos.
Ainda nessa fase, poderíamos querer automatizar o armazenamento destes dados, para que assim novas faturas já fossem automaticamente armazenadas com as demais, sendo que os processos que garantem a integridade das informações também necessitariam de automatização.
E o que dizer de uma análise em tempo real? Onde nosso resultado seria atualizado conforme cada nova compra através de um cartão. Há várias opções. Esses novos dados recém gerados seriam primeiramente armazenados para, logo após, serem analisados? Ou primeiramente seriam analisados e só depois seriam armazenados com os demais?
E depois da análise, o que acontece com o resultado gerado? Ele pode ser armazenado para posterior conferência, ser enviado via e-mail ou SMS para alguém; esse envio pode ser diário, semanal, mensal. Todo o sistema será implementado de que forma e em que tipo de infraestrutura?
Você já deve estar percebendo o quão complexa uma simples análise financeira pode se tornar. E isso que estamos considerando apenas gastos com cartão de crédito.
Poderíamos incluir ainda diferentes gastos, como em dinheiro, pagamentos de boletos e assim por diante. Agora que já cobrimos todos os possíveis gastos, podemos querer considerar também as entradas de valores da pessoa. Como isso seria informado ao sistema? Como garantir a integridade dessa informação?
Poderíamos continuar essa conversa por muitas linhas, citando diferentes exemplos, com os mais variados dados e necessidades de armazenamentos e integrações complexas, mas acredito que já deu para entender a ideia.
A engenharia de dados irá realizar esses processos, garantindo que os dados necessários estejam a disposição para utilização, que a infraestrutura esteja devidamente preparada para análise e que o resultado chegue a seu destino.
Big Data
Big Data são dados de tipos diferentes, que precisam de soluções inovadoras para seu armazenamento, devido a seu grande volume e velocidade de criação, sendo que através destes dados (utilizando técnicas sofisticadas de análise) podemos fazer previsões para melhor tomada de decisão.
Analisando essa definição, percebemos que o Big Data é fundamental para ciência de dados. Inclusive a ciência de dados faz parte da definição apresentada, normalmente sendo ela a responsável pelas técnicas sofisticadas de análises mencionadas.
Sendo assim, vemos claramente como os dois andam lado a lado, e também fica evidente a necessidade da engenharia de dados quando mencionamos que os dados são de tipos diferentes, com métodos de armazenamento inovadores, com grande volume e velocidade de criação.
Sem ciência de dados e engenharia de dados, não existe Big Data.
Infraestrutura
Existem muitas formas de se realizar análise de dados. As linguagens de programação Python e R estão entre as principais opções, principalmente por possuírem código aberto, não sendo necessária a compra de licença para sua utilização.
Outro motivo é a grande utilização na área, possuindo uma comunidade desenvolvedora ativa, colaborando com muitas soluções, de maneira que muitas implementações já foram realizadas e estão disponíveis para utilizarmos, simplificando os scripts.
Existem ainda outras linguagens que podem ser utilizadas, como Java, C, Scala e Julia, entre outras.
Podemos ainda utilizar opções pagas, como os softwares SPSS e SAS, que possuem interface gráfica e já estão muito bem consolidados no mercado. Essas opções costumam ser utilizadas por grandes empresas ou em nichos específicos de mercado, por conta de seu valor elevado, que acaba valendo o investimento em muitos casos principalmente em função do suporte que essas empresas prestam para seus clientes.
Não podemos deixar de mencionar ferramentas de Business Intelligence (Inteligência de Mercado), que realiza análises apenas do passado, sem previsões. Essas ferramentas vêm recebendo atenção especial de seus desenvolvedores, com atualizações visando a sua utilização também na ciência de dados, sendo que costumam ter como ponto forte sua utilização para visualização de dados, através da criação de dashboards. Algumas opções são o Microsoft Power BI, Tableau e QlikView.
Como podemos ver, são muitas as opções para o desenvolvimento das análises, e cabe à engenharia de dados entender a situação e definir a melhor opção a ser utilizada, considerando também as ferramentas utilizadas nas outras etapas.
Conhecendo R, Python e Machine Learning
Uma das principais tecnologias utilizadas na ciência de dados é o machine learning, responsável pelas previsões que realizamos nas análises.
Para essa finalidade, as linguagens de programação Python e R são as opções mais utilizadas, o que é muito bom para quem está aprendendo, pois são linguagens extremamente fáceis de se aprender, muito poderosas e gratuitas.
Caso você já esteja tentando aprender programação e encontrou dificuldades, saiba que é muito provável que o problema estava na forma de ensino, por isso criamos aqui alguns tutoriais gratuitos super práticos e didáticos para você dominar os conceitos essenciais de programação para machine learning, começando do zero:
- Python para Iniciantes
- Python para Machine Learning e Análise de Dados
- Linguagem R para iniciantes
- Linguagem R para Machine Learning e Análise de Dados
Para aqueles que querem começar já com foco em levar mais a sério a ciência de dados, conheça os cursos:
- Machine Learning com Python
- Machine Learning com R
- Combo 4 módulos de Machine Learning e Deep Learning
- Programador com Python
Visite também essa página para conhecer todos os nossos cursos.