5 Bibliotecas úteis e práticas em Ciência de Dados

Um olhar breve em 5 bibliotecas Python úteis para análise de dados, processamento de linguagem natural (PNL) e visualização.

Existem vários artigos detalhando bibliotecas eficazes para Ciência de Dados, bem como pacotes e módulos, então tentaremos focar na escolha não só das principais bibliotecas, mas também as que são únicas para reduzir as redundâncias. Como cientista de dados, é comum ouvir que a parte de processamento de consome muito do tempo no trabalho diário. Além disso, veremos não apenas a abordagem de dados numéricos, mas também a manipulação de dados de texto, que exigem muito pré-processamento e podem ser amparados por bibliotecas adequadas.

1. Pandas Profiling

Uma biblioteca essencial para os Cientistas de Dados que estão concentrando seus esforços na análise exploratória de dados. Como o nome indica, ele usa pandas para traçar o perfil dos dados, ou mais especificamente, o perfil do DataFrame.

  • inferência tipo
  • valores únicos
  • valores faltantes
  • estatísticas de dispersão (por exemplo, mediana)
  • estatísticas descritivas (por exemplo, distorção)
  • Histogramas
  • correlações (por exemplo, Pearson)
  • análise de texto
pip install -U pandas-profiling[notebook]
jupyter nbextension enable --py widgetsnbextension
Dessa forma também funciona:
pip install pandas-profiling
import pandas_profiling

Abaixo está um exemplo de uma das visualizações podemos acessar a partir do recurso do Pandas Profiling, visualizar um gráfico de correlação facilmente interpretável, codificado por intensidade de cores.

Exemplo de plotagem de correlação

Se tivermos um conjunto de dados grande, este relatório de perfil pode nos poupar bastante tempo. Minha solução é simplesmente usar conjuntos de dados menores ou experimentar um conjunto menor de dados que ainda é representativo do conjunto de dados global. No geral, é uma ótima maneira de verificar a integridade e os padrões dos dados antes de inserí-los em um processo/modelo de Ciência de Dados e algoritmo de Machine Learning.

2. NLTK

É um poderoso kit de ferramentas. Um termo comumente associado é NLP, ou processamento de linguagem natural — é o ramo da Ciência de Dados (e outras disciplinas) que incorpora a digestão de texto mais facilmente — no nosso caso, com a programação python. Depois, podemos tirar todas as vantagens e começar a analisar texto df forma mais prática.

  • texto tokenizador (por exemplo,[“tokenizing”, “text”])
  • Pos, ou marcação parcial da fala
  • stemming e lemmatização
pip install nltk
import nltk
import nltkthing_to_tokenize = “a long sentence with words”tokens = nltk.word_tokenize(thing_to_tokenize)tokensreturns:[“a”, “long”, “sentence”, “with”, “words”]

É fundamental dissecar cada palavra de um texto ou frase para que ela possa ser analisada. As palavras precisam ser separadas, bem como caracteres em alguns casos. Em seguida, eles podem ser marcados, contados e novas métricas para o algoritmo de Machine Learning podem usar essas respectivas entradas para criar previsões.

Outra característica útil de utilizar NLTK é que o texto pode ser adequado para análise de sentimentos. A análise de sentimentos é importante em muitos negócios, especialmente aqueles com avaliações de clientes. Agora que estamos falando de análise de sentimento, vamos olhar para outra biblioteca que ajuda na análise rápida do sentimento.

3. TextBlob

TextBlob compartilha muitos dos mesmos benefícios da NLTK, no entanto, sua função de análise de sentimento se destaca. Além da análise, também possui funções para apoiar a classificação utilizando Naive Bayes e Árvores de Decisão.

  • Token
  • Marcação de PDV
  • Classificação
  • correção ortográfica
  • análise sentimento
pip install textblobfrom textblob import TextBlob

Análise de Sentimento:

review = TextBlob(“here is a great text blob about wonderful Data Science”)review.sentimentreturns:Sentiment(polarity=0.80, subjectivity = 0.44)

Pomodes esperar que as saídas sejam:

  • polaridade tenha uma faixa de [-1.0, 1.0]
  • subjetividade está entre [0.0, 1.0].

Classificação:

from textblob.classifiers import NaiveBayesClassifiertraining_data = [(‘sentence example good one’, ‘pos’), (‘sentence example great two’, ‘pos’), (‘sentence example bad three’, ‘neg’), (‘sentence example worse four’, ‘neg’)]testing_data = [(‘sentence example good’, ‘pos’), (‘sentence example great’, ‘pos’)]cl = NaiveBayesClassifier(training_data)

Você pode classificar o texto com este classificador que retornará uma ou ou mais saídas.

Estas linhas simples de código do textblob fornecem análise de sentimento e classificação extremamente poderosas e úteis.

4. pyLDAvis

Outra ferramenta que funciona fora do PNL é pyLDAvis. É uma biblioteca que serve como ferramenta interativa de visualização de modelos de tópicos.

Por exemplo, quando executar modelagem de tópicos usando LDA (alocação latente de Dirichlet), teremos uma saída de tópicos como saída da célula que pode ser bem difícil de ler. No entanto, é mais conveniente e prático quando temos um bom resumo visual, como é com pyLDAvis.

  • mostra os 30 termos mais destacados
  • tem um ajustador interativo que permite deslizar a métrica de relevância
  • exibe os principais tópicos com PC1 no eixo x e PC2 no eixo y
  • exibe os tópicos relativos ao tamanho
  • em geral, uma maneira impressionante de visualizar assuntos de uma forma que, possivelmente, quaisquer outras bibliotecas não podem realizar
pip install pyldavis
import pyldavis

Para ver o melhor exemplo, aqui está uma referência ao Jupyter Notebook que mostra as muitas propriedades únicas e benéficas desta biblioteca de Ciência de Dados.

5. NetworkX

Este pacote de Ciência de Dados, NetworkX, concentra seus pontos fortes em visualizações biológicas, sociais e de redes de infraestrutura.

  • criando gráficos, nódulos e bordas
  • exame de elementos de um gráfico
  • construções de gráficos
  • atributos para gráficos
  • multigrafias
  • geradores e operações de gráficos
pip install networkximport networkx

Criando um gráfico

import networkx
graph = networkx.Graph()

Como podemos ver, há muitas bibliotecas úteis de Ciência de Dados que podem ser acessadas de forma prática. Aqui mencionamos superficialemnte algumas bibliotecas exploratórias de análise de dados, bibliotecas de processamento de linguagem natural (PNL) e bibliotecas de visualização.

As principais bibliotecas, plataformas, pacotes e módulos de Ciência de Dados discutidos foram:

- Pandas Profiling- NLTK- TextBlob- pyLDAvis- NetworkX

Composing a repository of books (i bought), authors (i follow) & blogs (direct ones) for my own understanding.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store