terça-feira, 6 de junho de 2017

10 ferramentas e bibliotecas para trabalhar com data mining e Big Data – Parte 01

PorRodrigo Santana Ferreira em


Olá! Hoje vamos conhecer algumas 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 do site KDnuggets, de maio de 2015 revelou as ferramentas mais usadas pela comunidade de mineração de dados.
Como a lista é bastante extensa, dividi o artigo em duas partes.
Nessa primeira parte, veremos:
  • Python: Agora ninguém poderá te deter!
    • Bibliotecas Python: Faça muito com pouco
    • Anaconda – Swiss Army Knife!
    • Python: Grinding Tools!
  • R: Simplicidade e eficiência!
Na segunda parte, veremos:
  • RapidMiner:  Acelere suas análises através de Workflows.
  • Weka: O Poder da GUI.
  • Machine Learning na prática com Weka
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.
Vamos lá!

Python: agora ninguém poderá te deter!

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!

Jupyter: 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 vantagema utilização de notebooks é para a descrição de análises e seus resultados de forma dinâmica e interativa.
NumPy: 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.
Matplotlib: 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.
Pandas: 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.
Scikit-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: é 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
Scrapy: 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!

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
1bash Anaconda3-4.3.0-Linux-x86_64.sh
Após a instalação confira se a instalação foi bem sucedida
1#imprimindo a versão do python..
2~/anaconda3/bin$ ./python --version
3Python 3.6.0 :: Anaconda 4.3.0 (64-bit)
As principais bibliotecas que abordamos já estão instaladas, veja:
1~/anaconda3/bin$ ./python
2import pandas as pd
3import numpy as np
4import matplotlib as plt
5from sklearn import datasets
Falta apenas instalar o Scrapy e o Pymongo. Isso é bem fácil, veja:
1#instalando o Scrapy
2~/anaconda3/bin$./conda install -c conda-forge Scrapy=1.3.2
1#instalando o Pymongo
2~/anaconda3/bin$./conda install pymongo
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!

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:
1python --version
2Python 2.7.12
Caso não tenha instalado, use o gerenciador de pacotes da sua distribuição, como no exemplo abaixo:
1sudo apt-get install python
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:
1sudo apt-get install python3-all
Após isso é chamar o python3 no terminal como:
1python3
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:
1sudo apt install python-pip
Instale a ferramenta pip, se esta já não estiver instalada:
1sudo pip install jupyter
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
1jupyter notebook
Deve ser exibido o browser com a interface do jupyter notebooks.

Numpy

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:
1sudo pip install numpy
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
1python
Importe a biblioteca e execute o bloco de código como no exemplo abaixo:
1import numpy as np
2a = np.arange(6)
3print (a)
4[0 1 2 3 4 5]
Caso você tenha recebido a saída mostrada acima, a instalação foi bem sucedida.

Matplotlib

Matplotlib é uma biblioteca python usada para plotagem de gráficos 2D. O objetivo dela é descomplicar a plotagem de gráficos e tornar fácil a visualização de dados.
Para instalar faça:
1sudo pip install matplotlib
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:
1python
– importe a biblioteca e execute o bloco de código como no exemplo abaixo:
1import matplotlib.pyplot as plt
2plt.plot([1,2,3,4])
3plt.ylabel('Numeros')
4plt.show()
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

pandas é uma biblioteca open source bastante poderosa. Ela 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:
1sudo apt-get install python-pandas
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
1python
Importe a biblioteca e execute o bloco de código como no exemplo abaixo:
1import pandas as pd
2num = pd.Series([1,3,5,6,'',8])
3print (num)
40    1
51    3
62    5
73    6
84    
95    8
10dtype: object
Se a saída acima foi impressa na tela, sua instalação está ok.

Scikit-learn

Scikit-learn é uma biblioteca simples e eficiente para mineração de dados. Ela contém diversos algoritmos de Machine Learning implementados em Python que podem ser executados facilmente.
Para instalar faça:
1sudo pip install scikit-learn
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
1python
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

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:
1sudo pip install nltk
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.
1import nltk
2nltk.download()
Será exibida a imagem abaixo. Clique em “all” e em OK e aguarde o download.

Scrapy

Scrapy é um framework incrível usado para fazer crawler de páginas 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:
1sudo pip install scrapy
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:
1wget http://launchpadlibrarian.net/109052632/python-support_1.0.15_all.deb
2sudo dpkg -i python-support_1.0.15_all.deb
Após instalar o pacote, repita o comando pip para instalar o Scrapy:
1sudo pip install scrapy
Para testar se tudo ocorreu bem, faça um teste simples, veja:
Execute a ferramenta Scrapy passando o parâmetro ‘version’
1md@server01:~$ scrapy version
2Scrapy 1.3.2
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:
1sudo pip install pymongo
A instalação é bem rápida.
Para testar se tudo ocorreu bem, faça um teste simples, veja:
Conecte no console python
1python
Importe a biblioteca e execute o bloco de código como no exemplo abaixo:
1from pymongo import MongoClient
2client = MongoClient()
3print (client)
O bloco acima, cria uma instância para uma conexão cliente. Se não houve nenhum erro, a biblioteca está ok.

R – simplicidade e eficiência!

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:
O primeiro a ser feito é descobrir codinome do Ubuntu, para isso utilize o seguinte comando:
1lsb_release -a
2Codename: trusty
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:
1vi /etc/apt/source.list
Em seguida adicione as chaves
1sudo gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9
2sudo gpg -a --export E084DAB9 | sudo apt-key add -
Agora atualize a lista de repositórios da sua máquina e instale os pacotes do R
1sudo apt-get update
2sudo apt-get install r-base r-base-dev
Após instalação abra o console do R com o comando “R” (maiúsculo):
1R

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.
1sudo apt-get install libjpeg62
Em seguida instale o R-Studio
1sudo dpkg -i rstudio-1.0.136-amd64.deb
Pronto!
Chame o R-Studio no console com o comando
1rstudio
Se estiver usando Windows, a instalação do R é bem fácil.
Basta fazer o download aqui e seguir o assistente de instalação.
No próximo artigo continuaremos com outras ferramentas. Falaremos do RapidMiner, do Weka e sobre machine learning na prática com Weka.
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.

Nenhum comentário:

Postar um comentário