Visualització de dades en Python amb Seaborn

python
visualització de dades
seaborn
Visualització de dades en Python amb Seaborn cover image

Avui dia, el recurs més valuós del món ja no és el petroli, sinó les dades. La visualització s'està convertint en una eina més important per donar sentit als milers de milions de files de dades. En traduir les dades a una representació gràfica que sigui fàcil d'interpretar, la visualització de dades ajuda a la narració de dades destacant la informació, els patrons i els valors atípics rellevants. Tanmateix, les dades i els gràfics han de treballar junts: és l'art d'integrar una gran anàlisi amb una gran narració. En aquesta entrada del blog, us mostrarem "Sea Born", una de les eines de visualització més conegudes escrites en Python.

Eines de visualització

Utilitzem eines de visualització per visualitzar les tendències, patrons, valors atípics i la relació entre variables. És una habilitat molt demandada, especialment per a una carrera en ciències de dades.

Seaborn

Seaborn és una biblioteca de visualització de dades de Python basada en matplotlib. Proporciona una interfície d'alt nivell per dibuixar gràfics estadístics atractius i informatius.

Funcions de traçat del mar:

A seaborn, tenim 3 categories de parcel·les

  • Parcel·les categòriques.

  • Parcel·les de distribució.

  • Trames relacionals.


Trames categòriques

Utilitzem les funcions de traçat categòric de seaborn per visualitzar les tendències d'una variable categòrica o per visualitzar la relació entre dues variables amb almenys una de categòrica.

Recompte de la trama:

  • Mostra els recomptes d'observacions de cada categoria a partir de la variable categòrica. Simplement comptem el nombre d'observacions de cada categoria de la variable
seaborn.catplot(kind = 'count',
                data = dataset,
                x    = 'variable')

Count plot

Parcela del bar:

  • Representa una estimació de tendència d'una variable contínua amb l'alçada del rectangle per a cada categoria d'una variable categòrica. Per tant, la funció de traçat pren dues variables com a entrada, una que és contínua i una altra que és categòrica. Per a cada categoria de la variable_1, calculem la tendència de la variable_2.

  • La tendència pot ser la mitjana, la variància o podeu passar alguna funció personalitzada...

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

Bar Plot

Trama en tira:

  • El diagrama en franges és un dels diagrames més senzills i senzills de la visualització de dades, simplement dibuixem punts que representen els valors d'una variable contínua. Per a cada categoria de la variable 1, dibuixarem els valors de la variable 2.

Strip Plot

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

Parcel·la d'eixam:

  • La trama d'eixam és molt semblant a la trama de franges, ja que té exactament la mateixa funcionalitat. L'única diferència està en com mostra els punts. Mentre que a la trama en bandes, els punts de dades es poden solapar, ja que es col·loquen aleatòriament a l'eix x, a la trama d'eixam ens assegurem que els punts no es superposen apilant-los uns sobre els altres.

  • L'inconvenient aquí és que si tenim molts punts de dades, seria impossible no superposar-los, de manera que l'algoritme suprimirà alguns punts de dades per no solapar-se.

Swarm Plot

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

Parcela de caixa:

  • El diagrama de caixa s'utilitza per representar la distribució d'una variable contínua per a cada categoria d'una variable categòrica. Tot i que és bastant senzill, aporta molta informació:

  • Els valors dels quartils:

La caixa té una línia horitzontal a l'interior, que representa la mediana. La línia horitzontal de dalt són els quartils superiors, la de sota són els quartils inferiors.

  • Els valors atípics:

Observeu que hi ha alguns punts fora de la caixa, aquests punts representen els valors atípics

Box Plot

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

Trama per a violí:

En lloc de representar el quadre de distribució, el diagrama de violí representarà la distribució real de la variable contínua per a cada categoria de la variable categòrica mitjançant KDE ( Estimació de la densitat del nucli )

Violin Plot

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

Parcel·les de distribució:

Utilitzem les funcions de traçat de distribució de seaborn per visualitzar la distribució de variables contínues.

La seva trama:

El diagrama hist representa la distribució de variables contínues mitjançant bins.

Hist Plot

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

Trama KDE:

El diagrama de Kde representa la distribució real de les dades, utilitzant l'estimació de la densitat del nucli.

KDE Plot

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

També es pot utilitzar per representar la distribució bivariada de dues variables contínues.

KDE Plot

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

Gràfic ECDF:

El gràfic ECDF representa la distribució acumulada empírica d'una variable contínua.

ECDF Plot

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

Parcel·les relacionals:

Utilitzem les funcions de traçat relacional de seaborn per visualitzar la relació entre variables contínues.

Gràfic de dispersió:

  • Mostra la relació entre dues variables contínues, simplement traçant tots els punts de dades.

Scatter Plot

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

Trama de línies:

  • Representa la relació entre variables com una funció contínua.

Line Plot

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

Més funcionalitats:

Potser heu notat que en totes les funcions de traçat hem estat utilitzant un màxim de dues variables per trama, però què passa si volem introduir més variables a la nostra visualització? Afortunadament, Seaborn es va ocupar d'això:

Tonalitat:

  • Mitjançant la tonalitat podem introduir una 3a variable que sigui categòrica a la nostra visualització mitjançant la codificació de colors, vol dir que els punts de dades que pertanyen a la mateixa categoria d'aquesta 3a variable tindran el mateix color.

Hue

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

Mida:

  • La mida és similar a la tonalitat, però utilitza la codificació de mida en lloc de la codificació de color. Significa que els punts de dades que pertanyen a la mateixa categoria de la 3a variable tindran la mateixa mida única. Diferents mides significa diferents categories.

Size

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

Estil:

  • Gairebé el mateix que Hue and Size, vol dir que els punts de dades que pertanyen a la mateixa categoria de la 3a variable tindran el mateix estil únic. Un estil de punt pot ser un punt, una estrella, una creu, un triangle,... els anomenem marcadors.

Style

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

També podem introduir una nova variable categòrica mitjançant múltiples gràfics, cada gràfic pertany a una categoria de la variable categòrica:

Col:

Crearà moltes figures horitzontalment respecte a les categories de la 3a variable.

Col

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

Fila:

Crearà moltes figures verticalment respecte a les categories de la 3a variable.

Row

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

També podem utilitzar Hue i Size a la mateixa trama, per representar 4 variables, o fins i tot Hue and Style i Col, per utilitzar 5 variables a la mateixa trama! Podem utilitzar fins a 7 variables (variable 1, variable 2, Hue, Size, Style, Col, Row) a la mateixa trama, però ens donarà una trama molt carregada que és tan desordenada i extremadament difícil d'interpretar, de vegades no informatiu en absolut.

Hue & Size

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

Conclusió:

En aquesta publicació, vam conèixer seaborn, les seves 3 categories de funcions de traçat: trames categòriques, de distribució i relacionals, i hem explicat cada funció de traçat per a cada categoria, tot juntament amb el codi python.

Consulteu el nostre Data Science Bootcamp per obtenir més informació sobre aquest tema!


Career Services background pattern

Serveis de carrera

Contact Section background image

Seguim en contacte

Code Labs Academy © 2024 Tots els drets reservats.