18 softwares essenciais que todo cientista de dados deveria conhecer

A ciência de dados é para quem gosta de desvendar coisas emaranhadas e descobrir maravilhas ocultas em uma aparente bagunça.

É como procurar agulhas em palheiros; só que os cientistas de dados não precisam sujar as mãos. Usando ferramentas sofisticadas com gráficos coloridos e olhando pilhas de números, eles simplesmente mergulham em pilhas de dados e encontram agulhas valiosas na forma de insights de alto valor comercial.

Um típico cientista de dados A caixa de ferramentas deve incluir pelo menos um item de cada uma dessas categorias: bancos de dados relacionais, bancos de dados NoSQL, estruturas de big data, ferramentas de visualização, ferramentas de raspagem, linguagens de programação, IDEs e ferramentas de aprendizado profundo.

Bancos de dados relacionais

Um banco de dados relacional é uma coleção de dados estruturados em tabelas com atributos. As tabelas podem ser vinculadas umas às outras, definindo relações e restrições, e criando o que é chamado de modelo de dados. Para trabalhar com bancos de dados relacionais, você normalmente usa uma linguagem chamada SQL (Structured Query Language).

Os aplicativos que gerenciam a estrutura e os dados em bancos de dados relacionais são chamados de RDBMS (Relational DataBase Management Systems). Existem muitos desses aplicativos, e os mais relevantes começaram recentemente a se concentrar no campo da ciência de dados, adicionando funcionalidades para trabalhar com repositórios de big data e aplicar técnicas como análise de dados e aprendizado de máquina.

servidor SQL

RDBMS da Microsoft, vem evoluindo há mais de 20 anos, expandindo consistentemente sua funcionalidade empresarial. Desde sua versão de 2016, o SQL Server oferece um portfólio de serviços que inclui suporte para código R incorporado. O SQL Server 2017 aumenta a aposta renomeando seus R Services para Machine Language Services e adicionando suporte para a linguagem Python (mais sobre essas duas linguagens abaixo).

Com essas adições importantes, o SQL Server visa cientistas de dados que podem não ter experiência com o Transact SQL, a linguagem de consulta nativa do Microsoft SQL Server.

O SQL Server está longe de ser um produto gratuito. Você pode comprar licenças para instalá-lo em um Windows Server (o preço varia de acordo com o número de usuários simultâneos) ou usá-lo como um serviço pago, através da nuvem do Microsoft Azure. Aprender o Microsoft SQL Server é fácil.

MySQL

No lado do software de código aberto, MySQL tem a coroa de popularidade dos RDBMSs. Embora a Oracle atualmente a possua, ela ainda é gratuita e de código aberto sob os termos de uma Licença Pública Geral GNU. A maioria dos aplicativos baseados na web usa o MySQL como repositório de dados subjacente, graças à sua conformidade com o padrão SQL.

Também ajudando a sua popularidade estão seus procedimentos de instalação fáceis, sua grande comunidade de desenvolvedores, toneladas de documentação abrangente e ferramentas de terceiros, como o phpMyAdmin, que simplificam as atividades diárias de gerenciamento. Embora o MySQL não tenha funções nativas para fazer análise de dados, sua abertura permite sua integração com praticamente qualquer ferramenta de visualização, relatório e inteligência de negócios que você escolher.

PostgreSQL

Outra opção de RDBMS de código aberto é PostgreSQL. Embora não seja tão popular quanto o MySQL, o PostgreSQL se destaca por sua flexibilidade e extensibilidade, e por seu suporte a consultas complexas, aquelas que vão além das instruções básicas como SELECT, WHERE e GROUP BY.

Esses recursos estão permitindo que ele ganhe popularidade entre os cientistas de dados. Outro recurso interessante é o suporte a multiambientes, que permite sua utilização em ambientes cloud e on-premise, ou em uma mistura de ambos, comumente conhecidos como ambientes de cloud híbrida.

