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
Awesome!
Completion rate improved to 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!