Рубрики
Без рубрики

Визуализация De Dados com seaborn

Nesse Artigo Vamos indender Um Pouco melhor como fazer uma análise exploratória simples e como bibl … Tagged DataScience, Python, DataViz, Seaborn.

Nesse Artgo Vamos indender Um Pouco melhor como fazer Uma análise exploratória simples e como A Biblioteca Seaborn Pode Ajudar Nesse Processo Melhorando A Visualização Dos Dados.

На Análise Exploratória dos Dados, Também Conhecida Como Eda, é feita uma investigação para que se se unsa ter um resumo do Que OS Dados Podem nos dizer. Por Exemplo, Média, O Desvio Padrão E Distribuição Dos Dados SãAO InformaSees Watters Para Condender O Comportamento de um DataSet Portanto Semper Estão представляет Quando uma eda é -feita. Essa análise também é базовая пара que se so off criar hipóteses e Заденькая рука

Vou usar um dataset criado pelo сайт petfinder.my com diversas informações sobre a adoção de 150.000 cães e gatos. Набор данных ESSE Está Disponível Нет Keaggle Para UMA CowntioCão. Abaixo Mostro Alguns Dados do concunto para intendermos melhor o Que Será Analisado:

Aqui Podemos ver que temos nome (имя), idade (возраст), раса (порода), ядра (цвет), entre вер. Нет набора данных E, Apesar Da Maioria Das Colunas Vosuir Apenas Números, Não Se Enganem, Tirando A Idade E ‘Feet’ Que é a Taxa Paga Pela Adoção, Todos osuos Dados Saoróicros. Nesse DataSet Também Exceedem Alguns Arquivos Com A Corpressionência Desses números com a Devida Catchoria, Por Exemplo, na variável ‘tipo’ (type) 1

Aqui está O Início do código Que estou Usando, Com Os Imports. Aqui Também Usei o jupyter Notebbook:)

import pandas as pd  
import seaborn as sns  
import matplotlib.pyplot as plt  
%matplotlib inline #usar esse comando para não precisar dar plt.show em cada gráfico  
df = pd.read_csv('train.csv') #esse é o nosso dataframe

Vou usar o comando df.describe () Para Ver Informações Como A Média, Quantidade de Dados E O Desvio Padrão de Cada Coluna.

Генте Джа Консег Верхь Менея де Идад (Coluna ‘Age’) Dos anyais é de 10 Meses entretanto nesse caso a média não nos dá uma visão da realidade já que mediana (50%) é 3, ou seja, metade dos animais do dataset tinha até 3 meses na adoção. Тамбем Vemos Que a Idade Máxima Relatada Sã 255 Meses, OU 21 Anos (Velhinhos❤). Делай, делай Типо 2 (Гатос).

Se usarmos o comando df.describe (incluct = `all`) é Officevel Ver Informações sobre os nossos dados categóricos também, como Quantidade de Dados únicos.

Важно зацикливать, что распределяется, Dos Dados E Isso Pode Ser Feito de Diamless Formas. Gomeçando pela mais comum, o gráfico distplot mostra a combinação de um histograma com a linha do kde. Um histograma é basicamente um gráfico de barras para variáveis Quantitativas, Que são divididas em Intervalos, e nos mostra a futencia de dados que se tem em em cadaalo; o kde é oumativa da densidade desses dados, calculando, вероятно, с вероятностью, местный докеле.

sns.distplot(df['Age'])  
sns.distplot(df['Age'], kde=False) #Para não ver a linha do KDE no gráfico use o parâmetro 'kde' igual a 'False', que por padrão é igual a 'True' 

Nesses gráficos vemos que a adades dos animais, em meses, estão concondass no gozo do gráfico, ou seja, Maior parte dos animais adotados ainda é filhote (Como já mostrei usando a mediana no comando ‘destribate’). Outra Coisa para se notar é que o gráfico não vame uma uma divibuição normal, sua distribuição é inviesada para direita, essa é uma informação usada na escolha de uptros métodos estatísticos a seremçao usada na outse métodos estatísticos a seremçao unesse nesse dateset.

