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
Quizzes & Challenges
Quizzes
Challenges
/
Introductie tot Machine Learning met Python

bookOmgaan met Ontbrekende Waarden

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

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

Ontbrekende waarden identificeren

Voor het weergeven van algemene informatie over de dataset en het 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 ontbrekende gegevens.

Note
Opmerking

Null is een andere benaming voor ontbrekende waarden.

Om het aantal ontbrekende waarden per kolom te identificeren, gebruik de .isna()-methode en vervolgens .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

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 oplevert 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 worden geïmpteerd. 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.

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, daarom moet de dataset worden gecontroleerd om te verzekeren dat er geen hiaten zijn. Indien ontbrekende waarden aanwezig zijn, kunnen deze op twee manieren worden aangepakt:

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

Ontbrekende waarden identificeren

Voor het weergeven van algemene informatie over de dataset en het 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 ontbrekende gegevens.

Note
Opmerking

Null is een andere benaming voor ontbrekende waarden.

Om het aantal ontbrekende waarden per kolom te identificeren, gebruik de .isna()-methode en vervolgens .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

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 oplevert 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 worden geïmpteerd. 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