O PostgreSQL é capaz de combinar processamento analítico online (OLAP) com processamento de transações online (OLTP), trabalhando em um modo chamado processamento analítico/transacional híbrido (HTAP). Também é adequado para trabalhar com big data, graças à adição de PostGIS para dados geográficos e JSON-B para documentos. O PostgreSQL também suporta dados não estruturados, o que permite que estejam em ambas as categorias: bancos de dados SQL e NoSQL.

Bancos de dados NoSQL

Também conhecido como banco de dados não relacional, esse tipo de repositório de dados fornece acesso mais rápido a estruturas de dados não tabulares. Alguns exemplos dessas estruturas são gráficos, documentos, colunas largas, valores-chave, entre muitos outros. Os armazenamentos de dados NoSQL podem deixar de lado a consistência dos dados em favor de outros benefícios, como disponibilidade, particionamento e velocidade de acesso.

  (RESOLVIDO) Exportação de vídeo travada no aplicativo Microsoft Photos

Como não há SQL em armazenamentos de dados NoSQL, a única maneira de consultar esse tipo de banco de dados é usando linguagens de baixo nível, e não existe uma linguagem tão amplamente aceita quanto a SQL. Além disso, não há especificações padrão para NoSQL. É por isso que, ironicamente, alguns bancos de dados NoSQL estão começando a adicionar suporte para scripts SQL.

MongoDB

MongoDB é um sistema de banco de dados NoSQL popular, que armazena dados na forma de documentos JSON. Seu foco está na escalabilidade e na flexibilidade para armazenar dados de forma não estruturada. Isso significa que não há uma lista de campos fixos que deva ser observada em todos os elementos armazenados. Além disso, a estrutura de dados pode ser alterada ao longo do tempo, algo que em um banco de dados relacional implica um alto risco de afetar as aplicações em execução.

A tecnologia no MongoDB permite indexação, consultas ad-hoc e agregação que fornecem uma base sólida para análise de dados. A natureza distribuída do banco de dados fornece alta disponibilidade, dimensionamento e distribuição geográfica sem a necessidade de ferramentas sofisticadas.

Redis

este one é outra opção na frente NoSQL de código aberto. É basicamente um armazenamento de estrutura de dados que opera na memória e, além de fornecer serviços de banco de dados, também funciona como memória cache e agente de mensagens.

Ele suporta uma infinidade de estruturas de dados não convencionais, incluindo hashes, índices geoespaciais, listas e conjuntos classificados. Ele é adequado para ciência de dados graças ao seu alto desempenho em tarefas com uso intensivo de dados, como interseções de conjuntos de computação, classificação de listas longas ou geração de classificações complexas. A razão para o excelente desempenho do Redis é sua operação na memória. Ele pode ser configurado para persistir os dados seletivamente.

Estruturas de Big Data

Suponha que você tenha que analisar os dados que os usuários do Facebook geram durante um mês. Estamos falando de fotos, vídeos, mensagens, tudo isso. Levando em conta que mais de 500 terabytes de dados são adicionados diariamente à rede social por seus usuários, é difícil mensurar o volume representado por um mês inteiro de seus dados.

Para manipular essa enorme quantidade de dados de maneira eficaz, você precisa de uma estrutura apropriada capaz de computar estatísticas em uma arquitetura distribuída. Existem dois frameworks que lideram o mercado: Hadoop e Spark.

Hadoop

Como uma estrutura de big data, Hadoop lida com as complexidades associadas à recuperação, processamento e armazenamento de enormes pilhas de dados. O Hadoop opera em um ambiente distribuído, composto por clusters de computadores que processam algoritmos simples. Existe um algoritmo de orquestração, chamado MapReduce, que divide grandes tarefas em pequenas partes e, em seguida, distribui essas pequenas tarefas entre os clusters disponíveis.

O Hadoop é recomendado para repositórios de dados de classe empresarial que exigem acesso rápido e alta disponibilidade, tudo isso em um esquema de baixo custo. Mas você precisa de um administrador Linux com profundo Conhecimento Hadoop para manter a estrutura em funcionamento.

