Hoje em dia, o recurso mais valioso do mundo já não é o petróleo, mas sim os dados. A visualização está se tornando uma ferramenta mais importante para compreender bilhões de linhas de dados. Ao traduzir os dados em uma representação gráfica fácil de interpretar, a visualização de dados auxilia na narrativa dos dados, destacando informações, padrões e valores discrepantes relevantes. No entanto, os dados e os gráficos devem funcionar juntos: é a arte de integrar uma excelente análise com uma excelente narrativa. Nesta postagem do blog, mostraremos "Sea Born", uma das ferramentas de visualização mais conhecidas escritas em Python.
Ferramentas de visualização
Utilizamos ferramentas de visualização para visualizar as tendências, padrões, outliers e a relação entre variáveis. É uma habilidade altamente exigida, especialmente para uma carreira em ciência de dados.
Seaborn
Seaborn é uma biblioteca de visualização de dados Python baseada emmatplotlib. Ele fornece uma interface de alto nível para desenhar gráficos estatísticos atraentes e informativos.
Funções de plotagem Seaborn:
No mar, temos 3 categorias de parcelas
-
Gráficos categóricos.
-
Parcelas distributivas.
-
Gráficos relacionais.
Gráficos categóricos
Usamos as funções de plotagem categórica do mar para visualizar as tendências de uma variável categórica ou para visualizar a relação entre duas variáveis com pelo menos uma categórica.
Contagem gráfica:
- Mostra as contagens de observações de cada categoria da variável categórica. Simplesmente contamos o número de observações de cada categoria da variável
seaborn.catplot(kind = 'count',
data = dataset,
x = 'variable')
Gráfico de barras:
-
Representa uma estimativa de tendência de uma variável contínua com altura de retângulo para cada categoria de uma variável categórica. Portanto, a função de plotagem recebe duas variáveis como entrada, uma contínua e outra categórica. Para cada categoria da variável_1, calculamos a tendência da variável_2.
-
A tendência pode ser a média, a variância, ou você pode passar alguma função personalizada…
seaborn.catplot(kind = 'bar',**data = dataset,**
x = 'variable_1',**y = 'variable_2',**
estimator = np.mean)**
Gráfico de tiras:
- Strip plot é um dos gráficos mais simples e diretos na visualização de dados, simplesmente desenhamos pontos que representam os valores de uma variável contínua. Para cada categoria da Variável 1, desenharemos os valores da Variável 2.
seaborn.catplot(kind = 'strip',
data = dataset,
x = 'variable_1',
y = 'variable_2',
jitter = 0.15)
Enredo do enxame:
-
O gráfico Swarm é muito semelhante ao gráfico strip, pois possui exatamente a mesma funcionalidade. A única diferença está na forma como exibe os pontos. Enquanto no gráfico de faixa os pontos de dados podem se sobrepor, uma vez que são colocados aleatoriamente no eixo x, no gráfico de enxame garantimos que os pontos não se sobreponham, empilhando-os uns sobre os outros.
-
A desvantagem aqui é que se tivermos muitos pontos de dados, seria impossível não sobrepô-los, então o algoritmo irá deletar alguns pontos de dados para não se sobrepor.
seaborn.catplot(kind = 'swarm',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Gráfico de caixa:
- O box plot é usado para representar a distribuição de uma variável contínua para cada categoria de uma variável categórica. Embora seja bastante simples, rende muitas informações:
*Os valores dos quartis:
A caixa possui uma linha horizontal em seu interior, que representa a mediana. A linha horizontal acima são os quartis superiores, a linha abaixo são os quartis inferiores.
*Os valores discrepantes:
Observe que existem alguns pontos fora da caixa, esses pontos representam os outliers
seaborn.catplot(kind = 'box',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Enredo de violino:
Em vez de traçar a caixa de distribuição, o violin plot irá traçar a distribuição real da variável contínua para cada categoria da variável categórica usando KDE (Kernel Density Estimation)
seaborn.catplot(kind = 'violin',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Parcelas de distribuição:
Usamos as funções de plotagem de distribuição do mar para visualizar a distribuição de variáveis contínuas.
Enredo histórico:
O gráfico histórico representa a distribuição de variáveis contínuas usando compartimentos.
seaborn.distplot(kind = 'hist',
data = dataset,
x = 'variable',
bins = 20)
Planejamento do KDE:
O gráfico Kde representa a distribuição real dos dados, usando a estimativa de densidade do kernel.
seaborn.distplot(kind = 'kde',
data = dataset,
x = 'variable')
Também pode ser usado para representar a distribuição bivariada de duas variáveis contínuas.
seaborn.distplot(kind = 'kde',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Gráfico EDF:
O gráfico ECDF representa a distribuição empírica cumulativa de uma variável contínua.
seaborn.distplot(kind = 'ecdf',
data = dataset,
x = 'variable')
Planejas relacionais:
Usamos as funções de plotagem relacional do seaborn para visualizar a relação entre variáveis contínuas.
Gráfico de dispersão:
- Mostra a relação entre duas variáveis contínuas, simplesmente traçando todos os pontos de dados.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Gráfico de linha:
- Representa a relação entre variáveis como uma função contínua.
seaborn.relplot(kind = 'line',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Mais funcionalidades:
Você deve ter notado que em todas as funções de plotagem usamos no máximo duas variáveis por gráfico, mas e se quisermos introduzir mais variáveis em nossa visualização? Felizmente, Seaborn cuidou disso:
Matiz:
- Usando matiz podemos introduzir uma 3ª variável que é categórica para nossa visualização usando codificação de cores, isso significa que os pontos de dados que pertencem à mesma categoria desta 3ª variável terão a mesma cor.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
hue = 'variable_3')
Tamanho:
- O tamanho é semelhante ao matiz, mas usa codificação de tamanho em vez de codificação de cores. Isso significa que os pontos de dados que pertencem à mesma categoria da 3ª variável terão o mesmo tamanho único. Tamanhos diferentes significam categorias diferentes.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
size = 'variable_3',
sizes = [50, 100])
Estilo:
- Praticamente a mesma coisa que Matiz e Tamanho. Significa que os pontos de dados que pertencem à mesma categoria da 3ª variável terão o mesmo estilo único. Um estilo de ponto pode ser um ponto, estrela, cruz, triângulo,… nós os chamamos de marcadores.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
style = 'variable_3',
markers = ['X', '*'])
Também podemos introduzir uma nova variável categórica usando gráficos de múltiplos, cada gráfico pertence a uma categoria da variável categórica categórica:
Col:
Irá criar muitas figuras horizontalmente em relação às categorias da 3ª variável.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
col = 'variable_3')
Linha:
Criará muitas figuras verticalmente em relação às categorias da 3ª variável.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
row = 'variable_3')
Também podemos usar Hue e Size no mesmo gráfico, para representar 4 variáveis, ou mesmo Hue e Style e Col, para usar 5 variáveis no mesmo gráfico! Podemos usar até 7 variáveis (variável 1, variável 2, Matiz, Tamanho, Estilo, Col, Linha) no mesmo gráfico, mas isso nos dará um gráfico muito carregado, tão confuso e extremamente difícil de interpretar, às vezes não. nada informativo.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
hue = 'variable_3',
size = 'variable_4')
Conclusão:
Neste post, aprendemos sobre o seaborn, suas 3 categorias de funções de plotagem: plotagens categóricas, de distribuição e relacionais, e explicamos cada função de plotagem para cada categoria, tudo junto com o código python.
Confira nosso Bootcamp de ciência de dados para saber mais sobre esse tópico!