Вы находитесь на странице: 1из 12

9/17/2019 Mais 10 bibliotecas de Data Science para Python que ninguém te conta

Mais 10 bibliotecas de Data Science


para Python que ninguém te conta
Vem cá pra eu te contar um negócio

Paulo Vasconcellos
Sep 16 · 9 min read

Há quase um ano eu crie um post falando sobre 10 bibliotecas de Data Science para
Python que ninguém te conta. Desde então, recebi muitos feedbacks positivos de
pessoas que não conheciam as bibliotecas que citei, e sobre como o post as ajudou em
seus projetos. Fico muito feliz em ajudar vocês a descobrirem novas formas de deixar

https://medium.com/data-hackers/mais-10-bibliotecas-de-data-science-para-python-que-ninguém-te-conta-1a636837a404 1/12
9/17/2019 Mais 10 bibliotecas de Data Science para Python que ninguém te conta

seu trabalho mais fluído e acelerado. Pensando nisso, decidi criar mais um artigo
listando outras algumas bibliotecas que você talvez não conheça. Vambora?

10 bibliotecas de Data Science para Python


que ninguém te conta
Conheça bibliotecas que são uma mão na roda,
mas que ninguém fala pra você
paulovasconcellos.com.br

Pendulum
Você deixará de odiar operações entre datas em Python

É sempre um saco trabalhar com datas em Python. Bibliotecas built-in como a datetime

até ajudam bastante, mas eu sempre preciso dá aquela pesquisada no Stack Overflow
pra saber coisas que me fazem sentir burro quando descubro a resposta.

Para nos ajudar nisso, existe Pendulum: uma biblioteca feita única e exclusivamente
para fazer operações com datetime sem que a gente perca um ou dois neurônios no
processo.

Quer saber a hora atual China? pendulum.now('Asia/China')

Quer adicionar X dias, meses ou anos na sua data? now.add(days=7)

Melhor que isso, só se tivesse uma lib voltasse no tempo. Peraí, talvez tenha.

https://medium.com/data-hackers/mais-10-bibliotecas-de-data-science-para-python-que-ninguém-te-conta-1a636837a404 2/12
9/17/2019 Mais 10 bibliotecas de Data Science para Python que ninguém te conta

Para instalar, abra um terminal e digite: pip install pendulum

Site oficial do Pendulum

PyOD
Detecte (quase) qualquer outlier

Detecção de outliers pode ser complicado algumas vezes. Nem sempre analisar o
intervalo interquartil em um boxplot vai ser suficiente para identificar um valor
aberrante, principalmente para problemas de Machine Learning. Para esses casos mais
complicados existe o PyOD.

PyOD é uma biblioteca que junta uma série de técnicas para detecção de outlier em
dados multivariados. Uma outra coisa bem legal do PyOD é que ele é uma excelente
opção para quem está lidando com problemas de detecção de anomalias. Dentre
as técnicas que dispõe, PyOD tem desde métodos de PCA até ensembles, e o mais legal é
que eles sempre referenciam os papers que consideraram para implementar cada
opção.

https://medium.com/data-hackers/mais-10-bibliotecas-de-data-science-para-python-que-ninguém-te-conta-1a636837a404 3/12
9/17/2019 Mais 10 bibliotecas de Data Science para Python que ninguém te conta

Para instalar, abra um terminal e digite: pip install pyod

Site do pyOD

Qgrid
Filtre, explore e limpe Pandas DataFrame facilmente

Eu sei. Se você me conhece, sabe que não sou muito fã de ferramentas point-and-click,
mas nessa aqui eu não tive escolha: Qgrid acelera muito a exploração inicial de
DataFrames.

Geralmente, brinco com o Qgrid logo no começo das minhas análises, só pra dar uma
explorada rápida no DataFrame — quando é grande o suficiente para valer a pena — e
ver se já consigo identificar algo interessante ali. Devo dizer que quase sempre eu
removo a importação do Qgrid após essa fase inicial, mas ele já me ajudou bem em
alguns projetos, além de permitir exploração, filtragem e ordenação de forma fácil caso
queira disponibilizar o notebook para alguém não técnico dar uma olhada.

Para instalar, abra um terminal e digite: pip install qgrid

Github do Qgrid

Vaex
https://medium.com/data-hackers/mais-10-bibliotecas-de-data-science-para-python-que-ninguém-te-conta-1a636837a404 4/12
9/17/2019 Mais 10 bibliotecas de Data Science para Python que ninguém te conta

Tire as crianças da sala, porque isso aqui é pornografia

Já teve que trabalhar naquele dataset gigante e o Pandas crashava dizendo que acabou
com sua memória? É claro que existem dezenas de opções para lidar com isso — o
low_memory do Pandas; ler o arquivo em chunks; Spark; Apache Arrow; rezar um Pai
Nosso, etc. Mas, hoje eu quero trazer mais uma opção para considerar: a lib Vaex.