UM Gráfico simples mas muito útil que podemos usar é o o ouclplot, um gráfico de barras mostrando a Intagem das variáveis. Vamos ver Como Estão Distibuídos os valores de ‘marticitysize’. Essa Coluna Reppreva O Tamanho Do Animal Quando Atinge A Maturidade E Seus Valores Сан -де 1 à 4, Sendo 1 Pequeno e 4 Grande.

sns.countplot (x = ‘MarticitySize’,)

O gráfico mostra que a mior parte dos animais tinham porte médio-pequeno. Esse Gráfico Também Pode Ser Feito Utilizando A Funcáo Catplot Ao Inves Do Countplot, интерфейс Para Construção de Vários Tipos de Gráficos Categóricos, com o parâmetro kind = count Анкет

Нет PRóximo Gráfico, UM Barplot, Conseguimos ver A Média de Velocidade de Adoção Por Tipo de Animal. Linha Preta Vertical Нет Meio Das Barras Mostra O Desvio Padrão, нет Caso dos nossos dados o desvio padrão é bem pequeno os odos não variam tanto dessa média.

sns.barplot (x = ‘type’ ,,,)

OS PRóximos gráficos são -hду o Limite Neforior E Superior, OS Quartis, Mediana, Como Os Dados Estão Distribuídos E OS OS -Olciveis Выбросы.

  • Квартис: Os Quartis Dividem Os Dados em Quatro Partes. Ordenando Os Dados Cada Quartil Vai Offuir 25% DAS OSSACACõES. OU Seja, OS Primeiros 25% DAS OSMACATAO ESTARãAO ATE O CORTE DO 1º Квартил, OS PRóximos 25% Até O Corte Do 2º Квартил и т. Д.
  • Ограничения: o ограничение нижнего é Calculado Sendo, Geralmente, 1,5 Vezes O Corte Do 1º Квартил E O Limite Severse Sendo 1,5 Vezes O Corte Do 3º квартиль.
  • O corte do segundo Quartil é Igual Mediana.
  • Выбросы Сан -Наблюдают Атипикас, Муито Афастадас да Маория Дос Дадос. Num -boxplot esses valores ficam abaixo do limite inforior ou acima do limite превосходство.

Agora Com Os Dados Que estamos usando:

sns.boxplot(x='Type', y='AdoptionSpeed', data=df)  
sns.boxplot(x='Type', y='AdoptionSpeed', data=df, hue='Gender')  
sns.boxplot(x='Type', y='Fee', data=df) 

Boxplot Nesse Primeiro (Velocidade de Adoção Por Tipo de Animal) Conseguimos ver que nionao há grande variatão na velocidade de adoção dos cés mas que a mior parte demora um pouco mais que os gatos para serem adotados, сравнение как медиана e как caixas que comportam metade dos dados.

Esse gráfico é o quase o mesmo que o Offer masa aqui foi feita uma divisão por gênero do животные (, em casos de grupos adotados) com o Parâmetro оттенок Нет.

Esse último, TaxaS Paga Pela Adoção Por Tipo de Animal, é Interessante. Não Vemos as Caixas E Mal Se vê A Linha Da Mediana, Apenas Pontos, Isso é Porquê A Maior parte das adoções não teve usto nenhum, ontão os quartis sã 0 E Mediana Também, OS Pontos Do Gráfico São Todos Outliers.

Alguns wootros gráficos Que Mostram a Distribuição dos Dados São Stripplot E O Swarmplot. OS DOIS PRIMEIROS GRAFICOS ABAIXO SãOS STRISTPLOTS DE IDADE POR Gênero, O Segundo ainda foi subdivido pelo tipo de Animal Através do Parâmetro оттенок Анкет

