Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Sfida: Imputazione dei Valori Mancanti | Preprocessing Dei Dati Con Scikit-learn
Introduzione al ML con Scikit-Learn

bookSfida: 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 la strategy è '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 parametro fill_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.

Compito

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

  1. Importa SimpleImputer.
  2. Crea un oggetto SimpleImputer con la strategy desiderata.
  3. Imputa i valori mancanti della colonna 'sex' utilizzando l'oggetto imputer.

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.

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 4
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

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

close

Awesome!

Completion rate improved to 3.13

bookSfida: 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 la strategy è '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 parametro fill_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.

Compito

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

  1. Importa SimpleImputer.
  2. Crea un oggetto SimpleImputer con la strategy desiderata.
  3. Imputa i valori mancanti della colonna 'sex' utilizzando l'oggetto imputer.

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.

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

close

Awesome!

Completion rate improved to 3.13
Sezione 2. Capitolo 4
single

single

some-alt