Visualizzazione dei dati in Python con Seaborn

Python
visualizzazione dei dati
Seaborn
Visualizzazione dei dati in Python con Seaborn cover image

Al giorno d’oggi, la risorsa più preziosa del mondo non è più il petrolio, ma i dati. La visualizzazione sta diventando uno strumento sempre più importante per dare un senso ai miliardi di righe di dati. Traducendo i dati in una rappresentazione grafica facile da interpretare, la visualizzazione dei dati aiuta nella narrazione dei dati evidenziando informazioni rilevanti, modelli e valori anomali. Tuttavia, i dati e la grafica devono funzionare insieme: è l'arte di integrare un'ottima analisi con un'ottima narrazione. In questo post del blog ti mostreremo "Sea Born", uno degli strumenti di visualizzazione più conosciuti scritti in Python.

Strumenti di visualizzazione

Utilizziamo strumenti di visualizzazione per visualizzare tendenze, modelli, valori anomali e la relazione tra le variabili. È una competenza molto richiesta soprattutto per una carriera nella scienza dei dati.

Nato dal mare

Seaborn è una libreria di visualizzazione dati Python basata sumatplotlib. Fornisce un'interfaccia di alto livello per disegnare grafici statistici accattivanti e informativi.

Funzioni di plottaggio Seaborn:

In Seaborn abbiamo 3 categorie di trame

  • Trame categoriche.

  • Grafici distribuzionali.

  • Trame relazionali.


Trame categoriche

Utilizziamo le funzioni di grafico categorico di Seaborn per visualizzare le tendenze di una variabile categoriale o per visualizzare la relazione tra due variabili con almeno una categoriale.

Conteggio della trama:

  • Mostra i conteggi delle osservazioni di ciascuna categoria dalla variabile categoriale. Contiamo semplicemente il numero di osservazioni di ciascuna categoria della variabile
seaborn.catplot(kind = 'count',
                data = dataset,
                x    = 'variable')

Count plot

Trama della barra:

  • Rappresenta una stima della tendenza di una variabile continua con l'altezza del rettangolo per ciascuna categoria di una variabile categoriale. Pertanto la funzione di grafico accetta due variabili come input, una continua e l'altra categoriale. Per ogni categoria della variabile_1, calcoliamo la tendenza della variabile_2.

  • La tendenza può essere la media, la varianza oppure puoi passare qualche funzione personalizzata...

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

Bar Plot

Trama della striscia:

  • Il grafico a strisce è uno dei grafici più semplici e diretti nella visualizzazione dei dati, disegniamo semplicemente punti che rappresentano i valori di una variabile continua. Per ciascuna categoria della Variabile 1, disegneremo i valori della Variabile 2.

Strip Plot

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

Trama dello sciame:

  • La trama dello sciame è molto simile alla trama della striscia, poiché ha esattamente la stessa funzionalità. L'unica differenza sta nel modo in cui vengono visualizzati i punti. Mentre nel grafico a strisce i punti dati possono sovrapporsi poiché sono posizionati casualmente sull'asse x, nel grafico a sciame ci assicuriamo che i punti non si sovrappongano impilandoli uno sopra l'altro.

  • Lo svantaggio è che se disponiamo di molti punti dati, sarebbe impossibile non sovrapporli, quindi l'algoritmo eliminerà alcuni punti dati per non sovrapporli.

Swarm Plot

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

Trama:

  • Il box plot viene utilizzato per rappresentare la distribuzione di una variabile continua per ciascuna categoria di una variabile categoriale. Anche se è piuttosto semplice, fornisce molte informazioni:

  • I valori dei quartili:

La scatola ha al suo interno una linea orizzontale, che rappresenta la mediana. La linea orizzontale sopra rappresenta i quartili superiori, quella sotto i quartili inferiori.

  • I valori anomali:

Si noti che ci sono alcuni punti fuori dal riquadro, questi punti rappresentano i valori anomali