sns.stripplot(x='Gender', y='Age', data=df)  
sns.stripplot(x='Gender', y='Age', data=df, hue='Type', split=True)  
sns.swarmplot(x='Gender', y='Age', data=df)

Esse último é o Swarmplot, Com As Mesmas Informações Que Os Stripplots mas não há sobreposição dos dados.

Os próximos gráficos são sobre correlação, uma métrica do Quão relacionadas duas variaveis são. ESESEMAL ALGUNS JEITOS DE CALCULAR A Correlação mas vou Usar de pearson, linear e mais comumente usada, onde OS Coeficientes da correlação vão de -1 a 1. Valores proóximos a -1 значит как variáveis she fortemente e enversamente correlacionadas: quando uma cresce autra diminui; Valores proóximos a 1 são variaveis fortemente e positivamente correlacionadas: как Duas crescem ou diminuem juntas, e 0

Um Ponto Vating de invender quando falamos de correlação é que uma variável ter correlação com autra Néao Impmyca Que Uma вызывает охват Анкет Por Exemplo, Umemento nas vendas de meias em julho pode estar correlacionado com amemento nas vendas de chás no mesmo mês, mas isso niona que que que a kesoas compraram chás porque compraram meias.

Alem Dos Coeficientes Тамбэм Podemos Ver Uma Correlação Em Um Diagrama de Dispersão ou, como é wamado no seaborn, um scatterplot. Para Identificar uma correlação нет диаграммы Os Dados Devem Estar parecidos com O rimeiro e último gráfico da Imagem abaixo (correlação negativa e positiva, usticivamente). O gráfico do meio previa dados não correlacionados.

E abaixo está o scatterplot da idade (возраст) по сравнению с таксосом de adoção (плата). Нет Caso Dessas Duas Variáves não há uma correlação aparente.

Нет Pandas Essaine Uma Funcáo Que Mostra OS COEFECIENTES DE CORRELAção de Todas в роли Variáveis, логотип Tabela Abaixo, E Você Pode USARSES Valores Para Criar Um Heatmap, Que Mapeia os Valores de Uma Matriz USANDO Cores. Isso Pode Farcilitar ementificação de variáveis correlacionadas Quando se tem Muitas variáveis.

df.corr ()

Parte da matriz de correlação

sns.heatmap (df.corr ())

Entretanto, o comando df.corr () Números Mais Reais.

sns.heatmap (corr,) #annot mostra os coeficientes da matriz

Agora vendo a Imagem e os coeficentes percebemos que há bem poucas correlações fortes no dataset, Informação útil caso você vá criar modelos preditivos.

UM Exememplo Da importância da correlação é a a a a a a a a a a a a a a a a recressão. Регресс -линейный (EssageEm Outros Tipos) é Um Modelo estatitico Que tenta incontrar melhor reta/plano Que descreva a Relação ontre Os Dados. AssiM é OpingVyvel Inferir Valors Sobre Uma Das Variáveis. MAS PARA SE USAR UMA REGRESSãO OS DADOS (Tirando a Variavel Que Se Quer Cossar) não devem estar correlacionados, e daí vem a importância do método. Нет море, возможно, можно получить (O lmplot возможно, mais opções gráficas como a criocão de grids).

Essa não é Uma Regressão Do Nosso DataSet, MAS Trumpxe Aqui Para Mostrar Como Seria Um Boa Regressão, Capturando Boa parte da relação entre os dados.

sns.lmplot (x = ‘age’ ,,,,)

Esses gráficos mostram как retas das regressões entre as variaveis idade e Velocidade de Adoção, Seperado em duas colunas pelo tipo de Animal, Usando os parâmportos оттенок е – полковник . Junto da reta também é mostrada a dispersáo dos dados. Só Pelo gráfico Já e Office ver que uma uma rugressão talvez não se dê tãa bem caso precissemos costar alguns valores, mas também é vesívender que ques (тип 1). Тип 2) Onde Velocidade de Adoção oumenta Quando Idosos.

