Preelaborazione dei dati: esplorazione delle chiavi per la preparazione dei dati - SitePoint
In questo articolo esploreremo cos'è la preelaborazione dei dati, perché è importante e come pulire, trasformare, integrare e ridurre i nostri dati.
Preelaborazione dei dati è un passaggio fondamentale nell’analisi dei dati e nell’apprendimento automatico. È un processo complesso che pone le basi per il successo di qualsiasi impresa basata sui dati.
Fondamentalmente, la preelaborazione dei dati comprende una serie di tecniche per trasformare dati grezzi e non raffinati in un formato strutturato e coerente adatto ad analisi e modellizzazioni approfondite.
Questa fase preparatoria fondamentale è la spina dorsale per estrarre conoscenze e saggezza preziose dai dati, potenziando il processo decisionale e la modellazione predittiva in diversi ambiti.
La necessità di pre-elaborazione dei dati nasce dalle imperfezioni e complessità intrinseche dei dati del mondo reale. Spesso acquisiti da fonti diverse, i dati grezzi tendono ad essere pieni di valori mancanti, valori anomali, incoerenze e rumore. Questi difetti possono ostacolare il processo analitico, mettendo a repentaglio l’affidabilità e l’accuratezza delle conclusioni tratte. Inoltre, i dati raccolti da vari canali possono variare in scale, unità e formati, rendendo i confronti diretti ardui e potenzialmente fuorvianti.
La preelaborazione dei dati prevede in genere diverse fasi, tra cui la pulizia dei dati, la trasformazione dei dati, l'integrazione e la riduzione dei dati. Esploreremo ciascuno di questi a turno di seguito.
Pulizia dei dati comporta l’identificazione e la correzione di errori, incoerenze e imprecisioni nei dati. Alcune tecniche standard utilizzate nella pulizia dei dati includono:
Discutiamo ciascuna di queste tecniche di pulizia dei dati a turno.
La gestione dei valori mancanti è una parte essenziale della preelaborazione dei dati. Le osservazioni con dati mancanti vengono trattate con questa tecnica. Discuteremo tre metodi standard per la gestione dei valori mancanti: rimozione delle osservazioni (righe) con valori mancanti, imputazione dei valori mancanti con gli strumenti statistici e imputazione dei valori mancanti con algoritmi di apprendimento automatico.
Dimostreremo ciascuna tecnica con un set di dati personalizzato e spiegheremo l'output di ciascun metodo, discutendo singolarmente tutte queste tecniche di gestione dei valori mancanti.
Il modo più semplice per gestire i valori mancanti è eliminare le righe con valori mancanti. Questo metodo in genere non è consigliato poiché può influire sul nostro set di dati rimuovendo righe contenenti dati essenziali.
Comprendiamo questo metodo con l'aiuto di un esempio. Creiamo un set di dati personalizzato con dati su età, reddito e istruzione. Introduciamo i valori mancanti impostando alcuni valori su NaN (non un numero). NaN è un valore a virgola mobile speciale che indica un risultato non valido o non definito. Le osservazioni con NaN verranno eliminate con l'aiuto della funzione dropna() della libreria Pandas:
L'output del codice precedente è riportato di seguito. Tieni presente che l'output non verrà prodotto in un formato di tabella delimitata. Lo forniamo in questo formato per rendere l'output più interpretabile, come mostrato di seguito.
Set di dati originale
Set di dati pulito
Le osservazioni con valori mancanti vengono rimosse nel set di dati pulito, quindi vengono mantenute solo le osservazioni senza valori mancanti. Scoprirai che solo le righe 0 e 4 sono presenti nel set di dati pulito.
Eliminare righe o colonne con valori mancanti può ridurre significativamente il numero di osservazioni nel nostro set di dati. Ciò potrebbe influire sull'accuratezza e sulla generalizzazione del nostro modello di apprendimento automatico. Pertanto, dovremmo utilizzare questo approccio con cautela e solo quando disponiamo di un set di dati sufficientemente ampio o quando i valori mancanti non sono essenziali per l'analisi.
Questo è un modo più sofisticato per gestire i dati mancanti rispetto al precedente. Sostituisce i valori mancanti con alcune statistiche, come la media, la mediana, la moda o il valore costante.
Questa volta creiamo un set di dati personalizzato con dati su età, reddito, sesso e stato civile con alcuni valori mancanti (NaN). Assegniamo quindi i valori mancanti alla mediana utilizzando la funzione fillna() della libreria Pandas: