Analisi dati e loro visualizzazione: strumenti utili


Condividi:

Condividi su facebook
Condividi su twitter
Condividi su linkedin
Condividi su whatsapp
Condividi su telegram

Come si fa un’analisi dei dati?

Quali sono gli strumenti utili per una corretta analisi dei dati?

Ora che stai prendendo confidenza con Python e stai approfondendo i temi legati al Data Science, inizierai a chiederti come analizzare e visualizzare correttamente dei dati.

Ho voluto quindi scrivere questo articolo per darti una piccola guida, in cui ti spiego quali sono gli strumenti per una corretta analisi dei dati e anche a come visualizzarli.

Non sarà una guida esaustiva, ma cercherò di incuriosirti su quello che ti mostrerò.

Per tale motivo, come nell’ultimo articolo, ti consiglio di non leggerlo passivamente ma di scrivere le linee di codice passo passo assieme a me.

In questo modo imparerai più velocemente.

Ma non perdiamo tempo e andiamo a bomba a vedere questa guida sull’analisi e la visualizzazione dei dati

Prima di cominciare: il luogo di lavoro

Prima di cominciare, in realtà occorre che ti spieghi dove andremo a lavorare.

Per questa guida utilizzerò come ambiente di lavoro il tool di Jupyter Notebook.

Lo puoi scaricare dal sito di Anaconda, la piattaforma di cui ti ho parlato nell’ultimo articolo.

Dopo aver scaricato Anaconda, potrai trovare al suo interno Jupyter Notebook, come vedi nella figura sottostante.

Se clicchi sulla sua icona, vedrai che ti si aprirà un nuovo pannello sul tuo browser, come quello in figura.

Dopo che ti sarai trovato in questa schermata, clicca sul pulsante New sulla destra e clicca su Python 3, presente sotto alla sezione Notebook.

Ti ritroverai in un ambiente come questo in figura ed è dove lavoreremo.

Questo ambiente è chiamato Notebook ed è il tipo di file con cui si lavora su Jupyter Notebook.

È un piccolo ambiente interattivo in cui scrivere e far girare il codice.

Per impararlo ad usare, ti consiglio questa guida.


Dopo che avrai imparato ad usarlo, ti consiglio di leggere questo articolo, per conoscere alcuni trucchi sul come usarlo.

Passiamo ora al cuore di questo articolo

Pandas

Pandas è una libreria scritta per il linguaggio di programmazione Python per la manipolazione e l’analisi dei dati.

Per utilizzarla, la devi importare scrivendo:

import pandas as pd

La libreria Pandas fa uso di due tipologie di strutture dati: le Series e i Dataframe.

Le Series sono degli array ad una dimensione i cui elementi sono indicizzati.

Una Series può essere creata a partire da una lista o da un’array.

Gli elementi nella Series possono essere acceduti tramite la classica notazione con le parentesi quadre che ti ho fatto vedere nel precedente articolo.

Inoltre, i valori dei suoi elementi sono modificabili.

Il DataFrame è un array a due dimensioni, dove però le colonne hanno dei nomi.

Il DataFrame può essere visto come una sequenza di Series che condividono la stessa sequenza di indici.

Un DataFrame può essere costruito a partire da una singola Series, oppure da una lista di dizionari, un dizionario di Series, da arrary Numpy.

Nell’esempio seguente, potete vedere un DataFrame costruito a partire da un dizionario.

Per accedere ad un sottoinsieme del DataFrame, basta scrivere:

Ma ci sono molti altri modi, ad esempio tramite le funzioni loc ed iloc.

Quando si vuole effettuare un’analisi dei dati che si sono raccolti, questi vengono spesso organizzati secondo le strutture dati di Pandas, ovvero le Series ed i DataFrame.