Тамбем é Officevel Juntar Mais de Um Gráfico Em Um Só. Overplot é junção de um gráfico Univariado, Nesse Caso um Histograma, E Um Bivariado, UM Scatterplot.

sns.jointplot (x = ‘Age’ ,,)

Usei novamente a Relação idade против Taxa de Adoção. Idade está no Eixo Horizontal, Assim Como Seu Histograma Na Parte Superior Do Gráfico, Na Vertical Está a Taxa de adoção e o seu histograma. Нет Meio Está O Scatterplot Mostrando, а также Duas Variáveis. Podemos ver que para animais mais novos não há muito consenso sobre в роли Talyas, Mas para os poucos animais mais velhos, nenhum deles posui taxa para adoção.

O Containplot Pode Ser USADO COM Vários Outros Gráficos Mudando Seu Parâmetro добрый E Dentre As Opções Estесси Gráfico de kde ou gráfico de hexágonos que te dá um mapa de calor da relação das variaveis.

O FacetGrid Cria Uma Matriz/Grid Em Branco Que Podemos Preencher Com Qualquer Gráfico. Abaixo criei um facetgrid em branco searando as linhas para o tipo de in a a a a a airty e ag e colunas para o gênero e na linha abaixo preenchi o grid usando o countplot do seaborn (poderia ser de utra biblioteca) e usei também a velocidade de adoção valoros dos dos dos dos dos dos dos dos gráo valoros Анкет Assim temos uma isão Da Velocidade de Adoção sepeadada por tipo e Gênero dos animais.

g = sns.FacetGrid(df, row='Type', col='Gender') #Cria um grid vazio  
g.map(sns.countplot, 'AdoptionSpeed') #preenche com o gráfico

É Officevel Mudar как ядра E O Tamanho do Gráficos. Um Exememplo é o Тепловая карта Que CRIEI PARA A Correlação. O gráfico que usei está estilizado com o mapa de cores (parâmetro cmap ) Чамадо ‘Coolwarm’. O Seaborn Consegue Criar Gráficos Com Quaisquer Mapas de Cores da Biblioteca matplotlib ( veja aqui ) E Também com listas de cores perlonsizadas. Em Um Heatmap ainda é Offityvel Mudar A Core Espessura Das Linhas Da Matriz Com Os Parâmetros LineColor e ширина Line Анкет Outro Ponto Vating Na Visualizaço de Dados é O Tamanho Da Imagem. Alguns gráficos tem parâmetros para para para perersionizar seu tamanho mas no geral podemos usar o matplotlib para criar uma figura em branco ТАМАНХО НЕОБХОДИМЫ Abaixo Emembero Do Heatmap Estilizado.

plt.subplots(figsize=(15, 8))  
sns.heatmap(corr, cmap='plasma', linecolor='gray', linewidths=1)

Para finalizar, vou Mostrar também o set_style e o set_context do seaborn. O set_style deconi o estilo do gráfico: com ou sem grid, fundo claro ou escuro.

sns.set_style('darkgrid')  
sns.countplot(x='MaturitySize', data=df)

Já O set_context muda o gráfico de acordo com o contexto que ele vai ser apresentado, por exemplo, визуализация, плакат Precisa precisa ser diferente Da Visualização em Relatoorio Comum.

sns.set_style (‘whitegrid’) sns.set_context (‘плакат’),)

Claro Que Muitas análises mostradas nesse artgo sáo redundes, mas é the Quarde perceber que há diarsas formas de conseguir extrair algo do dados e mostrar, cabe a decidir o Que vai ser melhor para seus Дадос. Alem Disso, Essagemas Algumas Técnicas Para Uma Boa Visualização de Dados, Como O Data Storyelling, Mas Isso é assunto para um wutro artigo;).

Оригинал: “https://dev.to/giselyalves13/visualizacao-de-dados-com-seaborn-2892”