10 Melhores Ferramentas e Bibliotecas para Trabalhar com Mineração de Dados e Big Data

Olá , hoje vamos conhecer sobre as ferramentas e bibliotecas essenciais para trabalhar com Mineração de Dados e Big Data.

Esse assunto geralmente é bem polêmico, visto que cada profissional tem uma opinião e até mesmo paixão por algumas ferramentas. 🙂

Uma pesquisa em maio de 2015 revelou as ferramentas mais usadas pela comunidade de Mineração de dados do site KDnuggets.

Quer saber quais são as ferramentas essenciais para se trabalhar como Mineração de dados?

Então continue lendo este artigo. Nele, você vai aprender mais sobre:

Se você já gostou do assunto desse artigo, não deixe de compartilhar com seus amigos para que cada vez mais pessoas aprendam sobre as melhores ferramentas de Mineração de Dados e Big Data.

Python: Agora ninguém poderá te deter!

Ferramentas para Mineração de Dados Python

Segundo a pesquisa, Python foi considerada a linguagem de programação mais usada pela comunidade de profissionais de Mineração de dados e Big data.

Python tem inúmeras razões para ser escolhida e podemos citar algumas como simplicidade, clareza e reusabilidade.

A linguagem oferece uma sintaxe simples e objetiva permitindo o programador se focar no problema a ser resolvido sem se preocupar tanto com detalhes de implementações.

Por exigir que o código fonte seja corretamente endentado, sua leitura e compreensão se torna extremamente clara e organizada, contribuindo para o aumento de produtividade entre programadores.

Além da grande comunidade no mundo inteiro, Python possui um vasto e variado conjunto de bibliotecas para se trabalhar com diversas áreas, desde computação científica, redes, segurança e claro análise de dados.

Vamos citar algumas principais bibliotecas e ferramentas indispensáveis para trabalhar com mineração de dados.

Bibliotecas Python: Faça muito com pouco!

Ferramentas para Mineração de Dados Bibliotecas

Ferramentas para Mineração de Dados JupyterJupyter : Aplicação cliente-servidor que permite a edição e execução de notebooks via browser. Notebooks são documentos que contém código e elementos visuais como imagens, links, equações. A principal vantagem na utilização de notebooks é para a descrição de análises e seus resultados de forma dinâmica e interativa.

Ferramentas para Mineração de Dados NumPyNumPy : Biblioteca Python para computação científica. Implementa arrays multidimensionais e permite a fácil execução de operações matemáticas e lógicas como ordenação, seleção, transformações, operações estatísticas básicas etc.

Ferramentas para Mineração de Dados MatplotlibMatplotlib : Biblioteca Python 2D para a visualização e plotagem de gráficos. Pode ser utilizada para gerar diversos tipos de gráficos como histogramas, gráficos de barras, gráficos de pizza tudo de forma fácil e rápida.

Ferramentas para Mineração de Dados PandasPandas : Esta biblioteca talvez seja a mais utilizada para análise de dados. Ela fornece ferramentas para manipulação de estruturas de dados de forma extremamente simples. Operações complexas que trabalham com matrizes e vetores podem ser facilmente realizadas com uma ótima performance.

Ferramentas para Mineração de Dados Scikit-LearnScikit-Learn : Biblioteca Python para trabalhar com Machine Learn (Aprendizado de Máquina). Contém diversos algoritmos implementados, métodos de análise e processamento de dados, métricas de avaliação etc. Essa é uma biblioteca extremamente útil para o cientista de dados.

nltk-logoNLTK: NLTK é uma plataforma líder para a construção de programas Python para trabalhar com dados de linguagem humana. Ele fornece interfaces fáceis de usar para mais de 50 corpora e recursos lexicais como o WordNet, juntamente com um conjunto de bibliotecas de processamento de texto para classificação, tokenização, stemming, tagging, análise e raciocínio semântico

Ferramentas para Mineração de Dados ScrapyScrapy : Biblioteca Python para a raspagem ou coleta de dados a partir da Web. É possível coletar dados de sites, redes sociais, fóruns e diversos outros canais utilizando uma linguagem simples e objetiva. Extremamente útil para a geração de bases de dados.

Anaconda – Swiss Army Knife!

Ferramentas para Mineração de Dados Anaconda

O Anaconda é uma plataforma open source para Data Science.

Esta plataforma contém centenas de pacotes embutidos, é só instalar e pronto.

As principais bibliotecas Python e R para Data Science já estão disponíveis nessa plataforma. Além disso, caso precise instalar alguma biblioteca, use o conda, o gerenciador de pacotes da Anaconda.

