In questo esploriamo tre Data Visualization Tools in Python: Pie Charts, Box Plots e Scatter Plots.
Data Visualization
Per Data Visualization si intende quella tecnica che consente di esplorare e rappresentare i dati sotto forma di grafici e rapporti, con l’intento di svilupparne una conoscenza globale.
Abbiamo evidenziato in questo precedente post dei metodi base di visualizzazione: ora esploriamo tre sistemi leggermente più sofisticati.
È buona prassi procedere a visualizzare i dati solo dopo aver diviso il dataset in training e testing. Il nostro cervello è infatti un sofisticato sistema d’individuazione di pattern: così facendo eviteremo di creare pericolosi bias sui dati.
La parte pratica farà uso di un comune dataset canadese che fornisce indicazioni sull’immigrazione dal 1980 al 2013.
Trattandosi di un file xlsx, useremo un metodo di pandas.
Avviamo un jupyter notebook in locale, o su Google Colab, e prepariamoci all’esplorazione importando il dataset:
import numpy as np import pandas as pd from matplotlib import pyplot as plt # use the inline backend to generate the plots within the browser %matplotlib inline df = pd.read_excel('https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DV0101EN/labs/Data_Files/Canada.xlsx', sheet_name='Canada by Citizenship', skiprows=range(20), skipfooter=2 ) df.head()
Con l’ultima funzione di assicuriamo di aver correttamente importato il dataset!
Inoltre, ti consiglio di fare riferimento sempre al notebook per la parte pratica, poiché ho intenzionalmente saltato alcuni passaggi per ridurre all’osso il contenuto del post, concentrandoci unicamente sugli aspetti “teorici”.
Pie Chart
Un Pie Chart, o grafico a torta, è un grafico statistico circolare diviso in fette, usato per rappresentare proporzioni numeriche.
È parere comune ritenere che un Pie Chart pecchi nel rappresentare in modo coerente i dati ed è pertanto preferibile optare per un più semplice Bar Graph.
Per ulteriori approfondimenti su questa tematica, ti consiglio di leggere questo interessante articolo.
Indipendentemente da questo, esploriamo comunque i Pie Chart in Python.
# create the chart and plot it df_cont['Total'].plot(kind='pie', figsize=(10,10)) plt.title('Immigration to Canada by Continet (1980-2013)') plt.show()

Box Plot
Un Box Plot è un sofisticato strumento di rappresentazione dati che permette di visualizzare anche praecchie dimensioni principali contemporaneamente.

- A: Mediana, indice di posizione per le unità centrali della distribuzione
- B: Terzo Quartile, il 75% dei dati è inferiore a questo limite
- C: Primo Quartile, il 25% dei dati è inferiore a questo limite
- D: Scarto Interquartile, ampiezza della fascia di valori che contiene il 50% dei dati.
- E: Minimo, numero più piccolo nei dati rappresentati
- F: Outliers, valori aberranti, fuori scala
Per completezza d’informazione, viene rappresentato anche il massimo benché la label sia assente in figura, e corrisponde alla tacca orizzontale in prossimità del valore 6.4.
# plot and show box plot df_japan.plot(kind='box') plt.title('Box Plot of Japanese Imigration from 1980 to 2013') plt.ylabel('Number of Immigrants') plt.show()

Scatter Plot
Un Scatter Plot, o grafico a dispersione permette di rappresentare valori inerenti a due variabili.
E’ buona prassi confrontare una variabile indipendente con quella dipendente di riferimento, quindi una feature con la variabile target, per capire se esista o meno una correlazione tra le due.
df_total.plot( kind="scatter", x='years', y='Total' ) plt.title(' Total Immigrant population to Canada from 1980 to 2013') plt.xlabel('Year') plt.ylabel('Number of Immigrants') plt.show()

Prima di lasciarti, e augurarti buona giornata, ti avviso solo che data la noiosità di questi argomenti ho deciso di pubblicare in tardo pomeriggio / serata un tutorial sulla creazione di un bot usando DialogFlow.
Purtroppo la creazione è durata più a lungo del previsto. Ho preferito dedicare più tempo alla realizzazione del tutorial per offrirti un contenuto di qualità. Puoi trovare tutto qui.
Il link al jupyter netbook lo trovi qui.
Torna a trovarmi questa sera!
Un caldo abbraccio, Andrea.