Blog.

Data Visualization Tools Python: Pie Charts, Box Plots, Scatter Plots


Autore
Andrea Provino
Data
Tempo di lettura
3 minuti
Categoria
Data Science, machine-learning

data-visualization-tools-python-machine-learning-data-science-tutorial-pie-charts-box-plots-scatter-plot

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 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.

Taggeddata sciencedata scientistdatasetteoria


Ultimi post

Patricia Merkle Trie

Il Practical Algorithm To Retrieve Information Coded In Alphanumeric Merkle Trie, o Patricia Merkle Trie è una struttura dati chiave-valore usatada Ethereum e particolarmente efficiente per il salvataggio e la verifica dell’integrità dell’informazione. In questo post ne studieremo le caratteristiche. Prima di procedere, ci conviene ripassare l’introduzione al Merkle Tree nella quale abbiamo chiarito il […]

Andrea Provino
ethereum-patricia-merkle-tree
Tree Data Structure: cos’è un Merkle Tree

Un Merkle Tree è una struttura dati efficiente per verificare che un dato appartenga a un insieme esteso di elementi. È comunemente impiegato nelle Peer to Peer network in cui la generazione efficiente di prove (proof) contribuisce alla scalabilità della rete. Capire i vantaggi di questa struttura ci tornerà utile nel nostro percorso di esplorazione […]

Andrea Provino
merkle-tree-cover
UTXO: come funziona il modello Unspent Transaction Outputs

Per tenere traccia dei bilanci utente, la blockchain di Bitcoin sfrutta un modello di contabilità definito UTXO o Unspent Transaction Outputs. In questo articolo ne esaminiamo le caratteristiche. Ogni blockchain è dotata di un sistema di contabilità, un meccanismo attraverso cui tenere traccia dei bilanci di ciascun utente. I due grandi modelli di riferimento nel […]

Andrea Provino
bitcoin-utxo
Cos’è Ethereum

Possiamo definire Ethereum come una macchina a stati distribuita che traccia le transizioni di un archivio dati general-purpose (i.e. una memoria in grado di registrare qualsiasi dato esprimibile come coppia di chiave e valore o key-value) all’interno della Ethereum Blockchain. È arrivato il momento di esplorare uno dei progetti tecnologici più innovativi e interessanti degli […]

Andrea Provino
ethereum