Unità 3 / 11

Pulizia e preelaborazione dei dati: valore mancante, valore anomalo e conversione del tipo

Guadagni:

  • Capacità di distinguere la causa dei valori mancanti (casuale, sistematico, significativo) e scegliere la strategia appropriata e calcolare il valore di riempimento solo in base all'addestramento
  • Capacità di esaminare i valori anomali prima di eliminarli e distinguere tra un errore di dati e un vero evento raro
  • Capacità di prevenire la perdita silenziosa monitorando l'impatto di ogni passaggio sul numero di righe/spazi riportando allo standard le incoerenze di tipo e formato

Circa il 60-80% del tempo di un data scientist è dedicato alla pulizia; Nel settore, questo viene chiamato, per metà scherzosamente, "data wrangling" (data wrangling o data cleaning). Perché i dati del mondo reale non sono quasi mai pronti per l'analisi: le date sono in formati misti, i numeri sono memorizzati come testo, alcune celle sono vuote, un cliente appare tre volte nella stessa tabella con due ortografie diverse. In questa unità tratteremo tre aspetti fondamentali della pulizia: valori mancanti, valori anomali e conversione di tipo/formato. L’intelligenza artificiale è un assistente straordinariamente veloce in questo lavoro; Ma sei tu a decidere cosa pulire e come, perché ogni scelta di pulizia cambia l'analisi.

La regola d'oro della pulizia: ogni cambiamento è una decisione

Eliminare una cella, riempire un valore mancante con la media, eliminare un valore anomalo: nessuna di queste sono operazioni “neutre”. Ciascuno modifica i dati e influenza il risultato. Quindi la regola d'oro della pulizia: scrivere ogni modifica nel codice, annotare la logica, non sovrascrivere mai i dati originali. L'intelligenza artificiale ti fornisce un codice di pulizia rapido, ma è tua responsabilità capire cosa fa quel codice; Non eseguirlo senza vedere quante righe sono scomparse quando dici "elimina righe vuote".

Attenzione: non modificare mai i dati grezzi originali. Scrivere la versione ripulita in un file/tabella separato. In questo modo, se individui un errore, puoi tornare al punto di partenza e mantenere la riproducibilità.

Valori mancanti: perché è vuoto, cosa fare

Un valore mancante (di solito appare come NaN — "Non un numero" nei panda) è quando una cella è vuota. Ma la causa del divario determina la soluzione. Ci sono tre situazioni tipiche. Mancanza casuale: il sensore non ha funzionato per un momento; Potrebbe essere ragionevole compilarlo. Mancanza sistematica: un campo modulo viene richiesto solo per determinati clienti; Il divario qui è in realtà l’informazione. Mancanza significativa: se la "data di restituzione" è vuota, il cliente non ha restituito; Questo spazio significa 0 o "nessuno", non è riempito.

Strategie principali:

Strategia

Quando è opportuno?

rischio

Elimina riga

Il tasso di mancanze è molto basso (<5%) e casuale

Perdita di dati e rappresentazione

Elimina una colonna

La maggior parte della colonna è vuota (>60%)

perdita di informazioni

Riempimento medio/mediano

Numerico, mancante in modo casuale

Riduce la varianza e distorce la distribuzione

Categoria "sconosciuta"

Mancanza categorica e sistematica

Genera categorie aggiuntive

Previsione con modello

Colonna complessa e preziosa

Rischio di perdite, complessità

Punto critico: il valore di imputazione dovrebbe essere calcolato solo dai dati di addestramento e lo stesso valore dovrebbe essere applicato ai dati di test. Se includi la media dei dati del test, crei una perdita (Unità 10). La mediana (il valore medio dei dati ordinali) è spesso preferita alla media perché è più resistente ai valori anomali rispetto alla media.

Valori anomali: errore o realtà?

