Três alternativas para visualizar dados numéricos em Python

Gráfico de dispersão (scatter plot), histograma e box plot são boas alternativas.

Apresentar dados da maneira adequada tem se tornado uma habilidade cada vez mais importante. É mais natural para o ser humano compreender a informação visual do que textos puros. Nós reconhecemos melhor os padrões, tendências, outliers e etc quando somos expostos a uma visualização de dados.

Há muitas maneiras de representar informações através de gráficos, cada tipo funciona melhor para um determinado tipo de informação. Para saber qual tipo de visualização utilizar, você deve primeiro pensar em qual pergunta você deseja responder, assim consegue construir uma visualização na direção correta. É muito importante selecionar o gráfico adequado que enfatize a informação que você deseja.

Este artigo irá explorar a representação de dados numéricos. Vamos explorar três gráficos comuns para esse tipo de dados, como criá-los, interpretá-los e implementá-los em Python.

Gerando dados sintéticos

A parte mais importante de qualquer visualização é a qualidade dos dados, neste artigo vamos gerar dados sintéticos utilizando a função do scikit-learn chamada de make_regression .

Construiremos alguns datasets para os nossos testes. Eles terão 200 amostras cada com 4 atributos ou features. A imagem abaixo mostra o nosso código para criar o dataset que será usado nos três gráficos:

Gráfico de dispersão ou Scatter plot

Scatter plots são excelentes ferramentas para visualizarmos a relação entre duas variáveis numéricas. Podemos utilizá-lo para melhor entender como uma variável impacta na outra. Cada ponto no gráfico representa uma observação individual. Como temos 4 características, faremos o teste para as 3 primeiras features:

Conseguimos notar que há uma relação entre as variáveis. Quanto maior o valor do eixo X, maior o valor no eixo Y. Tanto é verdade que a reta construída através da interpolação dos pontos nos mostra isso, as variáveis possuem um relacionamento positivo.

Outras informações interessantes que podemos tirar do gráfico de dispersão:

→ O relacionamento entre as variáveis é positivo ou negativo
→ O relacionamento é linear ou não-linear
→ Há outliers nesse dataset

As imagens nos mostram que as 3 variáveis testadas possuem um relacionamento positivo, relativamente forte e com uma relação linear. Podemos utilizar o box plot para uma avaliação melhor dos outliers como veremos mais na frente.


Histograma

O histograma é muito utilizado para representar dados estatísticos e revela com facilidade a distribuição de features numéricas de um dataset.

Esse tipo de gráfico agrupa os dados em vários intervalos, colocando cada observação em um intervalo onde a altura da barra será a quantidade de elementos em cada grupo. Podemos utilizá-lo para aprender a densidade dos dados que estamos trabalhando e como descrever a distribuição dos dados.

Distribuição das features de índice 0 que 1:

Apesar de parecidas as distribuições, podemos perceber que o primeiro gráfico mostra um deslocamento maior do centro para a direita e o segundo gráfico para a esquerda. Alguns autores usam um atributo de simetria para explicar a forma do gráfico. Os nossos exemplos podem ser considerados simétricos pois possuem amostras dos dois lados do pico principal. Outro atributo é o da modalidade, os nossos gráficos são unimodais, ou seja, possuem apenas um pico proeminente. Poderiam ser bimodais, multimodais ou uniformes (no caso de não possuírem nenhum pico).

Outro atributo muito relevante na construção de um histograma o número de caixas utilizadas ou os intervalos entre cada um delas. Reduzindo o intervalo implicaria no aumento do número de barras mudaria a história que estamos contando. Barras muito largas iriam esconder informações também, essa escolha é algo subjetivo e deve ser avaliado com cuidado.


Box plots

O gráfico box plot é outra alternativa para visualizarmos variáveis numéricas, acrescentando informações sobre como os dados estão distribuídos em determinado intervalo. Esse tipo de gráfico é uma excelente alternativa para destacar outliers, intervalo interquantil e mediana. Outra vantagem é a possibilidade de compararmos vários atributos ou features no mesmo gráfico como no exemplo abaixo:

O box plot nos revela que todas os quatro atributos possuem algum outlier (são os circulos vazios fora dos intervalos dos dados). Na maioria das aplicações os outliers são descartados pois podem prejudicar a análise, muitas vezes são provenientes de medições erradas ou problemas em equipamentos.

As variáveis possuem a mediana próxima a zero e podem ser consideradas simétricas. A imagem abaixo explica todos os atributos do boxplot:

Esse é um gráfico com muitas informações e exige calma no seu estudo para uma boa compreensão.

Trataremos especificamente dele em outro artigo. Espero que tenham entendido como a mesma informação numérica pode ser representada de três formas diferentes e dando ênfase a um tipo de informação.

O jupyter notebook para gerar as imagens utilizadas nesse artigo estão no link.

Mais conteúdo no site www.aprendadatascience.com ou no instagram @aprendadatascience