Visualizando dados em quatro dimensões com Matplotlib

Leandro Cruvinel
5 min readApr 22, 2019

--

Fonte: https://pixabay.com

Ao trabalhar com dados multivariados (representados por mais de uma variável), técnicas de visualização que envolvam vários elementos gráficos são essenciais. O mais comum é o uso da posição. No entanto, cores, formas e tamanho também podem ser utilizados. Nesse tutorial, posição e cor são utilizados para visualizar graficamente dados representados por 4 variáveis.

Este trabalho é feito em linguagem de programação Python e compilado com a ajuda do Google Colab. O leitor pode criar um notebook gratuitamente através do link: https://colab.research.google.com/

Depois, basta dar um nome para seu arquivo onde está a seta vermelha. Digitar seu código onde se encontra a seta verde e executar o código apertando o botão indicado pela seta azul. No exemplo da figura abaixo fizemos um código que imprime a mensagem Hello, world!

Este post é melhor visualizado em um computador de mesa. As imagens não ficam legais em smartphones. No entanto, todos os códigos aqui usados podem ser encontrados aqui.

Sumário

  • Importando as bibliotecas
  • Importando os dados
  • Explorando a variável de interesse
  • Escolha das 4 variáveis para visualização
  • Visualização das 4 variáveis escolhidas
  • Animação mostrando vários ângulos

Importando as bibliotecas

O primeiro passo sempre é importar as bibliotecas. Matplotlib e Seaborn são bibliotecas bem comuns para visualização de dados. Outras duas, pandas e numpy, são excelentes para trabalhar com matrizes e conjuntos de dados. Para importar tudo isso, basta digitar os comandos a seguir no Google Colab:

É interessante mencionar que o Google Colab já vem com todas essas bibliotecas instaladas. Caso esteja usando o Python no seu computador, deverá instalar essas bibliotecas para que tudo funcione perfeitamente.

Importando os dados

O site UCI repository fornece uma grande variedade de conjuntos de dados. Um dos interessantes é o conjunto Wine Data Set que é usado nesse projeto. Este é composto por 13 variáveis que descrevem características do vinho e uma outra mais que determina sua qualidade (classe).

Para importar o conjunto, podemos utilizar a função read_csv da biblioteca pandas. Além disso, é preciso dar o nome correto para as variáveis do conjunto de dados. Estes nomes podem ser encontrados na própria página do Wine Data Set.

Lembre-se que o código acima na versão copiável encontra-se no meu Github. Ao copiar e colar o código acima numa nova célula do Google Colab, é possível ver as cinco primeiras linhas do conjunto de dados.

Explorando a variável de interesse

A variável de interesse neste projeto é a qualidade do vinho. São 59 unidades amostrais de 1ª classe e 48 unidades amostrais de 3ª classe. Apesar de terem dados de vinhos de 2ª classe, por simplicidade, serão consideradas apenas as 1ª e 3ª classes.

O código para fazer o filtro e mostrar a frequência por classe segue abaixo:

Escolha das 4 variáveis para visualização

O objetivo do trabalho é fazer um gráfico que apresente 4 características dos vinhos no conjunto de dados considerado. Uma delas, com certeza, é a variável de interesse ‘Quality’.

Em projetos de visualização e sumarização de dados, é comum querer separar grupos em relação a variável de interesse. Por exemplo, caso esteja analisando um conjunto de dados de clientes e sua variável de interesse seja a “Compra”, essa separação dos clientes em grupos que compram e não compram pode direcionar melhor campanhas de marketing.

Dessa forma serão escolhidas outras três variáveis que melhor separam os vinhos em relação à qualidade dos mesmos. Uma forma simples e rápida de fazer isso é dando uma olhada no pair plot.

Para visualizar a imagem acima no seu Google Colab basta executar o código abaixo em uma nova célula.

Parece que ‘OD280/OD315 of diluted wines’, ‘Hue’ e ‘Proline’ definem bem a qualidade do vinho. Hora de filtrar o Wine Data Set deixando apenas essas três colunas junto a coluna ‘Quality’.

Visualização das 4 variáveis escolhidas

Para visualizar as 4 variáveis escolhidas simultaneamente num único gráfico, os eixos X, Y e Z representarão ‘OD280/OD315 of diluted wines’, ‘Hue’ e ‘Proline’ respectivamente. Pensando na representação cartesiana usual de pontos no plano XY, o eixo Z aqui é como se fosse a altura desses pontos.

Para visualizar a variável ‘Quality’ a cor verde representará os vinhos bons e a cor vermelha representará os vinhos ruins.

O código para fazer tudo isso acima é:

O resultado é apresentado abaixo:

Para obter um gráfico mais completo, é possível inserir legendas, títulos e nomear os eixos X, Y e Z bastando, para isso, inserir os códigos abaixo entre as linhas 16 e 18 do código anterior.

  • Nomeando os eixos:
  • Configurando e criando as legendas:

O resultado fica como segue:

Animação mostrando vários ângulos

No gráfico anterior apenas um ângulo de visão é apresentado. É possível plotar vários gráficos, um em cada ângulo de visão, e mostrar todos, um por um, no Google Colab, dando um efeito de animação.

O código para animar o gráfico é:

Assim como anteriormente, é possível adicionar legendas, títulos e colocar nomes nos eixos X, Y e Z, além de título.

Espero que tenham gostado!

Desafio

Utilizamos o Wine Data Set do UCI repository. Há vários outros conjuntos de dados nesse site. Tente reproduzir o que fizemos para outro conjunto de dados!

--

--

Leandro Cruvinel
Leandro Cruvinel

Written by Leandro Cruvinel

Math Professor | Data Scientist | Web developer

No responses yet