Trata-se de uma biblioteca que foi feita para visualizar e explorar datasets
tabulares gigantes. Uma das promessas dela é permitir fazer operações de agregação
— média, some, min, … — a uma velocidade de um bilhão de linhas por segundo. É
coisa pra Carvalho!

Vaex possui integração com Datashader (Fonte)

Embora o Vaex seja bastante impressionante em processamento, o que eu mais acho


irado nele é sua integração com bibliotecas de dataviz como Datashader, que tem um
lugar especial no meu coração. Datashader é uma lib feita para plotar bilhões de data

https://medium.com/data-hackers/mais-10-bibliotecas-de-data-science-para-python-que-ninguém-te-conta-1a636837a404 5/12
9/17/2019 Mais 10 bibliotecas de Data Science para Python que ninguém te conta

points, e que rendeu uma das visualizações mais legais que já vi. Ah, vale lembrar que
ele também possui módulos de Machine Learning, ou seja, é bem completinho.

Para instalar, abra um terminal e digite: pip install vaex

Github do Vaex

PyOxidizer
E se você pudesse transformar seu código em um arquivo executável?

Já pensou criar um seu_app.exe com todo seu código Python, incluindo as


dependências? É isso que o PyOxidizer faz por você. Escrito em Rust, esse utilitário te
ajudará a encapsular sua aplicação para funcionar em qualquer máquina,
principalmente nas que não tem Python instalado. Na verdade, o PyOxidizer nem é
uma lib Python e não deveria estar nessa lista, mas você pegou o espírito.

A parte tensa do PyOxidizer é que você precisa instalar Rust na máquina para utilizá-lo.
A parte boa é que você pode incluí-lo no pipeline do seu código e fazer aquele processo
de Continuos Integration bonito. De toda forma, PyOxidizer é uma opção que te dá mais
versatilidade ao seu trabalho.

Github do PyOxidizer

FACETS
Visualize datasets de Machine Learning

O Google Facets é uma biblioteca que lhe permitirá visualizar seu dataset para ter desde
uma visão geral dos dados até uma visão mais detalhada de cada classe. O Facets
possui duas principais ferramentas que te ajudarão a entender seus dados: a Facets
Overview e a Facets Dive.

https://medium.com/data-hackers/mais-10-bibliotecas-de-data-science-para-python-que-ninguém-te-conta-1a636837a404 6/12
9/17/2019 Mais 10 bibliotecas de Data Science para Python que ninguém te conta

Facets Overview (Fonte)

A primeira, como o nome diz, lhe dará uma visão geral do seu dataset, dividindo ele por
cada classe dos seus dados. Por exemplo, para um dataset de previsão de espécie de
planta, para cada espécie ele irá te retornar a quantidade de dados nulos,
frequência, distribuição, dentre outras métricas. Se você leu meu post passado, vai
ver que essa parte do Facets se assemelha muito ao Pandas Profiling. Contudo, o
Pandas Profiling pode ficar um pouco pesado, dependendo do tamanho do seu dataset,
enquanto o Facets, além de lidar com esse problema, divide suas visualizações por cada
classe no seu conjunto de dados.

Facets Dive em ação (Fonte)

Já o Facets Dive é onde o nosso amiguinho brilha. Ele cria uma interface onde você
pode explorar e visualizar diferentes combinações de filtro, a fim de analisar como
seu dado está distribuído. Essa ferramenta te ajudará muito a entender o
https://medium.com/data-hackers/mais-10-bibliotecas-de-data-science-para-python-que-ninguém-te-conta-1a636837a404 7/12
9/17/2019 Mais 10 bibliotecas de Data Science para Python que ninguém te conta

relacionamento entre as variáveis do seu dataset, além de deixar muito interativo e


acelerado o processo de análise exploratória.

Github do Facets

Yellowbrick
Diagnóstico de modelos

Yellowbrick é uma biblioteca para diagnóstico e visualização de modelos de


Machine Learning. Feito tanto para modelos supervisionados e não-supervisionados,
Yellowbrick te oferece uma série de visualizações para entender e diagnosticar seu
modelo. Por exemplo, para problemas de classificação, a lib te oferece gráficos para
métricas como prediction error, matriz de confusão, precision e recall. O mesmo vale
para problemas não-supervisionados, como clustering, onde Yellowbrick oferece
visualizações como análise de silhueta, elbow method e por aí vai.

https://medium.com/data-hackers/mais-10-bibliotecas-de-data-science-para-python-que-ninguém-te-conta-1a636837a404 8/12
9/17/2019 Mais 10 bibliotecas de Data Science para Python que ninguém te conta

Algumas das visualizações do Yellowbrick (Fonte)

O mais legal do Yellowbrick é que ele funciona como uma extensão do Scikit-
learn. Se você tem conhecimento da biblioteca, brincar com o Yellowbrick não será
problema.

Para instalar, abra um terminal e digite: pip install yellowbrick

Github do Yellowbrick

Pandarallel
Paralelismo + Pandas = ❤