Fagulha

O Hadoop não é o único framework disponível para manipulação de big data. Outro grande nome nesta área é Fagulha. O mecanismo Spark foi projetado para superar o Hadoop em termos de velocidade de análise e facilidade de uso. Aparentemente, ele atingiu esse objetivo: algumas comparações dizem que o Spark roda até 10 vezes mais rápido que o Hadoop ao trabalhar em um disco e 100 vezes mais rápido operando na memória. Também requer um número menor de máquinas para processar a mesma quantidade de dados.

Além da velocidade, outro benefício do Spark é o suporte ao processamento de stream. Esse tipo de processamento de dados, também chamado de processamento em tempo real, envolve entrada e saída contínua de dados.

Ferramentas de visualização

Uma piada comum entre cientistas de dados diz que, se você torturar os dados por tempo suficiente, eles confessarão o que você precisa saber. Neste caso, “torturar” significa manipular os dados transformando-os e filtrando-os para melhor visualizá-los. E é aí que as ferramentas de visualização de dados entram em cena. Essas ferramentas pegam dados pré-processados ​​de várias fontes e mostram suas verdades reveladas em formas gráficas e compreensíveis.

Existem centenas de ferramentas que se enquadram nesta categoria. Goste ou não, o mais utilizado é o Microsoft Excel e suas ferramentas de gráficos. Os gráficos do Excel são acessíveis a qualquer pessoa que use o Excel, mas têm funcionalidade limitada. O mesmo se aplica a outros aplicativos de planilhas, como o Planilhas Google e o Libre Office. Mas estamos falando aqui de ferramentas mais específicas, especialmente adaptadas para business intelligence (BI) e análise de dados.

Power BI

Há pouco tempo, a Microsoft lançou seu Power BI aplicativo de visualização. Ele pode pegar dados de diversas fontes, como arquivos de texto, bancos de dados, planilhas e muitos serviços de dados online, incluindo Facebook e Twitter, e usá-los para gerar painéis repletos de gráficos, tabelas, mapas e muitos outros objetos de visualização. Os objetos do painel são interativos, o que significa que você pode clicar em uma série de dados em um gráfico para selecioná-la e usá-la como filtro para os outros objetos no quadro.

  Por que você precisa de uma mesa digitalizadora para Photoshop

O Power BI é uma combinação de um aplicativo de área de trabalho do Windows (parte do pacote Office 365), um aplicativo Web e um serviço online para publicar os painéis na Web e compartilhá-los com seus usuários. O serviço permite que você crie e gerencie permissões para conceder acesso aos quadros apenas para determinadas pessoas.

Quadro

Quadro é outra opção para criar painéis interativos a partir de uma combinação de várias fontes de dados. Ele também oferece uma versão desktop, uma versão web e um serviço online para compartilhar os painéis que você cria. Funciona naturalmente “com a maneira como você pensa” (como afirma), e é fácil de usar para pessoas não técnicas, o que é aprimorado por meio de muitos tutoriais e vídeos online.

Alguns dos recursos mais notáveis ​​do Tableau são seus conectores de dados ilimitados, seus dados ativos e na memória e seus designs otimizados para dispositivos móveis.

QlikViewName

QlikViewName oferece uma interface de usuário limpa e direta para ajudar os analistas a descobrir novos insights de dados existentes por meio de elementos visuais que são facilmente compreensíveis para todos.

Esta ferramenta é conhecida por ser uma das plataformas de business intelligence mais flexíveis. Ele fornece um recurso chamado Pesquisa Associativa, que ajuda você a se concentrar nos dados mais importantes, economizando o tempo que levaria para encontrá-los por conta própria.

Com o QlikView, você pode colaborar com parceiros em tempo real, fazendo análises comparativas. Todos os dados pertinentes podem ser combinados em um aplicativo, com recursos de segurança que restringem o acesso aos dados.

Ferramentas de raspagem

