Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Omgaan Met Ontbrekende Waarden | Gegevens Preprocessen met Scikit-learn
ML-Introductie met Scikit-learn

bookOmgaan Met Ontbrekende Waarden

Slechts een beperkt aantal machine learning-modellen kan omgaan met ontbrekende waarden, dus moet de dataset worden gecontroleerd om te verzekeren dat er geen hiaten overblijven. Als er ontbrekende waarden aanwezig zijn, kunnen deze op twee manieren worden aangepakt:

  • Het verwijderen van rijen die ontbrekende waarden bevatten;
  • Het opvullen van lege cellen met vervangende waarden, een proces dat imputatie wordt genoemd.

Ontbrekende waarden identificeren

Om algemene informatie over de dataset weer te geven en te controleren op ontbrekende waarden, kan de .info()-methode van een DataFrame worden gebruikt.

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

De dataset bevat 344 rijen, maar de kolommen 'culmen_depth_mm', 'flipper_length_mm', 'body_mass_g' en 'sex' bevatten elk minder dan 344 niet-nulwaarden, wat wijst op de aanwezigheid van ontbrekende gegevens.

Note
Opmerking

Null is een andere benaming voor ontbrekende waarden.

Om het aantal ontbrekende waarden per kolom te identificeren, de .isna()-methode toepassen en vervolgens .sum() gebruiken.

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

Rijen met ontbrekende waarden kunnen worden weergegeven met: 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

Rijen verwijderen

De eerste en laatste rijen bevatten alleen de target ('species') en 'island' waarden, wat te weinig informatie biedt om nuttig te zijn. Deze rijen kunnen worden verwijderd door alleen die rijen te behouden met minder dan twee NaN-waarden en deze opnieuw toe te wijzen aan 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

Daarentegen bevatten de overgebleven rijen bruikbare informatie, waarbij NaN-waarden alleen voorkomen in de kolom 'sex'. In plaats van deze rijen te verwijderen, kunnen de ontbrekende waarden geïmputeerd worden. Een gangbare methode is het gebruik van de SimpleImputer transformer, die in het volgende hoofdstuk wordt behandeld.

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 3

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Suggested prompts:

Can you explain more about how imputing works?

What are some other ways to handle missing values besides removing or imputing?

Why is it important to handle missing values before training a machine learning model?

Awesome!

Completion rate improved to 3.13

bookOmgaan Met Ontbrekende Waarden

Veeg om het menu te tonen

Slechts een beperkt aantal machine learning-modellen kan omgaan met ontbrekende waarden, dus moet de dataset worden gecontroleerd om te verzekeren dat er geen hiaten overblijven. Als er ontbrekende waarden aanwezig zijn, kunnen deze op twee manieren worden aangepakt:

  • Het verwijderen van rijen die ontbrekende waarden bevatten;
  • Het opvullen van lege cellen met vervangende waarden, een proces dat imputatie wordt genoemd.

Ontbrekende waarden identificeren

Om algemene informatie over de dataset weer te geven en te controleren op ontbrekende waarden, kan de .info()-methode van een DataFrame worden gebruikt.

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

De dataset bevat 344 rijen, maar de kolommen 'culmen_depth_mm', 'flipper_length_mm', 'body_mass_g' en 'sex' bevatten elk minder dan 344 niet-nulwaarden, wat wijst op de aanwezigheid van ontbrekende gegevens.

Note
Opmerking

Null is een andere benaming voor ontbrekende waarden.

Om het aantal ontbrekende waarden per kolom te identificeren, de .isna()-methode toepassen en vervolgens .sum() gebruiken.

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

Rijen met ontbrekende waarden kunnen worden weergegeven met: 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

Rijen verwijderen

De eerste en laatste rijen bevatten alleen de target ('species') en 'island' waarden, wat te weinig informatie biedt om nuttig te zijn. Deze rijen kunnen worden verwijderd door alleen die rijen te behouden met minder dan twee NaN-waarden en deze opnieuw toe te wijzen aan 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

Daarentegen bevatten de overgebleven rijen bruikbare informatie, waarbij NaN-waarden alleen voorkomen in de kolom 'sex'. In plaats van deze rijen te verwijderen, kunnen de ontbrekende waarden geïmputeerd worden. Een gangbare methode is het gebruik van de SimpleImputer transformer, die in het volgende hoofdstuk wordt behandeld.

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 3
some-alt