Se você já teve que fazer uma operação no Pandas que exigia muito da sua CPU, você já
testemunhou seu computador chorar. Pandarallel vem para ajudar nessa operações
onde você mete aquele apply() junto com iterrows() só pra ver o parquinho pegar
fogo. Se liga só nesse benchmark:

https://medium.com/data-hackers/mais-10-bibliotecas-de-data-science-para-python-que-ninguém-te-conta-1a636837a404 9/12
9/17/2019 Mais 10 bibliotecas de Data Science para Python que ninguém te conta

A magia do Pandarallel — que eu acabei de descobrir que não consigo pronunciar


sem ter uma cãibra na língua — está em dividir a carga do seu trabalho em todos os
cores da sua CPU, deixando o processo menos custoso.

Um detalhe importante sobre a biblioteca — e que está inserido em seu Github também
— é que paralelismo tem um preço. Novos processos são iniciados e há mudanças no
seu código que podem ser significativas. Somente utilize paralelismo quando você
tem uma quantidade de dados que justifique esse custo. Para pouco dado, o bom e
velho código limpo já resolve o problema.

Para instalar, abra um terminal e digite: pip install pandarallel

Github do Pandarallel

Luminol
Biblioteca do Linkedin para detecção de Anomalia

Quando estava trabalhando em um problema de detecção de anomalia, recorri a


biblioteca PyOD — que mencionei anteriormente — para ver se conseguia me ajudar.
Como dito pelo próprio criador nessa issue no Github, PyOD não está equipado com
modelos de detecção para time series, o que me fez a recorrer a papers. Durante minha
pesquisa, esbarrei nessa criança aqui que me deu uma luz ao falar de um algoritmo
chamado Time Series Bitmap. Após pesquisar um pouco mais, descubro que o pessoal
lindo do Linkedin sintetizou o algoritmo nessa biblioteca chamada Luminol. Quem
quiser conhecer um pouco mais sobre a motivação da galera do Linkedin, deem uma
olhada nessa apresentação:

Robust anomaly detection for real user monitori…


monitori…

https://medium.com/data-hackers/mais-10-bibliotecas-de-data-science-para-python-que-ninguém-te-conta-1a636837a404 10/12
9/17/2019 Mais 10 bibliotecas de Data Science para Python que ninguém te conta

Luminol é uma lib levíssima que implementa vários algoritmos de detecção de


anomalias para séries temporais, que funcionam melhores do que algoritmos como
One-class SVM, por exemplo. Luminol tem uma série de aplicações, que vão desde
detectar anomalias em rede — quantidade de escrita, requisições, etc. — até aplicações
em saúde, com detecção de anomalia em batimentos cardíacos.

Para instalar, abra um terminal e digite: pip install luminol

Github do Luminol

Cookiecutter Data Science


Padronização e estruturação de projetos de Data Science

O Cookiecutter veio para por ordem na bagunça que é quando cientistas de dados
criam novos projetos de Data Science. Geralmente, cada um tem sua própria
estruturação de projetos, o que dificulta não só contribuição para o projeto, mas
também simplesmente entender onde as coisas estão.

Quando se está em um time, o Cookiecutter tem um papel muito importante na


padronização de código de projeto. Através do terminal, você irá informar dados
importante do seu projeto, como: nome, descrição, autor, repositório, bucket no S3
(opcional), e até a licença. Após isso, Cookiecutter irá criar toda a estrutura de pastas e
arquivos para seu projeto, que vão desde um README muito bacana até a licença e
template de documentação para o código.

Para instalar, abra um terminal e digite: pip install cookiecutter

Github do Cookiecutter

Menção honrosa: FUCKIT


Por favor, não use isso

https://medium.com/data-hackers/mais-10-bibliotecas-de-data-science-para-python-que-ninguém-te-conta-1a636837a404 11/12
9/17/2019 Mais 10 bibliotecas de Data Science para Python que ninguém te conta

Seu código olhando para o Pytest

Quer que seu código execute SEMPRE, independente se tiver erro ou não? FUCK IT! É
exatamente isso que essa biblioteca (supostamente) faz. FuckIt.py é uma paródia a
uma lib de mesmo nome para JavaScript que se apresenta como “um rolo compressor
de erros no Python”.

Claro que não recomendo que você entre no Github da biblioteca e instale ela na sua
máquina. Por favor, não insistam. NÃO execute o código abaixo para instalar a
biblioteca:

git clone https://github.com/ajalt/fuckitpy.git


cd fuckitpy
python setup.py

. . .

E aí, curtiu as dicas de bibliotecas de Data Science para Python? Conhece mais alguma
que não está aqui na lista? Caso queira ficar sabendo sobre mais assuntos relacionados
a ML e DS, me segue lá no Twitter (onde eu falo besteiras) e no Linkedin (onde eu falo
besteiras de forma mais séria). Não esquece de falar que veio pelo blog, tá bom? :)

Python Data Science Dicas

About Help Legal

https://medium.com/data-hackers/mais-10-bibliotecas-de-data-science-para-python-que-ninguém-te-conta-1a636837a404 12/12

Вам также может понравиться