Nos tempos em que a internet estava apenas surgindo, os rastreadores da web começaram a viajar junto com as redes coletando informações em seu caminho. À medida que a tecnologia evoluiu, o termo web crawling mudou para web scraping, mas ainda significa o mesmo: extrair automaticamente informações de sites. Para fazer web scraping, você usa processos automatizados, ou bots, que saltam de uma página da web para outra, extraindo dados delas e exportando-os para diferentes formatos ou inserindo-os em bancos de dados para análise posterior.

Abaixo resumimos as características de três dos raspadores de web mais populares disponíveis hoje.

Octoparse

Octoparse web scraper oferece algumas características interessantes, incluindo ferramentas internas para obter informações de sites que não facilitam o trabalho dos bots de raspagem. É um aplicativo de desktop que não requer codificação, com uma interface de usuário amigável que permite visualizar o processo de extração por meio de um designer gráfico de fluxo de trabalho.

Juntamente com o aplicativo autônomo, o Octoparse oferece um serviço baseado em nuvem para acelerar o processo de extração de dados. Os usuários podem experimentar um ganho de velocidade de 4x a 10x ao usar o serviço de nuvem em vez do aplicativo de desktop. Se você ficar com a versão para desktop, poderá usar o Octoparse gratuitamente. Mas se você preferir usar o serviço em nuvem, terá que escolher um de seus planos pagos.

Coletor de conteúdo

Se você está procurando uma ferramenta de raspagem rica em recursos, você deve ficar de olho Coletor de conteúdo. Ao contrário do Octoparse, para usar o Content Grabber é necessário ter conhecimentos avançados de programação. Em troca, você obtém edição de scripts, interfaces de depuração e outras funcionalidades avançadas. Com o Content Grabber, você pode usar linguagens .Net para escrever expressões regulares. Dessa forma, você não precisa gerar as expressões usando uma ferramenta integrada.

A ferramenta oferece uma API (Application Programming Interface) que você pode usar para adicionar recursos de raspagem aos seus aplicativos de desktop e web. Para usar essa API, os desenvolvedores precisam obter acesso ao serviço Content Grabber Windows.

ParseHub

Este raspador pode lidar com uma extensa lista de diferentes tipos de conteúdo, incluindo fóruns, comentários aninhados, calendários e mapas. Ele também pode lidar com páginas que contêm autenticação, Javascript, Ajax e muito mais. O ParseHub pode ser usado como um aplicativo da Web ou um aplicativo de desktop capaz de ser executado no Windows, macOS X e Linux.

Assim como o Content Grabber, é recomendável ter algum conhecimento de programação para aproveitar ao máximo o ParseHub. Possui uma versão gratuita, limitada a 5 projetos e 200 páginas por execução.

  Como economizar tempo com temas do Excel

Linguagens de programação

Assim como a linguagem SQL mencionada anteriormente é projetada especificamente para trabalhar com bancos de dados relacionais, existem outras linguagens criadas com foco claro em ciência de dados. Essas linguagens permitem que os desenvolvedores escrevam programas que lidam com análises massivas de dados, como estatísticas e aprendizado de máquina.

O SQL também é considerado uma habilidade importante que os desenvolvedores devem ter para fazer ciência de dados, mas isso ocorre porque a maioria das organizações ainda possui muitos dados em bancos de dados relacionais. As linguagens de ciência de dados “verdadeiras” são R e Python.

Pitão

Pitão é uma linguagem de programação de alto nível, interpretada e de uso geral, adequada para o desenvolvimento rápido de aplicativos. Possui uma sintaxe simples e fácil de aprender que permite uma curva de aprendizado acentuada e reduções nos custos de manutenção do programa. Há muitas razões pelas quais é a linguagem preferida para a ciência de dados. Para mencionar alguns: potencial de script, verbosidade, portabilidade e desempenho.

Essa linguagem é um bom ponto de partida para cientistas de dados que planejam experimentar muito antes de entrar no trabalho real e duro de processamento de dados e que desejam desenvolver aplicativos completos.