Anaconda tem versões para Windows, Linux e OSX, e já vem com o Python instalado, apenas escolha qual a versão você quer trabalhar.

Para fazer download do Anaconda, clique aqui

Siga os passos para instalação conforme o seu ambiente. A instalação é bem simples.Veja:

Executando o instalador

Após a instalação confira se a instalação foi bem sucedida

As principais bibliotecas que abordamos já estão instaladas, veja:

Falta apenas instalar o Scrapy e o Pymongo. Isso é bem fácil, veja:

Pronto!

Temos as bibliotecas Python instaladas em poucos minutos 🙂

Mas, caso você não queira usar o Anaconda, continue lendo artigo para aprender como instalar cada biblioteca individualmente.

Python – Grinding Tools!

Ferramentas Mineração de Dados Python Bibliotecas

Caso você queira instalar as bibliotecas em seu ambiente de forma individual, abaixo estão os passos para instalação de cada uma.

Se você estiver usando um linux é bem provável que o Python já virá instalado na sua distribuição.

No nosso exemplo, usamos o Ubuntu. Neste, o Python já vem instalado na versão 2.7.12. Veja:

Caso não tenha instalado, use o gerenciador de pacotes da sua distribuição, como no exemplo abaixo:

No momento em que escrevo esse artigo, o Python se encontra na versão 3.6.0

É nessa versão que vamos trabalhar aqui, mas fique a vontade para usar a versão que melhor atenda você.

Para instalar o Python3 faça:

Após isso é chamar o python3 no terminal como:

Caso tenha alguma dúvida, consulte a documentação oficial aqui

Agora que temos o Python instalado, vamos começar instalando a ferramenta Jupyter Notebooks.

Esta é sem dúvida uma das melhores ferramentas para se trabalhar com Mineração de dados e Big data.

É uma verdadeira mão na roda, pois, através de um browser podemos emitir instruções python, plotar gráficos ou manipular dados de uma forma intuitiva e simples.

Tudo isso de forma rápida e sem ter que escrever tantos programas. Com os Notebooks seus scripts ficam documentados e é fácil de compartilhar com outros programadores.

Para instalar o Jupyter Notebooks faça:

Instale a ferramenta pip, se esta já não estiver instalada:

Em seguida instale o jupyter..

Pronto, com o jupyter instalado, inicie a aplicação para ter certeza que não houve erro na instalação

Deve ser exibido o browser com a interface do jupyter notebooks.

Numpy
O NumPy como já dito anteriormente, é uma biblioteca muito usada, pois, facilita bastante operações matemáticas e lógicas como ordenação, seleção, transformações, operações estatísticas básicas.

Para instalar faça:

O processo é bem simples e rápido. Em poucos segundos a biblioteca já está instalada e pronta para uso.

Para testar se tudo ocorreu bem, faça um teste simples, veja:

Conecte no console python

Importe a biblioteca e execute o bloco de código como no exemplo abaixo:

Caso vocẽ tenha recebido a saída mostrada acima, a instalação foi bem sucedida.

Matplotlib

O Matplotlib é uma biblioteca python usada para plotagem de gráficos 2D.
O objetivo desta é descomplicar a plotagem de gráficos e tornar fácil a visualização de dados.

Para instalar faça:

Aguarde um pouco até a conclusão da instalação.
Para testar se tudo ocorreu bem, faça um teste simples, veja:
Conecte no console python

Importe a biblioteca e execute o bloco de código como no exemplo abaixo:

Ferramentas para Mineração de Dados Matplolib gráfico

O código acima deverá plotar um gráfico simples na tela conforme a imagem acima. Se deu tudo certo, sua instalação está Ok.

Pandas

A pandas é uma biblioteca open source bastante poderosa.

Esta implementa uma forma fácil e de alto desempenho para trabalhar com estruturas de dados.
Particularmente é a biblioteca que eu mais gosto 😉

Para instalar faça:

Aguarde a instalação da biblioteca. Esta deve demorar mais um pouco, pois, possui diversas dependências.

Para testar se tudo ocorreu bem, faça um teste simples, veja:

Conecte no console python

Importe a biblioteca e execute o bloco de código como no exemplo abaixo:

Se a saída acima foi impressa na tela, sua instalação está ok.

Scikit-learn

A Scikit-learn é uma biblioteca simples e eficiente para mineração de dados
Esta contém diversos algoritmos de Machine Learning implementados em Python que podem ser executados facilmente.
Para instalar faça:

Aguarde alguns instantes e pronto já está instalada e pronta para trabalhar.
Para testar se tudo ocorreu bem, faça um teste simples, veja:
Conecte no console python

Conecte no console python