Un valore anomalo può essere una di queste due cose: un errore nei dati (999 nella colonna dell'età) o un evento reale ma raro (l'ordine da 2 milioni di dollari di un cliente). Confondere le due cose è disastroso: cancella un vero valore anomalo e butti via informazioni importanti; Se lasci andare un errore, le tue medie ne risentiranno. Pertanto è necessario esaminare prima il valore anomalo e non eliminarlo automaticamente.

Metodi di rilevamento comuni: metodo IQR (intervallo interquartile; valori che sono più di 1,5 volte la differenza tra i quintili del 25% e 75% dei dati sono considerati valori anomali) e punteggio z (il numero di deviazioni standard dalla media di un valore; solitamente un valore anomalo se è maggiore di 3). L'intelligenza artificiale scrive il codice per questi calcoli in pochi secondi; Ma prima di dire "elimina", controlla quali sono questi valori.

Conversione di tipo e formato: origine dell'errore silenzioso

Uno dei maggiori grattacapi è la confusione del tipo di dati. Se una colonna "importo" è memorizzata come testo, non è possibile aggiungerla; Il programma legge erroneamente un numero in formato turco come "1.250,50" anziché "milleduecentocinquanta". Le date ("01/03/2024" giorno-mese o mese-giorno?), le categorie ("Maschio"/"maschio"/"M" sono la stessa cosa?) e le unità (TL o kuruş?) producono silenziosamente risultati errati. Gran parte del lavoro di pulizia consiste nell'inserire queste incoerenze nello standard: le date in un formato, le categorie in un'ortografia, i numeri in un'unità.

tre mini custodie

Caso 1 – La trappola media. Una squadra ha riempito i 320 valori mancanti nella colonna del reddito con la media ($ 48.500). Ma le carenze erano sistematiche: si trattava del segmento a basso reddito che non aveva mai dichiarato il proprio reddito. Il riempimento medio ha reso questo gruppo artificialmente ricco e il modello di credito era sbagliato. Lezione: chiedi “perché è vuoto” prima di compilarlo.

Caso 2: valore anomalo che non deve essere eliminato. Un analista di vendita al dettaglio ha cancellato 4 ordini enormi (1,8 milioni di TL ciascuno) nei dati di vendita, pensando che fossero "errori". Si trattava però di vere e proprie commesse aziendali e rappresentavano il 22% del fatturato totale. Il modello di previsione post-eliminazione ha mancato completamente la domanda istituzionale. Lezione: esaminare il valore anomalo prima di eliminarlo.

Caso 3: disastro del formato della data. In un CSV, le date erano miste in "2024-03-01" e "01.03.2024". Quando il codice scritto da YZ è stato analizzato secondo il primo formato, 6.400 righe sono diventate NaT come "data non valida" e sono state silenziosamente escluse dall'analisi. L'analista se ne è accorto solo quando il numero di righe è diminuito. Lezione: controlla sempre il numero di righe e di spazi vuoti dopo la conversione.

Quattro modelli copiabili

1) Mappa valori mancanti:

Ho dei panda df. Scrivi il codice che produce una tabella che mostra il numero e la percentuale di mancanti (NaN) per ogni colonna. Quindi, elencare separatamente le colonne con un tasso mancante superiore al 40% e quelle con un tasso mancante inferiore al 5%. Genera semplicemente questo codice di diagnosi, non la strategia che suggerisci; Prenderò la decisione.

2) Ispezione dei valori anomali (non cancellazione):

Scrivi il codice che RILEVA (non elimina!) i valori anomali per la mia colonna "importo" utilizzando il metodo IQR. Metti le righe periferiche in un df separato in modo che io possa esaminarle manualmente. Stampa anche il numero di valori anomali e la loro quota nel totale.

3) Standardizzazione tipologia/formato:

Scrivere il codice che standardizza le seguenti colonne:- "data": possono essere formati misti ("2024-03-01" e "01.03.2024"); convertili tutti in datetime, conta quelli intraducibili e segnala (butta via in silenzio). - "genere": "maschio"/"maschio"/"M" -> "M", "femmina"/"femmina"/"F" -> "K". - "importo": testo in formato turco ("1.250,50") -> numero decimale. Stampa quante righe sono interessate dopo ogni conversione.