R

o linguagem R é usado principalmente para processamento de dados estatísticos e gráficos. Embora não seja destinado a desenvolver aplicativos completos, como seria o caso do Python, o R se tornou muito popular nos últimos anos devido ao seu potencial para mineração de dados e análise de dados.

Graças a uma biblioteca cada vez maior de pacotes disponíveis gratuitamente que estendem sua funcionalidade, o R é capaz de fazer todos os tipos de trabalho de processamento de dados, incluindo modelagem linear/não linear, classificação, testes estatísticos, etc.

Não é uma linguagem fácil de aprender, mas uma vez que você se familiarize com sua filosofia, você estará fazendo computação estatística como um profissional.

IDEs

Se você está pensando seriamente em se dedicar à ciência de dados, precisará escolher cuidadosamente um ambiente de desenvolvimento integrado (IDE) que atenda às suas necessidades, porque você e seu IDE passarão muito tempo trabalhando juntos.

Um IDE ideal deve reunir todas as ferramentas que você precisa em seu trabalho diário como codificador: um editor de texto com realce de sintaxe e preenchimento automático, um depurador poderoso, um navegador de objetos e fácil acesso a ferramentas externas. Além disso, ele deve ser compatível com o idioma de sua preferência, por isso é uma boa ideia escolher seu IDE depois de saber qual idioma você usará.

Spyder

este O IDE genérico destina-se principalmente a cientistas e analistas que também precisam codificar. Para torná-los confortáveis, ele não se limita à funcionalidade IDE – ele também fornece ferramentas para exploração/visualização de dados e execução interativa, como pode ser encontrado em um pacote científico. O editor no Spyder suporta vários idiomas e adiciona um navegador de classe, divisão de janela, salto para definição, autocompletar código e até mesmo uma ferramenta de análise de código.

O depurador ajuda a rastrear cada linha de código interativamente e um criador de perfil ajuda a encontrar e eliminar ineficiências.

PyCharmName

Se você programa em Python, é provável que seu IDE de escolha seja PyCharmName. Possui um editor de código inteligente com pesquisa inteligente, conclusão de código e detecção e correção de erros. Com apenas um clique, você pode pular do editor de código para qualquer janela relacionada ao contexto, incluindo teste, supermétodo, implementação, declaração e muito mais. O PyCharm suporta o Anaconda e muitos pacotes científicos, como NumPy e Matplotlib, para citar apenas dois deles.

Oferece integração com os mais importantes sistemas de controle de versão, e também com um test runner, um profiler e um debugger. Para fechar o negócio, ele também se integra ao Docker e ao Vagrant para fornecer desenvolvimento e conteinerização entre plataformas.

Restúdio

Para os cientistas de dados que preferem a equipe R, o IDE escolhido deve ser Restúdio, por causa de seus muitos recursos. Você pode instalá-lo em uma área de trabalho com Windows, macOS ou Linux ou executá-lo em um navegador da Web se não quiser instalá-lo localmente. Ambas as versões oferecem vantagens como realce de sintaxe, recuo inteligente e conclusão de código. Há um visualizador de dados integrado que é útil quando você precisa navegar por dados tabulares.

O modo de depuração permite visualizar como os dados estão sendo atualizados dinamicamente ao executar um programa ou script passo a passo. Para controle de versão, o RStudio integra suporte para SVN e Git. Uma boa vantagem é a possibilidade de criar gráficos interativos, com Shiny e dá bibliotecas.

Sua caixa de ferramentas pessoal

Neste ponto, você deve ter uma visão completa das ferramentas que deve conhecer para se destacar em ciência de dados. Além disso, esperamos ter fornecido informações suficientes para decidir qual é a opção mais conveniente em cada categoria de ferramenta. Agora cabe a você. A ciência de dados é um campo florescente se desenvolver uma carreira. Mas se você quiser fazer isso, você deve acompanhar as mudanças nas tendências e tecnologias, já que elas ocorrem quase diariamente.