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()
Quando viene inizializzata, può anche essere personalizzata impostando i suoi parametri:
missing_value
: specifica il segnaposto per i valori mancanti. Per impostazione predefinita, questo è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, questo èNone
.
Essendo un trasformatore, dispone dei seguenti metodi:
Tuttavia, è anche necessario scegliere il valore da imputare.
L'approccio più diffuso è imputare i valori numerici mancanti con la media e i valori categorici mancanti con la moda (il valore più frequente), poiché tale imputazione ha un impatto minimo sulla distribuzione dei valori.
L'approccio può essere controllato tramite il parametro strategy
:
strategy='mean'
: imputazione con la media per ogni colonna;strategy='median'
: imputazione con la mediana per ogni colonna;strategy='most_frequent'
: imputazione con la moda per ogni colonna;strategy='constant'
: imputazione con un valore costante specificato nel parametrofill_value
.
Il parametro missing_values
controlla quali valori sono considerati mancanti. Per impostazione predefinita, è NaN
, ma in diversi dataset può essere una stringa vuota ''
o qualsiasi altro valore.
Quando si utilizza il metodo .fit_transform()
di SimpleImputer
, viene prodotto un array 2D come output. Tuttavia, quando si aggiorna una singola colonna in un DataFrame pandas, è necessario un array 1D (o una Series).
df['column'] = ... # 1D array or Series expected
imputer.fit_transform(df[['column']]) # Returns a 2D array
Per convertire l'array 2D in un array 1D adatto all'assegnazione a una colonna del DataFrame, è possibile applicare il metodo .ravel()
. Questo metodo appiattisce l'array. Ecco come aggiornare una colonna dopo l'imputazione:
df['column'] = imputer.fit_transform(df[['column']]).ravel()
Questo approccio garantisce che i valori imputati siano correttamente formattati e assegnati nuovamente al DataFrame.
Swipe to start coding
Il tuo compito è imputare i valori NaN
della colonna 'sex'
utilizzando SimpleImputer
. Poiché si tratta di una colonna categorica, sostituirai i valori nulli con il valore più frequente (l'approccio più comune).
- Importa
SimpleImputer
. - Crea un oggetto
SimpleImputer
con lastrategy
desiderata. - Imputa 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()
Quando viene inizializzata, può anche essere personalizzata impostando i suoi parametri:
missing_value
: specifica il segnaposto per i valori mancanti. Per impostazione predefinita, questo è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, questo èNone
.
Essendo un trasformatore, dispone dei seguenti metodi:
Tuttavia, è anche necessario scegliere il valore da imputare.
L'approccio più diffuso è imputare i valori numerici mancanti con la media e i valori categorici mancanti con la moda (il valore più frequente), poiché tale imputazione ha un impatto minimo sulla distribuzione dei valori.
L'approccio può essere controllato tramite il parametro strategy
:
strategy='mean'
: imputazione con la media per ogni colonna;strategy='median'
: imputazione con la mediana per ogni colonna;strategy='most_frequent'
: imputazione con la moda per ogni colonna;strategy='constant'
: imputazione con un valore costante specificato nel parametrofill_value
.
Il parametro missing_values
controlla quali valori sono considerati mancanti. Per impostazione predefinita, è NaN
, ma in diversi dataset può essere una stringa vuota ''
o qualsiasi altro valore.
Quando si utilizza il metodo .fit_transform()
di SimpleImputer
, viene prodotto un array 2D come output. Tuttavia, quando si aggiorna una singola colonna in un DataFrame pandas, è necessario un array 1D (o una Series).
df['column'] = ... # 1D array or Series expected
imputer.fit_transform(df[['column']]) # Returns a 2D array
Per convertire l'array 2D in un array 1D adatto all'assegnazione a una colonna del DataFrame, è possibile applicare il metodo .ravel()
. Questo metodo appiattisce l'array. Ecco come aggiornare una colonna dopo l'imputazione:
df['column'] = imputer.fit_transform(df[['column']]).ravel()
Questo approccio garantisce che i valori imputati siano correttamente formattati e assegnati nuovamente al DataFrame.
Swipe to start coding
Il tuo compito è imputare i valori NaN
della colonna 'sex'
utilizzando SimpleImputer
. Poiché si tratta di una colonna categorica, sostituirai i valori nulli con il valore più frequente (l'approccio più comune).
- Importa
SimpleImputer
. - Crea un oggetto
SimpleImputer
con lastrategy
desiderata. - Imputa 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