Visualización de datos en Python con Seaborn

python
visualización de datos
seaborn
Visualización de datos en Python con Seaborn cover image

Hoxe en día, o recurso máis valioso do mundo xa non son o petróleo, senón os datos. A visualización está a converterse nunha ferramenta máis importante para dar sentido aos miles de millóns de filas de datos. Ao traducir os datos nunha representación gráfica que sexa fácil de interpretar, a visualización de datos axuda na narración de datos destacando información, patróns e valores atípicos relevantes. Non obstante, os datos e os gráficos deben traballar xuntos: é a arte de integrar unha gran análise cunha gran narración. Nesta entrada do blog, mostrámosche "Sea Born", unha das ferramentas de visualización máis coñecidas escritas en Python.

Ferramentas de visualización

Usamos ferramentas de visualización para visualizar as tendencias, patróns, valores atípicos e a relación entre variables. É unha habilidade moi demandada, especialmente para unha carreira de ciencia de datos.

Seaborn

Seaborn é unha biblioteca de visualización de datos de Python baseada enmatplotlib. Ofrece unha interface de alto nivel para debuxar gráficos estatísticos atractivos e informativos.

Funcións de trazado de seaborn:

En seaborn, temos 3 categorías de parcelas

  • Tramas categóricas.

*Parcelas de distribución.

  • Tramas relacionais.

Tramas categóricas

Usamos as funcións de trazado categórico de seaborn para visualizar as tendencias dunha variable categórica ou para visualizar a relación entre dúas variables con polo menos unha categórica.

Gráfica de conta:

  • Mostra os recontos de observacións de cada categoría a partir da variable categórica. Simplemente contamos o número de observacións de cada categoría da variable
seaborn.catplot(kind = 'count',
                data = dataset,
                x    = 'variable')

Count plot

Parcela de barras:

  • Representa unha estimación de tendencia dunha variable continua coa altura do rectángulo para cada categoría dunha variable categórica. Polo tanto, a función de trazado toma dúas variables como entrada, unha continua e outra categórica. Para cada categoría da variable_1, calculamos a tendencia da variable_2.

  • A tendencia pode ser a media, a varianza ou pode pasar algunha función personalizada...

seaborn.catplot(kind = 'bar',**data = dataset,**
                x    = 'variable_1',**y    = 'variable_2',**
                estimator = np.mean)**

Bar Plot

Trama en tiras:

  • O gráfico de tiras é un dos gráficos máis sinxelos e directos na visualización de datos, simplemente debuxamos puntos que representan os valores dunha variable continua. Para cada categoría da Variable 1, debuxaremos os valores da Variable 2.

Strip Plot

seaborn.catplot(kind = 'strip',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                jitter = 0.15)

Trama do enxame:

  • A trama de enxame é moi semellante á trama de tiras, xa que ten exactamente a mesma funcionalidade. A única diferenza está na forma en que mostra os puntos. Mentres no gráfico de tiras, os puntos de datos poden superpoñerse xa que se colocan aleatoriamente no eixe x, no diagrama de enxame asegurámonos de que os puntos non se superpoñan apilándoos uns encima dos outros.

  • O inconveniente aquí é que se temos moitos puntos de datos, sería imposible non superpoñelos, polo que o algoritmo eliminará algúns puntos de datos para non solaparse.

Swarm Plot

