Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Gestione dei Valori Mancanti | Preprocessing Dei Dati con Scikit-Learn
Quizzes & Challenges
Quizzes
Challenges
/
Introduzione al Machine Learning con Python

bookGestione dei Valori Mancanti

Solo un numero limitato di modelli di machine learning è in grado di gestire valori mancanti, quindi è necessario verificare che il dataset non presenti lacune. Se sono presenti valori mancanti, è possibile affrontarli in due modi:

  • Rimozione delle righe che contengono valori mancanti;
  • Compilazione delle celle vuote con valori sostitutivi, un processo noto come imputazione.

Identificazione dei valori mancanti

Per ottenere informazioni generali sul dataset e verificare la presenza di valori mancanti, è possibile utilizzare il metodo .info() di un DataFrame.

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.info())
copy

Il dataset contiene 344 record, ma le colonne 'culmen_depth_mm', 'flipper_length_mm', 'body_mass_g' e 'sex' presentano ciascuna meno di 344 valori non nulli, indicando la presenza di dati mancanti.

Note
Nota

Null è un altro termine per indicare i valori mancanti.

Per identificare il numero di valori mancanti in ciascuna colonna, applicare il metodo .isna() e poi utilizzare .sum().

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.isna().sum())
copy

Le righe contenenti valori mancanti possono essere visualizzate con: df[df.isna().any(axis=1)]

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df[df.isna().any(axis=1)])
copy

Rimozione delle righe

La prima e l'ultima riga contengono solo i valori del target ('species') e di 'island', fornendo informazioni troppo limitate per essere utili. Queste righe possono essere rimosse mantenendo solo quelle con meno di due valori NaN e riassegnandole a df.

123456
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') df = df[df.isna().sum(axis=1) < 2] print(df.head(8))
copy

Al contrario, le righe rimanenti contengono informazioni utili, con valori NaN presenti solo nella colonna 'sex'. Invece di rimuovere queste righe, i valori mancanti possono essere imputati. Un approccio comune consiste nell'utilizzare il trasformatore SimpleImputer, che verrà trattato nel prossimo capitolo.

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 3

Chieda ad AI

expand

Chieda ad AI

ChatGPT

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

bookGestione dei Valori Mancanti

Scorri per mostrare il menu

Solo un numero limitato di modelli di machine learning è in grado di gestire valori mancanti, quindi è necessario verificare che il dataset non presenti lacune. Se sono presenti valori mancanti, è possibile affrontarli in due modi:

  • Rimozione delle righe che contengono valori mancanti;
  • Compilazione delle celle vuote con valori sostitutivi, un processo noto come imputazione.

Identificazione dei valori mancanti

Per ottenere informazioni generali sul dataset e verificare la presenza di valori mancanti, è possibile utilizzare il metodo .info() di un DataFrame.

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.info())
copy

Il dataset contiene 344 record, ma le colonne 'culmen_depth_mm', 'flipper_length_mm', 'body_mass_g' e 'sex' presentano ciascuna meno di 344 valori non nulli, indicando la presenza di dati mancanti.

Note
Nota

Null è un altro termine per indicare i valori mancanti.

Per identificare il numero di valori mancanti in ciascuna colonna, applicare il metodo .isna() e poi utilizzare .sum().

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.isna().sum())
copy

Le righe contenenti valori mancanti possono essere visualizzate con: df[df.isna().any(axis=1)]

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df[df.isna().any(axis=1)])
copy

Rimozione delle righe

La prima e l'ultima riga contengono solo i valori del target ('species') e di 'island', fornendo informazioni troppo limitate per essere utili. Queste righe possono essere rimosse mantenendo solo quelle con meno di due valori NaN e riassegnandole a df.

123456
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') df = df[df.isna().sum(axis=1) < 2] print(df.head(8))
copy

Al contrario, le righe rimanenti contengono informazioni utili, con valori NaN presenti solo nella colonna 'sex'. Invece di rimuovere queste righe, i valori mancanti possono essere imputati. Un approccio comune consiste nell'utilizzare il trasformatore SimpleImputer, che verrà trattato nel prossimo capitolo.

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 3
some-alt