Gestione dei Valori Mancanti
I dati mancanti sono comuni nei dataset del mondo reale e possono influenzare l'analisi o i modelli. I tre principali tipi di dati mancanti sono:
- Missing Completely at Random (MCAR): la mancanza non è correlata ad alcun dato;
- Missing at Random (MAR): la mancanza è correlata solo ai dati osservati;
- Missing Not at Random (MNAR): la mancanza dipende dai valori mancanti stessi.
La scelta della strategia adeguata per gestire i valori mancanti dipende dal tipo di mancanza. Una gestione inadeguata può causare risultati distorti, analisi meno solide e previsioni inaffidabili.
12345678import pandas as pd import seaborn as sns titanic = sns.load_dataset("titanic") # Find missing values in each column print("Missing values per column:") print(titanic.isnull().sum())
Imputazione è il processo di sostituzione dei valori mancanti con valori sostitutivi, come la media, la mediana o la moda, ecc. L'imputazione aiuta a preservare la struttura e la dimensione del dataset per ulteriori analisi o modellizzazione.
Tipi di Metodi di Imputazione
Tipologie di dati differenti richiedono strategie di imputazione specifiche per gestire efficacemente i valori mancanti:
- Imputazione con la media: da utilizzare per variabili numeriche; sostituisce i valori mancanti con la media dei valori osservati;
- Imputazione con la mediana: da utilizzare per variabili numeriche, in particolare quando i dati sono asimmetrici; sostituisce i valori mancanti con la mediana;
- Imputazione con la moda: da utilizzare per variabili categoriche; sostituisce i valori mancanti con la categoria o il valore più frequente;
- Imputazione con valore costante: da utilizzare sia per variabili numeriche che categoriche; riempie i valori mancanti con un valore fisso come
0,-1o'unknown'; - Forward fill (
ffill): da utilizzare per serie temporali o dati ordinati; propaga l'ultima osservazione valida in avanti per colmare le lacune; - Backward fill (
bfill): da utilizzare per serie temporali o dati ordinati; utilizza la prossima osservazione valida per colmare le lacune all'indietro; - Interpolazione: da utilizzare per variabili numeriche, in particolare nelle serie temporali; stima i valori mancanti in base ai dati adiacenti utilizzando metodi lineari o matematici.
Scegliere il metodo di imputazione più adatto al tipo di dato e al contesto dell'analisi.
123456789101112131415161718import pandas as pd import seaborn as sns # Load Titanic dataset titanic = sns.load_dataset("titanic") # Fill missing values in 'age' (numerical) with the mean titanic['age'] = titanic['age'].fillna(titanic['age'].mean()) # Fill missing values in 'deck' (categorical) with the mode titanic['deck'] = titanic['deck'].fillna(titanic['deck'].mode()[0]) # Drop 'embarked' and 'embark_town' columns (only 2 missing values each) titanic = titanic.drop(['embarked', 'embark_town'], axis=1) # Display the number of missing values after processing print("Missing values after processing:") print(titanic.isnull().sum())
L'eliminazione dei valori mancanti è rapida e semplice, ma può comportare la perdita di dati preziosi, soprattutto quando la presenza di valori mancanti è diffusa. L'imputazione consente di conservare una maggiore quantità di dati, ma può introdurre bias se non viene scelta con attenzione. Valutare la quantità e il pattern dei valori mancanti, oltre all'importanza della variabile, prima di decidere se eliminare o imputare.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Can you explain why you chose mean imputation for 'age' and mode for 'deck'?
What are some potential drawbacks of dropping columns with missing values?
How do I decide which imputation method is best for my dataset?
Fantastico!
Completion tasso migliorato a 8.33
Gestione dei Valori Mancanti
Scorri per mostrare il menu
I dati mancanti sono comuni nei dataset del mondo reale e possono influenzare l'analisi o i modelli. I tre principali tipi di dati mancanti sono:
- Missing Completely at Random (MCAR): la mancanza non è correlata ad alcun dato;
- Missing at Random (MAR): la mancanza è correlata solo ai dati osservati;
- Missing Not at Random (MNAR): la mancanza dipende dai valori mancanti stessi.
La scelta della strategia adeguata per gestire i valori mancanti dipende dal tipo di mancanza. Una gestione inadeguata può causare risultati distorti, analisi meno solide e previsioni inaffidabili.
12345678import pandas as pd import seaborn as sns titanic = sns.load_dataset("titanic") # Find missing values in each column print("Missing values per column:") print(titanic.isnull().sum())
Imputazione è il processo di sostituzione dei valori mancanti con valori sostitutivi, come la media, la mediana o la moda, ecc. L'imputazione aiuta a preservare la struttura e la dimensione del dataset per ulteriori analisi o modellizzazione.
Tipi di Metodi di Imputazione
Tipologie di dati differenti richiedono strategie di imputazione specifiche per gestire efficacemente i valori mancanti:
- Imputazione con la media: da utilizzare per variabili numeriche; sostituisce i valori mancanti con la media dei valori osservati;
- Imputazione con la mediana: da utilizzare per variabili numeriche, in particolare quando i dati sono asimmetrici; sostituisce i valori mancanti con la mediana;
- Imputazione con la moda: da utilizzare per variabili categoriche; sostituisce i valori mancanti con la categoria o il valore più frequente;
- Imputazione con valore costante: da utilizzare sia per variabili numeriche che categoriche; riempie i valori mancanti con un valore fisso come
0,-1o'unknown'; - Forward fill (
ffill): da utilizzare per serie temporali o dati ordinati; propaga l'ultima osservazione valida in avanti per colmare le lacune; - Backward fill (
bfill): da utilizzare per serie temporali o dati ordinati; utilizza la prossima osservazione valida per colmare le lacune all'indietro; - Interpolazione: da utilizzare per variabili numeriche, in particolare nelle serie temporali; stima i valori mancanti in base ai dati adiacenti utilizzando metodi lineari o matematici.
Scegliere il metodo di imputazione più adatto al tipo di dato e al contesto dell'analisi.
123456789101112131415161718import pandas as pd import seaborn as sns # Load Titanic dataset titanic = sns.load_dataset("titanic") # Fill missing values in 'age' (numerical) with the mean titanic['age'] = titanic['age'].fillna(titanic['age'].mean()) # Fill missing values in 'deck' (categorical) with the mode titanic['deck'] = titanic['deck'].fillna(titanic['deck'].mode()[0]) # Drop 'embarked' and 'embark_town' columns (only 2 missing values each) titanic = titanic.drop(['embarked', 'embark_town'], axis=1) # Display the number of missing values after processing print("Missing values after processing:") print(titanic.isnull().sum())
L'eliminazione dei valori mancanti è rapida e semplice, ma può comportare la perdita di dati preziosi, soprattutto quando la presenza di valori mancanti è diffusa. L'imputazione consente di conservare una maggiore quantità di dati, ma può introdurre bias se non viene scelta con attenzione. Valutare la quantità e il pattern dei valori mancanti, oltre all'importanza della variabile, prima di decidere se eliminare o imputare.
Grazie per i tuoi commenti!