Importe a biblioteca e execute o bloco de código como no exemplo abaixo:

Este deve imprimir a estrutura do dataset Iris. Se foi impresso sem qualquer erro, a biblioteca foi instalada com sucesso.

NLTK

o NLTK é um kit de ferramentas para processamento da linguagem natural.

Com este é possível trabalhar com técnicas de NLP de forma fácil e intuitiva, pela sua vasta quantidade de métodos existentes, o NLTK é um kit obrigatório quando o assunto é mineração de textos ou linguística.

Para instalar faça:

Após instalar, conecte no console e faça o download do corpus da NLTK. Este contém diversos datasets para testes, textos e é bem útil. Eu normalmente faço download de tudo.

Será exibida a imagem abaixo. Clique em “all” e em OK e aguarde o download.

Ferramentas para Mineração de Dados NLTK

Scrapy

O Scrapy é um framework incrível usado para fazer crawler de paginas na Web.

Com o scrapy é possível construir crawlers para extração de dados de páginas na web de forma fácil, e simples.

Para instalar faça:

Caso receba o seguinte erro:
scrapy : Depends: python-support (>= 0.90.0) but it is not installable
E: Unable to correct problems, you have held broken packages

Instale o pacote python-support, pois, na versão do Ubuntu 16.04 esse pacote foi removido. Esse pacote contém as bibliotecas que são dependências para o Scrapy. Faça:

Após instalar o pacote, repita o comando pip para instalar o Scrapy:

Para testar se tudo ocorreu bem, faça um teste simples, veja:

Execute a ferramenta Scrapy passando o parâmetro ‘version’

Se não foi emitido nenhum erro, a instalação está ok.

Pymongo

PyMongo é uma biblioteca de acesso ao banco de dados MongoDB.

Sua implementação facilita a interação com o SGBD, permitindo emitir instruções ao banco de dados através de código python.

Para instalar faça:

A instalação é bem rápida.

Para testar se tudo ocorreu bem, faça um teste simples, veja:

Conecte no console python

Importe a biblioteca e execute o bloco de código como no exemplo abaixo:

O bloco acima, cria uma instância para uma conexão cliente. Se não houve nenhum erro, a biblioteca está ok.

Coloque o seu e-mail abaixo para receber gratuitamente as atualizações do blog!

 

R – Simplicidade e Eficiência!

Ferramentas para Mineração de Dados R

R é uma linguagem de programação extremamente poderosa e que tem um espaço em destaque quando o assunto é Data Science.

Famosa pela sua facilidade para fazer análise de dados, processar instruções estatísticas e modelos gráficos.

Para instalar o R faça:
O primeiro a ser feito é descobrir codinome do Ubuntu, para isso utilize o seguinte comando:

No site do R tem a lista de repositórios que mantém o projeto.

Escolha o repositório de onde você quer fazer o download.

No meu caso escolhi o repositório da USP no Brasil

Importante: Deve haver um espaço entre o link e o nome da versão do seu ubuntu

Adicione o endereço do repositório e o codinome do seu Ubuntu no final do arquivo /etc/apt/source.list. No meu caso ficou:

Em seguida adicione as chaves

Agora atualize a lista de repositórios da sua máquina e instale os pacotes do R

Após instalação abra o console do R com o comando “R” (maiúsculo):

R-Studio

Quem trabalha com R sabe que existem diversas ferramentas para ajudar o desenvolvedor a trabalhar com essa linguagem.

A ferramenta que mais se destaca é o R-studio.

Esta é uma IDE open source para R muito útil pois facilita bastante o desenvolvimento.

Nesse artigo vamos instalar a versão R-Studio Desktop dessa ferramenta.

Para instalar o R-Studio no Ubuntu faça download do pacote aqui

No meu caso precisei instalar a seguinte biblioteca, pois, essa é uma dependência para instalação do R-Studio.

Em seguida instale o R-Studio

Pronto!
Chame o R-Studio no console com o comando

Ferramentas para Mineração de Dados Rstudio

Se estiver usando Windows, a instalação do R é bem fácil.

Basta fazer o download aqui e seguir o assistente de instalação

Ferramentas Essenciais

RapidMiner – Acelere suas análises através de Workflows

Ferramentas para Mineração de Dados Rapidminer

RapidMiner como o nome já diz é uma plataforma para trabalhar com DataScience de forma rápida, simples e visual.

As ferramentas oferecidas fornecem uma interface gráfica rica com objetos e processos que simplificam as diversas tarefas necessárias para trabalhar mineração de dados.

