Sfida: Imputazione dei Valori Mancanti
La classe SimpleImputer è progettata per gestire i dati mancanti sostituendo automaticamente i valori assenti.
from sklearn.impute import SimpleImputer
imputer = SimpleImputer()
All'inizializzazione, può essere personalizzata impostando i suoi parametri:
missing_value: specifica il segnaposto per i valori mancanti. Per impostazione predefinita, ènp.nan;strategy: la strategia utilizzata per imputare i valori mancanti. Il valore predefinito è'mean';fill_value: specifica il valore da utilizzare per riempire i valori mancanti quando lastrategyè'constant'. Il valore predefinito èNone.
Essendo un trasformatore, dispone dei seguenti metodi:
È inoltre necessario decidere quali valori utilizzare per l'imputazione.
Un approccio comune consiste nel sostituire i valori numerici mancanti con la media e i valori categorici mancanti con la moda (valore più frequente), poiché ciò altera minimamente la distribuzione dei dati.
La scelta è controllata dal parametro strategy:
strategy='mean': imputazione con la media di ciascuna colonna;strategy='median': imputazione con la mediana di ciascuna colonna;strategy='most_frequent': imputazione con la moda di ciascuna colonna;strategy='constant': imputazione con un valore costante specificato nel parametrofill_value.
Il parametro missing_values definisce quali valori sono trattati come mancanti. Per impostazione predefinita, è NaN, ma in alcuni dataset può essere una stringa vuota '' o un altro segnaposto.
SimpleImputer e molti altri trasformatori funzionano solo con DataFrame, non con pandas Series. Selezionare una singola colonna da un DataFrame usando df['column'] restituisce una Series. Per evitare ciò, è possibile utilizzare le doppie parentesi quadre df[['column']] per assicurarsi che venga restituito un DataFrame:
imputer.fit_transform(df[['column']])
Quando si applica il metodo .fit_transform() di SimpleImputer, viene restituito un array 2D. L'assegnazione di valori a una singola colonna in un DataFrame pandas richiede un array 1D (o una Series).
df['column'] = ... # Requires 1D array or Series
imputer.fit_transform(df[['column']]) # Produces 2D array
Il metodo .ravel() può essere utilizzato per appiattire l'array in 1D prima dell'assegnazione:
df['column'] = imputer.fit_transform(df[['column']]).ravel()
Questo garantisce che i valori imputati siano correttamente formattati e memorizzati nella colonna del DataFrame.
Swipe to start coding
Viene fornito un DataFrame denominato df che contiene informazioni sui pinguini. La colonna 'sex' presenta alcuni valori mancanti (NaN). L'obiettivo è colmare queste lacune utilizzando la categoria più comune presente in questa colonna.
- Importazione della classe
SimpleImputerdasklearn.impute. - Creazione di un oggetto
SimpleImputercon il parametrostrategyimpostato su'most_frequent'. - Applicazione dell'imputer alla colonna
'sex'per sostituire tutti i valori mancanti. - Aggiornamento della colonna
'sex'nel DataFramedfcon i dati imputati.
Soluzione
Ottimo! Abbiamo gestito il problema dei valori mancanti nel nostro dataset. Abbiamo rimosso le righe con più di un valore nullo e imputato la colonna 'sex' con il valore più frequente – MALE.
Grazie per i tuoi commenti!
single
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 how to use SimpleImputer for categorical columns?
What are some best practices for choosing the right imputation strategy?
How do I handle missing values that are not NaN, like empty strings?
Awesome!
Completion rate improved to 3.13
Sfida: Imputazione dei Valori Mancanti
Scorri per mostrare il menu
La classe SimpleImputer è progettata per gestire i dati mancanti sostituendo automaticamente i valori assenti.
from sklearn.impute import SimpleImputer
imputer = SimpleImputer()
All'inizializzazione, può essere personalizzata impostando i suoi parametri:
missing_value: specifica il segnaposto per i valori mancanti. Per impostazione predefinita, ènp.nan;strategy: la strategia utilizzata per imputare i valori mancanti. Il valore predefinito è'mean';fill_value: specifica il valore da utilizzare per riempire i valori mancanti quando lastrategyè'constant'. Il valore predefinito èNone.
Essendo un trasformatore, dispone dei seguenti metodi:
È inoltre necessario decidere quali valori utilizzare per l'imputazione.
Un approccio comune consiste nel sostituire i valori numerici mancanti con la media e i valori categorici mancanti con la moda (valore più frequente), poiché ciò altera minimamente la distribuzione dei dati.
La scelta è controllata dal parametro strategy:
strategy='mean': imputazione con la media di ciascuna colonna;strategy='median': imputazione con la mediana di ciascuna colonna;strategy='most_frequent': imputazione con la moda di ciascuna colonna;strategy='constant': imputazione con un valore costante specificato nel parametrofill_value.
Il parametro missing_values definisce quali valori sono trattati come mancanti. Per impostazione predefinita, è NaN, ma in alcuni dataset può essere una stringa vuota '' o un altro segnaposto.
SimpleImputer e molti altri trasformatori funzionano solo con DataFrame, non con pandas Series. Selezionare una singola colonna da un DataFrame usando df['column'] restituisce una Series. Per evitare ciò, è possibile utilizzare le doppie parentesi quadre df[['column']] per assicurarsi che venga restituito un DataFrame:
imputer.fit_transform(df[['column']])
Quando si applica il metodo .fit_transform() di SimpleImputer, viene restituito un array 2D. L'assegnazione di valori a una singola colonna in un DataFrame pandas richiede un array 1D (o una Series).
df['column'] = ... # Requires 1D array or Series
imputer.fit_transform(df[['column']]) # Produces 2D array
Il metodo .ravel() può essere utilizzato per appiattire l'array in 1D prima dell'assegnazione:
df['column'] = imputer.fit_transform(df[['column']]).ravel()
Questo garantisce che i valori imputati siano correttamente formattati e memorizzati nella colonna del DataFrame.
Swipe to start coding
Viene fornito un DataFrame denominato df che contiene informazioni sui pinguini. La colonna 'sex' presenta alcuni valori mancanti (NaN). L'obiettivo è colmare queste lacune utilizzando la categoria più comune presente in questa colonna.
- Importazione della classe
SimpleImputerdasklearn.impute. - Creazione di un oggetto
SimpleImputercon il parametrostrategyimpostato su'most_frequent'. - Applicazione dell'imputer alla colonna
'sex'per sostituire tutti i valori mancanti. - Aggiornamento della colonna
'sex'nel DataFramedfcon i dati imputati.
Soluzione
Ottimo! Abbiamo gestito il problema dei valori mancanti nel nostro dataset. Abbiamo rimosso le righe con più di un valore nullo e imputato la colonna 'sex' con il valore più frequente – MALE.
Grazie per i tuoi commenti!
single