seaborn.catplot(kind = 'swarm',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2')

Parcela de caixa:

  • O diagrama de caixas úsase para representar a distribución dunha variable continua para cada categoría dunha variable categórica. Aínda que é bastante sinxelo, ofrece moita información:

  • Os valores dos cuartiles:

A caixa ten unha liña horizontal no seu interior, que representa a mediana. A liña horizontal de arriba son os cuartiles superiores, a debaixo son os cuartiles inferiores.

*Os atípicos:

Teña en conta que hai algúns puntos fóra da caixa, estes puntos representan os valores atípicos

Box Plot

seaborn.catplot(kind = 'box',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2')

Trama para violín:

En lugar de representar a caixa de distribución, o diagrama de violín representará a distribución real da variable continua para cada categoría da variable categórica usando KDE (Estimación da densidade do núcleo).

Violin Plot

seaborn.catplot(kind = 'violin',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2')

Parcelas de distribución:

Usamos as funcións de representación gráfica de distribución de seaborn para visualizar a distribución de variables continuas.

Hist plot:

A gráfica hist representa a distribución de variables continuas mediante bins.

Hist Plot

seaborn.distplot(kind = 'hist',
                 data = dataset,
                 x    = 'variable',
                 bins = 20)

Gráfica KDE:

O gráfico de Kde representa a distribución real dos datos mediante a Estimación da densidade do núcleo.

KDE Plot

seaborn.distplot(kind = 'kde',
                 data = dataset,
                 x    = 'variable')

Tamén se pode usar para representar a distribución bivariada de dúas variables continuas.

KDE Plot

seaborn.distplot(kind = 'kde',
                 data = dataset,
                 x    = 'variable_1',
                 y    = 'variable_2')

Gráfica ECDF:

O gráfico ECDF representa a distribución empírica acumulada dunha variable continua.

ECDF Plot

seaborn.distplot(kind = 'ecdf',
                 data = dataset,
                 x    = 'variable')

Parcelas relacionais:

Usamos as funcións de trazado relacional de seaborn para visualizar a relación entre variables continuas.

Gráfica de dispersión:

  • Mostra a relación entre dúas variables continuas, simplemente representando todos os puntos de datos.

Scatter Plot

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2')

Gráfico de liñas:

  • Representa a relación entre variables como unha función continua.

Line Plot

seaborn.relplot(kind = 'line',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2')

Máis funcionalidades:

Quizais teñades contado que en todas as funcións de trazado estivemos utilizando un máximo de dúas variables por trazado, pero que pasa se queremos introducir máis variables na nosa visualización? Afortunadamente Seaborn encargouse diso:

Matiz:

  • Usando hue podemos introducir unha 3a variable que sexa categórica para a nosa visualización mediante a codificación de cores, isto significa que os puntos de datos que pertencen á mesma categoría desta 3a variable terán a mesma cor.

Hue

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                hue  = 'variable_3')

Tamaño:

  • O tamaño é semellante ao ton, pero usa a codificación de tamaño en lugar da codificación de cores. Significa que os puntos de datos que pertencen á mesma categoría da 3a variable terán o mesmo tamaño único. Diferentes tamaños significan categorías diferentes.

Size

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                size = 'variable_3',
                sizes = [50, 100])

Estilo:

  • Practicamente o mesmo que Hue e Size, significa que os puntos de datos que pertencen á mesma categoría da 3a variable terán o mesmo estilo único. Un estilo de punto pode ser un punto, unha estrela, unha cruz, un triángulo,... chamámoslles marcadores.

Style

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                style = 'variable_3',
                markers = ['X', '*'])

Tamén podemos introducir unha nova variable categórica mediante múltiplos gráficos, cada gráfico pertence a unha categoría da variable categórica:

Col:

Creará moitas figuras horizontalmente con respecto ás categorías da 3a variable.

Col

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                col  = 'variable_3')

Fila:

Creará moitas figuras verticalmente con respecto ás categorías da 3a variable.

Row

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                row  = 'variable_3')

Tamén podemos usar Hue e Size no mesmo gráfico, para representar 4 variables, ou incluso Hue and Style and Col, para usar 5 variables no mesmo gráfico. Podemos usar ata 7 variables ( variable 1, variable 2, Hue, Size, Style, Col, Row ) na mesma trama, pero daranos unha trama moi cargada que é tan desordenada e extremadamente difícil de interpretar, ás veces non. informativo en absoluto.

Hue & Size

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                hue  = 'variable_3',
                size = 'variable_4')

Conclusión:

Neste post, aprendemos sobre seaborn, as súas 3 categorías de funcións de trazado: Gráficos categóricos, de distribución e relacionais, e explicamos cada función de trazado para cada categoría, todo xunto co código Python.

Consulta o noso Data Science Bootcamp para obter máis información sobre este tema.


Career Services background pattern

Servizos de Carreira

Contact Section background image

Mantémonos en contacto

Code Labs Academy © 2024 Todos os dereitos reservados.