Através do RapidMiner Studio é possível criar workflows extremamente intuitivos com objetos que executam todas as tarefas do processo de mineração de dados, como, leitura e carregamento dos dados, limpeza e transformação, filtragem, modelagem, aplicação de algoritmos de Machine Learning e visualização dos resultados.

O diferencial do RapidMiner é a facilidade e velocidade para criar modelos preditivos já que não é necessário o trabalho de codificação e transformação dos dados.  Dessa forma o processo de validação e ajuste do modelo se torna simples.

Os três produtos oferecidos são o RapidMiner Studio, RapidMiner Server e RapidMiner Radoop.

  • RapidMiner Studio: Utilizado para desenhar os Workflows que mapeiam todo o processo de mineração de dados desde o carregamento dos dados até a visualização dos resultados.
  • RapidMiner Server: Utilizado para gerenciar seus modelos, compartilhar com outros usuários.
  • RapidMiner Radoop: Utilizado para compilar e executar workflows armazenados no Hadoop.

A plataforma oferece um tipo de licenciamento gratuito que permite a utilização do Rapidminer Studio com uma base de dados de até 10 mil registros.

Veja na imagem abaixo um exemplo de Workflow criado no RapidMiner.

Ferramentas para Mineração de Dados Rapidminer WorkFlowComo você pode ver é bem simples usar o Rapiminer.

Como o Rapidminer simplifica vários passos, o desenvolvedor não precisa instalar diversas ferramentas para realizar seu trabalho.

Já ta tudo pronto, em um só lugar 🙂

Coloque o seu e-mail abaixo para receber gratuitamente as atualizações do blog!


Weka – O Poder da GUI!

Ferramentas para Mineração de Dados Weka

Weka é um projeto open source que significa Waikato Environment for Knowledge Analysis – Ambiente para Análise de Conhecimento Waikato. Foi criado como um projeto de Machine Learning pela universidade de Waikato na Nova Zelândia.

O projeto tem o objetivo de disseminar técnicas de Machine Learning através da disponibilização do software para utilização de pesquisadores, alunos e para resolver problemas reais da indústria além de contribuir com a ciência pela mundo.

O grande diferencial do Weka além de todo o seu arsenal de métodos e algoritmos é a sua interface gráfica (GUI – Graphical User Interface) que torna as tarefas de mineração de dados extremamente fáceis e rápidas.

Através da interface é possível consultar dados em sistemas de bancos de dados, executar métodos de processamento de dados, executar e configurar parâmetros dos algoritmos e visualizar os resultados através de gráficos. Tudo isso sem precisar escrever comandos ou programar.

O weka tem funcionalidades para manipulação de bases de dados (pre-processamento), interface para visualização de dados, e ainda disponível diversos algoritmos de machine learning e Data Mining. Isso facilita muito a vida dos seus usuários que não tem que dominar diversas ferramentas para fazer seu trabalho

Para quem gosta de escrever comandos ou programar scripts o Weka fornece também acesso a sua vasta coleção de técnicas e algoritmos via API.

Dessa forma podemos utilizar seus recursos em programas Java. Consulte a documentação aqui.

O Weka é uma ferramenta desenvolvida em Java e pode ser baixado e utilizado livremente em diferentes plataformas como Windows, Linux e Mac.

Instalando o Weka

Para instalar e executar o Weka é super simples.

O primeiro passo é fazer o download neste link conforme seu sistema operacional. Observe que para o Weka funcionar é necessário a instalação do ambiente de execução do Java (JRE).

No Ubuntu para instalar o JRE, basta instalar o pacote o default-jre conforme o comando abaixo:

Após instalar o Java, descompacte o pacote do Weka, e em seguida, execute sua interface gráfica como no exemplo abaixo:

Será exibida a interface como na imagem abaixo:

Ferramentas para Mineração de Dados Weka GUI

Pronto, a instalação foi feita com sucesso!

Para o ambiente Windows é possível baixar o Weka juntamente com o Java, após isso é só seguir o assistente de instalação normalmente.

Machine Learning na prática com Weka

Agora que já conhecemos e instalamos as principais ferramentas e bibliotecas para trabalhar com Mineração de Dados, vamos utilizar de forma rápida e objetiva o Weka para carregar um dataset de testes e executar nosso primeiro algoritmo de Machine Learning.

Para isso siga os passos abaixo:

Inicie o Weka conforme instruções da sessão anterior e clique no menu Explorer.

Na tela Weka Explorer clique no botão Open File e selecione o diretório data dentro do diretório de instalação do Weka conforme imagens abaixo.weka-explorerweka-data-directory

Selecione o dataset iris.arff que está dentro do diretório data e clique em Open.