4) Controllo prima/dopo la pulizia:

Scrivi il codice che confronta df.shape, conteggio mancante e statistiche di riepilogo (media, mediana, minimo, massimo) delle colonne selezionate prima e dopo un passaggio di pulizia. Scopo: vedere cosa cambia la pulizia.

Prompt debole / Prompt forte

Suggerimento debole:

Cancella questi dati.

"Chiaro" è ambiguo; L'intelligenza artificiale non sa quali parti mancanti dovrebbero essere cancellate, cosa compilare, quale colonna elaborare e come. Il risultato: cambiamenti ciechi e irreversibili.

Suggerimento potente:

Il tuo ruolo: assistente alla pulizia dei dati. colonne df: customer_id (int), Registration_date (testo in formato misto), revenue_tl (testo, "1.200,00"), città (testo, ortografia incoerente). Regole: - Modifica del df originale; Lavora sulla copia denominata df_clean.- Converti reddito_tl in numero, conta ciò che non può essere tradotto.- Cambia record_date in datetime, segnala l'errore.- Non eliminare alcuna riga senza la mia approvazione; Mostra i candidati separatamente. Dopo ogni passaggio, stampa df_temiz.shape e il numero mancante.

Qui la fonte è tutelata, ogni trasformazione è conteggiata, la cancellazione è lasciata all'umano.

Errori comuni

  • Riempire gli spazi vuoti senza chiedersi "perché è vuoto?" Riempire le mancanze sistematiche/significative con la media distorce i dati.
  • Eliminazione del valore anomalo senza esaminarlo. Scartare eventi reali ma rari distrugge informazioni importanti.
  • Calcolo del valore di riempimento da tutti i dati. L'inclusione dei dati dei test crea perdite; basta calcolare dall'allenamento.
  • Non controllare il numero di righe/spazi dopo la conversione. Le righe che sono silenziosamente NaT/NaN sono escluse dall'analisi.
  • Sovrascrivere i dati originali. Si perdono rendimento e riproducibilità.
Suggerimento: esegui la pulizia con un confronto "prima-dopo". Stampa df.shape, conteggio mancante e statistiche di riepilogo delle colonne critiche dopo ogni passaggio. Quindi vedi immediatamente che un passaggio distrugge inaspettatamente 6.000 righe.

In sintesi

La pulizia è la fase più dispendiosa in termini di tempo e decisioni della scienza dei dati. Ogni cambiamento cambia i dati, quindi ognuno è una decisione consapevole. Per i valori mancanti, chiedi "perché è vuoto?" Esaminare eventuali valori anomali prima di eliminarli; Portare tipo e formato allo standard. Calcola il valore di riempimento solo dai dati di addestramento, conserva l'originale e monitora l'impatto di ogni passaggio conteggiandolo. L’intelligenza artificiale è un enorme acceleratore in questo settore, ma gli esseri umani decidono cosa pulire e perché.

Compito dell'applicazione

Prendi (o crea) una piccola tabella e inserisci deliberatamente tre problemi al suo interno: una tupla di valori mancanti, un valore anomalo, un formato di data misto. Richiedere il codice di diagnosi e standardizzazione ad AI con i modelli sopra indicati; confrontare il numero di righe e di spazi vuoti prima/dopo ogni passaggio. Prova a cogliere almeno una "perdita silenziosa" e nota come l'hai notata.

lista di controllo

  • [ ] Ho mantenuto i dati grezzi originali e ho lavorato sulla copia?
  • [ ] Ho posto la domanda "perché è vuoto" per ogni colonna mancante?
  • [ ] Ho esaminato i valori anomali prima di eliminarli?
  • [ ] Ho calcolato il valore di riempimento solo dai dati di addestramento?
  • [ ] Sto controllando il numero di righe/spazi dopo ogni passaggio ed eliminando la perdita silenziosa?