Box Plot

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

Trama del violino:

Invece di tracciare la casella di distribuzione, il violin plot traccerà la distribuzione effettiva della variabile continua per ciascuna categoria della variabile categoriale utilizzando KDE (Kernel Density Estimation)

Violin Plot

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

Trame di distribuzione:

Utilizziamo le funzioni di plottaggio della distribuzione di seaborn per visualizzare la distribuzione di variabili continue.

Trama storica:

Il grafico storico rappresenta la distribuzione delle variabili continue utilizzando i contenitori.

Hist Plot

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

Trama di KDE:

Il grafico di Kde rappresenta la distribuzione effettiva dei dati, utilizzando la stima della densità del kernel.

KDE Plot

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

Può anche essere usato per rappresentare la distribuzione bivariata di due variabili continue.

KDE Plot

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

Tracciato ECDF:

Il grafico ECDF rappresenta la distribuzione cumulativa empirica di una variabile continua.

ECDF Plot

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

Trame relazionali:

Utilizziamo le funzioni di grafico relazionale di Seaborn per visualizzare la relazione tra variabili continue.

Grafico a dispersione:

  • Mostra la relazione tra due variabili continue, semplicemente tracciando tutti i punti dati.

Scatter Plot

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

Trama a linee:

  • Rappresenta la relazione tra le variabili come una funzione continua.

Line Plot

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

Altre funzionalità:

Potresti aver notato che in tutte le funzioni di grafico utilizziamo un massimo di due variabili per grafico, ma cosa succederebbe se volessimo introdurre più variabili nella nostra visualizzazione? Fortunatamente Seaborn si è occupato di questo:

Tinta:

  • Usando la tonalità possiamo introdurre una terza variabile che è categorica nella nostra visualizzazione utilizzando la codifica colore, significa che i punti dati che appartengono alla stessa categoria di questa terza variabile avranno lo stesso colore.

Hue

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

Misurare:

  • La dimensione è simile alla tonalità, ma utilizza la codifica della dimensione invece della codifica del colore. Ciò significa che i punti dati che appartengono alla stessa categoria della terza variabile avranno la stessa dimensione unica. Dimensioni diverse significano categorie diverse.

Size

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

Stile:

  • Più o meno la stessa cosa di Tonalità e Dimensione, significa che i punti dati che appartengono alla stessa categoria della terza variabile avranno lo stesso stile unico. Uno stile punto può essere un punto, una stella, una croce, un triangolo... li chiamiamo marcatori.

Style

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

Possiamo anche introdurre una nuova variabile categoriale utilizzando grafici multipli, ogni grafico appartiene a una categoria della variabile categoriale cate:

Col:

Creerà molte figure in orizzontale rispetto alle categorie della 3a variabile.

Col

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

Riga:

Creerà molte figure verticalmente rispetto alle categorie della 3a variabile.

Row

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

Possiamo anche utilizzare Tonalità e Dimensione nella stessa trama, per rappresentare 4 variabili, o anche Tonalità e Stile e Col, per utilizzare 5 variabili nella stessa trama! Possiamo utilizzare fino a 7 variabili (variabile 1, variabile 2, Tonalità, Dimensione, Stile, Col, Riga) nella stessa trama, ma ci darà una trama molto carica che è così disordinata ed estremamente difficile da interpretare, a volte non affatto informativo.

Hue & Size

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

Conclusione:

In questo post, abbiamo imparato a conoscere Seaborn, le sue 3 categorie di funzioni di grafico: grafici categoriali, di distribuzione e relazionali, e abbiamo spiegato ciascuna funzione di grafico per ciascuna categoria, il tutto insieme al codice Python.

Dai un'occhiata al nostro Bootcamp sulla scienza dei dati per saperne di più su questo argomento!


Career Services background pattern

Servizi per le carriere

Contact Section background image

Rimaniamo in contatto

Code Labs Academy © 2024 Tutti i diritti riservati.