Seaborn para IA, 3 gráficos úteis

Entre para nossa lista e receba conteúdos exclusivos!

Seaborrn para IA

A biblioteca Seaborn é uma das aliadas na análise de dados e inteligência artificial com python. Para complementar esse aprendizado, recomendo ler meus artigos sobre pandas e matplotlib para iniciantes, pois são bibliotecas que se complementam na análise de dados.

Com a biblioteca Seaborn, é possível fazer vários tipos de gráficos interessantes, fundamentais para quem deseja fazer uma competente análise dos dados. Hoje veremos 3 gráficos úteis da biblioteca Seaborn para IA.

Seaborn para IA: Dados para exemplos

Usaremos, neste artigo, o dataset Iris. Amplamente utilizado no aprendizado de técnicas de aprendizagem de máquina, esse dataset é pequeno e indicado para iniciantes da área praticarem seus conhecimentos. 

Esse dataset armazena 150 instâncias (amostras) com medidas de 3 variações de flores do gênero Iris. São 3 variedades: Versicolor, Virginica e Setosa. Não entrarei em mais detalhes sobre o dataset iris, pois em artigos futuros estarei detalhando ainda mais sobre ele.

Vamos importar as bibliotecas necessárias e carregar o dataset com o pandas. Você pode baixar o Iris aqui.

import seaborn as sns

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

df = pd.read_csv('iris.csv',names = ['1','2','3','4','target'])

Seaborn para IA: Violin plot

O gráfico violin plot é muito útil para conhecermos a dispersão dos dados e a sua densidade. Ele é como uma evolução do gráfico boxplot, já visto em um artigo anterior meu. 

A dispersão dos dados tem a ver com a proximidade deles, informalmente falando. Se os dados estão muito “juntinhos”, então eles têm uma baixa dispersão. Se os dados estão muito “espalhados”, então eles têm uma alta dispersão.

Já a densidade têm a ver com a probabilidade de uma faixa de valores serem encontrados no conjunto de dados, ou seja, pertencem a um intervalo muito recorrente. Vamos fazer um violin plot para visualizar essas características.

#%%Graficos de violin plot

plt.title('Violin plot - Iris')

plt.xlabel('Atributos')

plt.ylabel('Valor')

sns.violinplot( data = df[['1','2','3','4']])

Output:

Seaborn para IA
sns.violinplot(data = df['3'])

Output:

Seaborn para IA

No primeiro gráfico, selecionamos os 4 atributos do dataset Iris. Já no segundo gráfico, escolhemos apenas o 3º atributo, para uma melhor visualização. Nota-se que o atributo 3 tem uma dispersão significativa, que tem a ver com o comprimento vertical do gráfico.

Já, também, percebemos que o atributo 3 é bastante denso para os valores por volta de 5 e 1, ou seja, existem muitas amostras em que o atributo 3 são próximos a esses valores. A densidade, no violin plot, tem a ver com o comprimento horizontal do gáfico.

Seaborn para IA: Heatmap

O heatmap é uma matriz colorida, onde é possível representar diversos tipos de informações. Geralmente, o heatmap é utilizado para plotar matrizes de confusão, matrizes de covariâncias e frequências.  O gradiente de cores facilita muito a interpretação.

Para exemplificar, vamos representar, no heatmap, as médias dos valores de cada atributo do dataset iris. Primeiro, devemos calcular as médias e armazená-las em um array, chamado de prop.

prop = np.zeros((2,2))

prop[0,0] = df['1'].sum()/df.shape[0]

prop[0,1] = df['2'].sum()/df.shape[0]

prop[1,0] = df['3'].sum()/df.shape[0]

prop[1,1] = df['4'].sum()/df.shape[0]

Agora, basta fazer um heatmap da matriz prop. Você sempre vai mandar como argumento da função heatmap uma matiz.

plt.title('Valor medio dos atributos')

sns.heatmap(prop)

Output:

Seaborn para IA

Conseguimos ver, através da legenda lateral, que o atributo 1 (posição (0,0)), tem a maior média. Já o atributo 4(posição (1,1)), tem a menor média.

É claro que representar médias nesse tipo de gráfico não é a aplicação ideal, mas serve para exemplificar a utilidade do heatmap. 

Seaborn para IA: Múltiplas projeções

Para visualizarmos um conjunto de dados em um plano cartesiano, é necessário que os dados sejam bidimensionais. Se não, estaremos vendo projeções desses dados nos eixos. A maioria dos dados em análise de dados têm muitos atributos. Como representamos cada atributo em um eixo, fica inviável representar exatamente a distribuição espacial dos dados se eles tiverem mais de 3 atributos (Infelizmente, somos seres tridimensionais espacialmente). 

Como não queremos ficar fazendo pontinhos se movendo no tempo e mudando de cor com a posição para simular outras dimensões, podemos fazer projeções dos dados. No caso, escolhemos quais atributos queremos colocar no plano cartesiano e plotamos. 

Felizmente, a biblioteca Seaborn tem uma função que faz isso pra nós automaticamente. O que faremos aqui será pegar os dataset Iris e fazer múltiplas plotagens de pontos, uma variável em relação a outra. Isso com a função PairGrid.

x = sns.PairGrid(df, hue='1')

x.map_offdiag(sns.scatterplot)

x.add_legend()

Output:

Seaborn para IA

Esses gráficos são bastante úteis para ver como, mais ou menos, as variáveis estão agrupadas. 

Conclusão

Em suma, espero que tenha gostado dessas dicas que eu citei. Como sempre, não deixe de consultar a documentação do Seaborn para aprender cada vez mais! Até mais!

Referências

https://seaborn.pydata.org/tutorial/axis_grids.html

https://mode.com/blog/violin-plot-examples/#:~:text=What%20is%20a%20violin%20plot%3F,the%20density%20of%20each%20variable.

https://medium.com/psicodata/simples-e-direto-um-guia-de-visualizacao-de-dados-com-python-7d39c95ca343

Gráfico preditivo ícones criados por surang – Flaticon

 

Outros Artigos

A Guerra Fria: Principais Eventos e Consequências
História

A Guerra Fria: Principais Eventos e Consequências

O artigo oferece uma análise dos principais eventos da Guerra Fria, como a crise dos mísseis de Cuba, a corrida espacial e a queda do Muro de Berlim. Discute as consequências políticas, econômicas e sociais desse período, além de seu impacto nas relações internacionais contemporâneas.

Ciclo do Nitrogenio
Curiosidades

Ciclo do Nitrogênio: Importância e Etapas

Este post explica as etapas do ciclo do nitrogênio, desde a fixação até a desnitrificação. Discute a importância desse ciclo para os ecossistemas e a agricultura, além de abordar os impactos da atividade humana sobre o ciclo natural do nitrogênio.

Fotossíntese
Biológicas

Fotossíntese: Processo e Importância para os Ecossistemas

Este post aborda o processo da fotossíntese, explicando as fases clara e escura, os pigmentos envolvidos e a importância desse processo para a vida na Terra. Discute também a relação da fotossíntese com a produção de oxigênio e a sustentabilidade dos ecossistemas.

Legal

® 2021-2024 Meu Guru | 42.269.770/0001-84 • Todos os direitos reservados

Entre para nossa lista e receba conteúdos exclusivos!