Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Gestione dei Valori Mancanti | Fondamenti della Pulizia dei Dati
Preprocessing dei Dati e Feature Engineering

bookGestione 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.

12345678
import 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())
copy
Note
Definizione

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, -1 o '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.

123456789101112131415161718
import 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())
copy
Note
Nota

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.

question mark

Quale dei seguenti scenari è più appropriato per eliminare le righe con valori mancanti invece di imputarli?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 2

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Awesome!

Completion rate improved to 8.33

bookGestione 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.

12345678
import 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())
copy
Note
Definizione

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, -1 o '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.

123456789101112131415161718
import 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())
copy
Note
Nota

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.

question mark

Quale dei seguenti scenari è più appropriato per eliminare le righe con valori mancanti invece di imputarli?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 2
some-alt