Este é um dataset simples e bem pequeno que já vem com Weka para testes.

weka-iris-dataset

Após carregar o dataset nesta tela temos uma visão geral, veja que temos 5 atributos (colunas) e 150 instâncias (linhas) e contem 3 classes (setosa, versicolor e virginica).

As classes ou rótulos são os tipos reais das flores. Essa classificação foi feita por pessoas especialistas no assunto. Caso queira saber mais sobre esse dataset, leia aqui.

Podemos fazer um pré-processamento da base antes de rodar algum algoritmo. Como por exemplo, excluir uma coluna, ou modelar a base em um formato diferente.

Para este exemplo vamos deixar como está. O objetivo aqui é usar esse dataset para aplicar um algoritmo de Machine Learning que seja capaz de classificar corretamente a espécie de alguma flor baseado nos seus atributos.

Classificação

Agora vamos executar o algoritmo de classificação, para isso clique na aba Classify, selecione choose, navegue até trees e selecione o algoritmo J48 conforme imagem abaixo.

weka-algoritmo-j48J48 é uma implementação do algoritmo C4.5 na linguagem Java.

O algoritmo usa uma arvore de decisão construída a partir dos dados de treino.

Essas árvores são hipóteses usadas para predizer uma probabilidade de uma instância ser de uma determinada classe. Para entender mais sobre esse algoritmo, leia aqui.

Observe que na aba Test Options está selecionado a opção Cross Validation com 10 folds. Isso significa que o dataset será treinado 9 vezes com partes distintas (folds) dos dados.Por exemplo, uma parte do dado será usada como teste para classificação enquanto outras 9 partes serão usadas para treinar o modelo.

Dessa forma o algoritmo é testado com todas as partes dos dados evitando erros de variância. Para saber mais detalhes sobre essa técnica, clique aqui. Clique em Start para executar o algoritmo.

Resultados

Após alguns segundos, o algoritmo conclui sua tarefa e é exibida a tela de resultados.

Na seção Summary , verifique que de 150 instâncias que foram testadas, o algoritmo acertou 144 (Correctly Classified Instances).

Isso significa que 96% das instâncias testadas foram corretamente classificadas.
Esta métrica é chamada de Acurácia, ou seja, nosso algoritmo teve 96% de acurácia. Caso queira saber mais sobre essa métrica, leia aqui.

Na seção Detailed Accuracy By Class temos a acurácia por classe. Na seção Confusion Matrix é possível investigar como se saiu a classificação de cada classe comparada aos valores reais.

Por exemplo, perceba que a classe a (Iris-setosa) foi classificada 1 vez como classe b (Iris-versicolor), além disso pode se observar que a classe b (Iris-versicolor) foi classificada 3 vezes como classe c (Iris-virginica) e ainda que a classe c (Iris-virginica) foi classificada 2 vezes como classe b (Iris-versicolor).

Com essa tabela fica fácil visualizar quais classes estão sendo classificadas erroneamente como sendo de outras classes.

weka-j48-resultadosVárias outras métricas devem ser avaliadas para medir o desempenho do algoritmo em uma tarefa de classificação. Iremos aprofundar nestes detalhes em outros artigos.

Conclusão

Nesse artigo vimos as ferramentas e bibliotecas essenciais para se trabalhar com Mineração de Dados e Big data.

Começamos com a linguagem Python e todas as suas bibliotecas que facilitam o trabalho de Mineração de Dados além de oferecer um grande apoio da comunidade por ser uma tecnologia extremamente disseminada.

Vimos como instalar o pacote Anaconda e também as bibliotecas individualmente.

Logo após vimos como instalar o R e sua IDE de desenvolvimento RStudio para trabalhar com análise de dados.

Além disso conhecemos e instalamos os projetos Weka e RapidMiner e vimos como essas ferramentas são poderosas para realizar tarefas de Mineração de Dados de forma rápida e produtiva.

Com o Weka também fizemos uma tarefa de Machine Learning de forma bem intuitiva, a ferramenta funcionou muito bem.

Existem diversas ferramentas, bibliotecas e plataformas para trabalhar com Mineração de Dados e Big Data . Saber utiliza-las de forma correta, pode trazer diversos benefícios para o cientista de dados como produtividade, clareza e facilidade.

Se você gostou desse artigo não se esqueça de assinar nossa newsletter para se manter informado sobre novos artigos e compartilhe com seus amigos!

Vamos criar uma comunidade de mineradores! 🙂

Se junte a nossa comunidade e receba atualizações de artigos, tutoriais e muito mais!

Insira o seu endereço de email abaixo para receber grátis as atualizações do blog!

  • Felipe Santana

    ..