Prima di iniziare a sviluppare modelli di Machine learning e a elaborare previsioni è fondamentale prendere confidenza con il proprio dataset. Spesso i dati che dobbiamo usare
sono organizzati in tabelle composte da molte colonne ognuna delle quali rappresentante un singolo aspetto del campione da studiare. E' interessante capire come i valori si distribuiscano
e come le singole colonne si pongano in rapporto tra loro.
Un importante contributo perviene già da librerie come Pandas e NumPy
che con le loro funzionalità di trasformazione, semplificazione, raggruppamento ma anche a carattere matematico-statistico permettono di evidenziare le principali caratteristiche delle
distribuzioni.
Di sicuro, un contributo fondamentale proviene però dalle librerie grafiche. Con esse è possibile rappresentare con punti, linee, colori e varie forme le caratteristiche dei dati
e ciò risulta indubbiamente molto più eloquente rispetto a valori numerici. Inoltre, i grafici hanno il principale pregio di essere comprensibili anche a chi non ha fatto della Data Science una professione
come dirigenti, commerciali o imprenditori per i quali una visualizzazione dei dati può risultare comunque molto comoda.
Grafici in Python
Python dispone di molte librerie in questo ambito che possono offrire funzionalità diverse, vari modi di interazione e approcci grafici più o meno elaborati. Introduciamo
qui le due con cui prenderemo confidenza prima di iniziare a lavorare ad algoritmi di Machine Learning e reti neurali:
- Matplotlib
perchè fa da "motore" per molti altri strumenti. Come dichiara il messaggio che accoglie il visitatore nella homepage, è una libreria che permette di realizzare grafici statici, animati ed interattivi
permettendo quindi all'utente di porsi in vari modi di fronte alla rappresentazione. Se c'è qualcosa che sicuramente la contraddistingue è la sua ricchezza di funzionalità. Sul sito del progetto
esiste una paginaOgnuno di questi esempi può essere esplorato infatti una volta selezionato si viene rimandati in un'altra pagina dove si trova codice Python e spiegazioni per poterlo sviluppare.
- Seaborn
che mira a essere ancora più snella. Anche per questo strumento abbiamo a disposizione una Gallery
quante tipologie di visualizzazione ci sono a disposizione e come implementarle nei propri programmi.
Abbiamo citato queste librerie in quanto sono le più famose e sfruttate negli ambienti di ricerca nonchè le più comunemente integrate nei
notebook
Google Colab
Tuttavia, esistono molte altre piattaforme interessanti in questo ambito come - solo per citarne un paio - plotly
bokeh
Tipologie di grafici
Da qui in poi nella guida vedremo diverse tipologie di grafico sia per studiarle in sè stesse sia per impiegarle in esplorazioni dati e valutazioni. Le librerie citate
offrono molte visualizzazioni diverse dei dataset ma non tutte sono ugualmente rilevanti. Ad esempio, il cosiddetto grafico a torta che mostra un cerchio suddiviso in spicchi trova sicuramente
più spazio in riunioni di marketing visto il suo forte impatto comunicativo piuttosto che in una ricerca di Machine Learning dove viene più comunemente apprezzato uno
scatter plot che mostra l distribuzione di valori a mezzo di punti oppure un istogramma che suddivide i valori in "classi" mostrando le zone di maggiore o minore densità.
Altri aspetti su cui ci concetreremo saranno le modalità di rappresentazione ed in particolare:
- rappresentazione di più grafici nella stessa area
benchmark che ne rappresenti un andamento tipo; - più grafici disposti in una sorta di matrice
visivamente l'andamento di più serie di valori ed il contributo interpretativo di più rappresentazioni. In proposito, sarà infatti importante decidere come collocare tali grafici nella griglia che definiremo verificando se la
comparazione più chiara si potrà avere procedendo per colonne o per righe e come collocarli l'uno in relazione degli altri.
Nelle prossime lezioni, entreremo nei dettagli pratici di Matplotlib e Seaborn vedendole al lavoro entrambe.