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'
. Per impostazione predefinita, è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. Selezionando una singola colonna da un DataFrame tramite df['column']
si ottiene 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
Imputare i valori mancanti nella colonna 'sex'
utilizzando SimpleImputer
. Poiché si tratta di una colonna categorica, sostituire i valori NaN
con il valore più frequente.
- Importare
SimpleImputer
. - Creare un oggetto
SimpleImputer
con lastrategy
desiderata. - Imputare i valori mancanti della colonna
'sex'
utilizzando l'oggettoimputer
.
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'
. Per impostazione predefinita, è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. Selezionando una singola colonna da un DataFrame tramite df['column']
si ottiene 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
Imputare i valori mancanti nella colonna 'sex'
utilizzando SimpleImputer
. Poiché si tratta di una colonna categorica, sostituire i valori NaN
con il valore più frequente.
- Importare
SimpleImputer
. - Creare un oggetto
SimpleImputer
con lastrategy
desiderata. - Imputare i valori mancanti della colonna
'sex'
utilizzando l'oggettoimputer
.
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