Sfida: Imputazione dei Valori Mancanti
La classe SimpleImputer
è progettata per gestire i dati mancanti sostituendo automaticamente i valori mancanti.
from sklearn.impute import SimpleImputer
imputer = SimpleImputer()
Al momento dell'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), in quanto 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.
La classe SimpleImputer
e molti altri trasformatori funzionano solo con DataFrame, non con pandas Series. Selezionare una singola colonna da un DataFrame utilizzando 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
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
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 mancanti.
from sklearn.impute import SimpleImputer
imputer = SimpleImputer()
Al momento dell'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), in quanto 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.
La classe SimpleImputer
e molti altri trasformatori funzionano solo con DataFrame, non con pandas Series. Selezionare una singola colonna da un DataFrame utilizzando 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
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!
Awesome!
Completion rate improved to 3.13single