Esistono poi delle funzioni che permettono di ottenere informazioni dai valori contenuti in queste strutture. Alcuni esempi sono:

  • sum(): fornisce la somma dei valori di una Series o di una colonna del DataFrame.
  • cumsum(): fornisce la somma cumulata dei valori di una Series o di una colonna del DataFrame.
  • min()/max(): fornisce il minimo/massimo di una Series o di una colonna di un DataFrame.
  • describe(): fornisce i principali indici statistici di un DataFrame o di una Series.
  • mean(): fornisce il valore medio di una Series o di una colonna di un DataFrame.
  • median(): fornisce il valore mediano di una Series o di una colonna di un DataFrame.

Per approfondire lo studio di Pandas, ti consiglio questo tutorial preso dal sito ufficiale di Pandas.

Matplotlib

Matplotlib è una libreria di Python che mette a disposizione delle funzioni per creare grafici e figure 2D.

Come Pandas, la devi importare nel tuo script o ambiente di lavoro, attraverso il comando:

import matplotlib.pyplot as plt

Per iniziare, puoi creare una figura utilizzando questa riga di codice:

fig = plt.figure()

A questo punto occorre andare a rapresentare qualcosa in quella figura. Per farlo puoi utilizzare la funzione plot(), definita come:

plt.plot(x,y)

dove x e y sono le sequenze di valori che verranno rappresentate nella figura rispettivamente lungo l’asse x e y della figura.

Possono essere liste o array, l’importante è che abbiano lo stesso numero di valori.

Oltre alle sequenze di valori, alla funzione plot() possiamo fornire il colore per rappresentare la linea e il suo spessore.

Da sottolineare che plot() di default va ad unire i valori con una linea continua.

Un esempio è mostrato nella figura sottostante.

Un’altra funzione che possiamo utilizzare per rappresentare dei valori è la funzione scatter(), definita come:

plt.scatter(x,y)

In questo caso, la funzione va a rappresentare i valori come punti isolati nello spazio 2D della figura, non unendoli con alcuna linea.

Volendo, può essere utilizzata subito dopo alla funzione plot(), per rappresentare i punti nella stessa figura dove si era rappresentata la linea.

A tale funzione, possiamo fornire il colore dei marker e la forma di essi, come mostrato in figura.

Puoi fornire un titolo alla figura attraverso la funzione title() e anche una legenda attraverso la funzione legend(), come mostrato in figura.

Nel caso della funzione title(), basta fornirgli come argomento una stringa col titolo che si vuole dare alla figura, mentre per la funzione legend(), occorre inserire l’argomento label nelle funzioni scatter() e plot() precedenti.

Possiamo anche fornire la dimensione del testo del titolo, modificando il valore dell’argomento fontsize.

In tali label, occorre dire il nome che si vuole dare alle figure rappresentate, come mostrato in figura.

Per completare la figura, si possono poi anche fornire i nomi degli assi, usando le funzioni xlabel() e ylabel() che prendono le stringhe con i nomi degli assi che si vuole dare.

La figura può poi essere salvata attraverso la funzione savefig() che come input prende il nome che si vuole dare alla figura, seguito dalla sua estensione.

plt.savefig('Figura_di_Prova.png')

Per approfondire la libreria di Matplotlib, ti consiglio questo video su Youtube.

Seaborn

Come ultimo strumento per l’analisi dei dati e la loro visualizzazione, ti voglio parlare di Seaborn.

Essa è una libreria di Python per l’analisi dei dati che mette a disposizione funzioni per creare dei grafici, ma rispetto a Matplotlib permette di creare grafici molto più attrattivi a livello stilistico e lo fa in modo relativamente più semplice rispetto a quanto potrebbe fare Matplotlib.

Come ormai saprai, occorre prima di tutto importarla:

import seaborn as sns

Se riprendiamo l’ultimo codice che abbiamo scritto nel paragrafo precedente, possiamo migliorare lo stile della figura usando la funzione set_style() a cui diamo come input whitegrid.

Come possiamo vedere, si crea una griglia su sfondo bianco, migliorando così la visualizzazione della figura stessa.

Con Seaborn, possiamo creare vari tipi di grafico.

Per vedere le diverse tipologie, andiamo a scaricare dei dataset che la libreria stessa ci mette a disposizione.

Uno è il dataset relativo ai passeggeri del Titanic, mentre l’altro è relativo alle piante di Iris.

