Data Visualization
La visualizzazione dei dati li rappresenta con grafici, diagrammi e mappe, rendendo visibili schemi, valori anomali ed errori, dagli audit dei set di dati alle curve di addestramento.
La visualizzazione dei dati è la rappresentazione grafica dei dati: codifica i valori tramite posizione, lunghezza, colore o forma in grafici, diagrammi, mappe e immagini annotate, così da rendere visibili schemi, valori anomali ed errori che le tabelle numeriche nascondono. La visualizzazione esplorativa aiuta gli analisti a comprendere i dati durante l'analisi esplorativa dei dati, una pratica promossa da John Tukey nel suo omonimo libro del 1977; quella esplicativa comunica invece i risultati ad altre persone. Nell'apprendimento automatico e nella visione artificiale, consente ai professionisti di verificare i dataset, seguire l'addestramento, diagnosticare gli errori dei modelli e spiegare le previsioni.
Perché la visualizzazione è importante#
Nel 1973, lo statistico Francis Anscombe lo dimostrò con quattro piccoli dataset, oggi chiamati quartetto di Anscombe, che condividono statistiche riassuntive quasi identiche:
import matplotlib.pyplot as plt
import numpy as np
# Anscombe's quartet: four datasets of 11 (x, y) points each
x = [10, 8, 13, 9, 11, 14, 6, 4, 12, 7, 5]
quartet = {
"I": (x, [8.04, 6.95, 7.58, 8.81, 8.33, 9.96, 7.24, 4.26, 10.84, 4.82, 5.68]),
"II": (x, [9.14, 8.14, 8.74, 8.77, 9.26, 8.10, 6.13, 3.10, 9.13, 7.26, 4.74]),
"III": (x, [7.46, 6.77, 12.74, 7.11, 7.81, 8.84, 6.08, 5.39, 8.15, 6.42, 5.73]),
"IV": ([8] * 7 + [19] + [8] * 3, [6.58, 5.76, 7.71, 8.84, 8.47, 7.04, 5.25, 12.50, 5.56, 7.91, 6.89]),
}
# Print each dataset's summary statistics and draw its scatter plot side by side
fig, axes = plt.subplots(1, 4, figsize=(12, 3), sharex=True, sharey=True)
for ax, (name, (xs, ys)) in zip(axes, quartet.items()):
r = np.corrcoef(xs, ys)[0, 1]
print(f"{name}: mean y {np.mean(ys):.2f}, variance y {np.var(ys, ddof=1):.2f}, correlation {r:.3f}")
ax.scatter(xs, ys)
ax.set_title(f"Dataset {name}")
fig.savefig("anscombe.png")Tutti e quattro i dataset mostrano una media di y pari a 7,50, una varianza di 4,12 o 4,13 e una correlazione di 0,816 o 0,817; eppure i grafici salvati sono completamente diversi: il dataset I presenta una tendenza lineare rumorosa, il II una curva regolare, il III una retta perfetta con un valore anomalo e il IV una colonna verticale di punti la cui correlazione dipende interamente da un punto molto distante. Nel 2017, i ricercatori di Autodesk hanno ampliato l'idea con il Datasaurus Dozen: tredici dataset con le stesse statistiche, uno dei quali, rappresentato graficamente, ha la forma di un dinosauro.
Come scegliere un grafico#
Un grafico è efficace quando la codifica visiva corrisponde alla domanda. I confronti tra categorie si prestano ai grafici a barre, le tendenze nel tempo ai grafici a linee, le distribuzioni agli istogrammi e ai box plot, le relazioni tra due variabili ai grafici a dispersione e gli schemi spaziali alle mappe e alle mappe di calore. Nei loro esperimenti sulla percezione grafica del 1984, William Cleveland e Robert McGill hanno rilevato che le persone valutano con maggiore precisione la posizione lungo una scala comune, seguita da lunghezza, angolo, area e, infine, sfumatura del colore; per questo, i grafici a barre e a punti sono più efficaci dei grafici a torta per i confronti precisi. Il colore rappresenta al meglio categorie e grandezze con mappe cromatiche percettivamente uniformi e adatte a chi ha daltonismo, come viridis, predefinita in Matplotlib dalla versione 2.0.
Visualizzazione nell'apprendimento automatico#
- Verifiche dei bias nei dataset: Gli istogrammi delle classi evidenziano gli squilibri, le mappe delle posizioni e delle dimensioni dei riquadri rivelano oggetti che compaiono sempre in una certa regione o a una determinata scala e le griglie di immagini mettono in luce gli errori nelle etichette.
- Curve della funzione di perdita: Le curve della perdita di addestramento e di validazione per epoca mostrano la convergenza; una perdita di validazione che aumenta mentre quella di addestramento diminuisce segnala overfitting.
- Matrici di confusione e curve precision-recall: Mostrano quali classi un modello confonde e come la precisione si bilancia con il richiamo al variare della soglia di confidenza.
- Mappe di embedding con t-SNE: Proiezioni come t-SNE collocano campioni simili vicini tra loro in due dimensioni, mettendo in evidenza cluster, duplicati e valori anomali.
- Mappe di salienza e sovrapposizioni delle previsioni: Disegnano riquadri, maschere o keypoint sulle immagini ed evidenziano i pixel che hanno determinato una decisione.
Gli strumenti di monitoraggio degli esperimenti, come TensorBoard e Weights & Biases, mostrano queste metriche in tempo reale per numerose esecuzioni di addestramento, così l'overfitting emerge non appena la perdita di validazione inizia a salire. Per impostazione predefinita, Ultralytics YOLO salva anche i grafici principali nella cartella di ogni esecuzione di addestramento: labels.jpg mostra il numero di istanze per classe, un campione delle forme dei riquadri e gli istogrammi 2D dei centri dei riquadri di delimitazione e delle larghezze rispetto alle altezze; results.png traccia ogni perdita e metrica per epoca, mentre la validazione aggiunge matrici di confusione e curve precision-recall.
Visualizzazione dei dati e termini correlati#
- Analisi dei dati: Processo più ampio che consiste nell'esaminare, pulire e modellare i dati per rispondere a domande. La visualizzazione è uno dei suoi strumenti principali, sia per l'esplorazione sia per la presentazione dei risultati.
- Intelligenza artificiale spiegabile (XAI): Spiega perché un modello ha preso una decisione; tra i suoi principali risultati visivi figurano le mappe di salienza.
- Estrazione di dati: Usa algoritmi per individuare automaticamente schemi in grandi dataset; spesso la visualizzazione presenta gli schemi trovati.
- Dashboard: Raccolte di grafici in un'unica schermata che monitorano nel tempo le metriche principali; sono comuni negli strumenti di business intelligence e nel monitoraggio dei modelli in produzione.