I dataset possono essere scaricati in questo modo:

titanic = sns.load_dataset("titanic")
iris = sns.load_dataset("iris")

I due dataset vengono scaricati come due DataFrame.

Il dataframe dei passeggerei del Titanic è composto da 890 righe, chiamate records, relative ai passeggeri del Titanic.

Ci sono poi diverse colonne denominate attributi e per ogni record è associato un valore relativo ad un determinato attributo.

Ad esempio c’è l’attributo relativo alla classe, al sesso, l’età etc.

Il dataframe delle piante di Iris ha 150 records relative a 150 diversi piante di Iris a cui sono stati associati degli attributi come specie, dimensioni del petalo e del sepalo.

Non andremo ad indagare a fondo su questi dataset, ma semplicmenete li useremo per vedere come utilizzare la libreria Seaborn.

La prima funzione grafica che andiamo a vedere è stripplot() che applichiamo al dataset delle piante di Iris.

Essa permette di rappresentare le piante di Iris come dei punti in un grafico, dove sull’asse x abbiamo le tre specie di piante in cui il dataset è suddiviso e sull’asse y la lunghezza del petalo per ogni pianta appartenente ad una determinata specie.

Passando al dataset dei passeggeri del Titanic, possiamo utilizzare la funzione barplot().

Tale funzione permette di graficare la percentuale di sopravvissuti tra i maschi e le femmine.

In particolare, utilizzando il’argomento hue e assegnandogli l’attributo class, possiamo vedere le differenze tra classi.

Un’altra funzione utile è countplot().

Possiamo utilizzarla con il dataset dei passeggeri del Titanic per rappresentare il numero totale di uomini e donne sulla nave.

Una funzione utilissima nell’analisi dei dati e nella loro visualizzazione è la boxplot().

Essa permette di rappresentare dei boxplot di distribuzioni di dati.

Un boxplot è un metodo di rappresentazione dei dati, dove ogni elemento grafico rappresenta una caratteristica della distribuzione che il boxplot rappresenta.

Tipicamente è qualcosa del genere:

Possiamo utilizzarla sul dataset degli Iris, in questo modo:

La funzione ha creato un boxplot per ogni attributo relativo alla dimensione del petalo e del sepalo della pianta.

Come ultimo esempio, vediamo la funzione lmplot() permette invece di rappresentare i dati, assieme ad un modello di regressione lineare, come possiamo vedere in figura.

Per approfondire la libreria di Seaborn, ti consiglio questa serie di tutorial

Conclusioni

Come ti avevo già detto all’inizio, questo articolo non aveva la pretesa di essere una guida completa sull’analisi dei dati e la loro visualizzazione.

Lo scopo di questo articolo e dei precedenti che ho scritto era quello di incuriosirti verso queste librerie per l’analisi dei dati e di spingerti a approfondire i temi.

Spero di esserci riuscito!

Se ti piacerebbe approfondire altre librerie, funzioni o concetti dell’analisi dei dati di cui non ho parlato, fammelo sapere nei commenti!

Nel prossimo articolo, applicheremo quello che abbiamo imparato fino a qua per l’esplorazione di un dataset vero e proprio.

A presto!

Condividi su facebook
Condividi su twitter
Condividi su linkedin
Condividi su whatsapp
Condividi su telegram
Fabio Bernardini

Fabio Bernardini

Sono laureato in Ingegneria delle Telecomunicazioni e adesso lavoro come dottorando al Dipartimento di Ingegneria dell’Informazione a Pisa. Mi occupo di progettare sistemi di localizzazione in tempo reale in ambienti indoor o outdoor in ambito Internet of Things per l’Artificial Intelligence e il Data Science. Sono in costante contatto con persone che come me credono che l’Internet of Things sia la base per la rivoluzione digitale del nostro Paese. Per tale motivo creo contenuti su questo ambito e mi aggiorno continuamente.

Iscriviti
Notificami
guest
0 Commenti
Inline Feedback
Vedi tutti i commenti
Neuragate