Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Omgaan Met Ontbrekende Waarden | Essentiële Gegevensopschoning
Data Preprocessing en Feature Engineering

bookOmgaan Met Ontbrekende Waarden

Ontbrekende gegevens komen vaak voor in real-world datasets en kunnen invloed hebben op analyses of modellen. De drie hoofdtypen van ontbrekende gegevens zijn:

  • Missing Completely at Random (MCAR): het ontbreken van gegevens is niet gerelateerd aan enige data;
  • Missing at Random (MAR): het ontbreken van gegevens is alleen gerelateerd aan geobserveerde data;
  • Missing Not at Random (MNAR): het ontbreken van gegevens hangt af van de ontbrekende waarden zelf.

De juiste strategie voor het omgaan met ontbrekende waarden hangt af van het type ontbrekendheid. Onjuiste behandeling kan leiden tot vertekende resultaten, zwakkere analyses en onbetrouwbare voorspellingen.

12345678
import pandas as pd import seaborn as sns titanic = sns.load_dataset("titanic") # Find missing values in each column print("Missing values per column:") print(titanic.isnull().sum())
copy
Note
Definitie

Imputatie is het proces waarbij ontbrekende waarden worden vervangen door substitutiewaarden, zoals het gemiddelde, de mediaan of de modus, enzovoort. Imputatie helpt om de structuur en omvang van de dataset te behouden voor verdere analyse of modellering.

Typen van Imputatiemethoden

Verschillende gegevenstypen vereisen specifieke imputatiestrategieën om ontbrekende waarden effectief te behandelen:

  • Gemiddelde imputatie: te gebruiken voor numerieke kenmerken; vervangt ontbrekende waarden door het gemiddelde van de waargenomen waarden;
  • Mediaan imputatie: te gebruiken voor numerieke kenmerken, vooral bij scheve data; vervangt ontbrekende waarden door de mediaan;
  • Modus imputatie: te gebruiken voor categorische kenmerken; vervangt ontbrekende waarden door de meest voorkomende categorie of waarde;
  • Constante waarde imputatie: te gebruiken voor zowel numerieke als categorische kenmerken; vult ontbrekende waarden met een vaste waarde zoals 0, -1 of 'unknown';
  • Forward fill (ffill): te gebruiken voor tijdreeksen of geordende data; vult gaten op door de laatst geldige observatie vooruit te propaganderen;
  • Backward fill (bfill): te gebruiken voor tijdreeksen of geordende data; vult gaten op door de eerstvolgende geldige observatie terug te gebruiken;
  • Interpolatie: te gebruiken voor numerieke kenmerken, vooral in tijdreeksen; schat ontbrekende waarden op basis van naburige datapunten met behulp van lineaire of andere wiskundige methoden.

Kies de imputatiemethode die het beste past bij uw gegevenstype en de context van uw analyse.

123456789101112131415161718
import pandas as pd import seaborn as sns # Load Titanic dataset titanic = sns.load_dataset("titanic") # Fill missing values in 'age' (numerical) with the mean titanic['age'] = titanic['age'].fillna(titanic['age'].mean()) # Fill missing values in 'deck' (categorical) with the mode titanic['deck'] = titanic['deck'].fillna(titanic['deck'].mode()[0]) # Drop 'embarked' and 'embark_town' columns (only 2 missing values each) titanic = titanic.drop(['embarked', 'embark_town'], axis=1) # Display the number of missing values after processing print("Missing values after processing:") print(titanic.isnull().sum())
copy
Note
Opmerking

Verwijderen van ontbrekende waarden is snel en eenvoudig, maar kan leiden tot verlies van waardevolle data, vooral wanneer ontbrekende waarden veel voorkomen. Imputatie helpt om meer data te behouden, maar kan bias introduceren als deze niet zorgvuldig wordt gekozen. Overweeg de hoeveelheid en het patroon van ontbrekende waarden, evenals het belang van het kenmerk, voordat u beslist om te verwijderen of te imputeren.

question mark

Welke van de volgende scenario's is het meest geschikt om rijen met ontbrekende waarden te verwijderen in plaats van deze te imputeren?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 2

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 8.33

bookOmgaan Met Ontbrekende Waarden

Veeg om het menu te tonen

Ontbrekende gegevens komen vaak voor in real-world datasets en kunnen invloed hebben op analyses of modellen. De drie hoofdtypen van ontbrekende gegevens zijn:

  • Missing Completely at Random (MCAR): het ontbreken van gegevens is niet gerelateerd aan enige data;
  • Missing at Random (MAR): het ontbreken van gegevens is alleen gerelateerd aan geobserveerde data;
  • Missing Not at Random (MNAR): het ontbreken van gegevens hangt af van de ontbrekende waarden zelf.

De juiste strategie voor het omgaan met ontbrekende waarden hangt af van het type ontbrekendheid. Onjuiste behandeling kan leiden tot vertekende resultaten, zwakkere analyses en onbetrouwbare voorspellingen.

12345678
import pandas as pd import seaborn as sns titanic = sns.load_dataset("titanic") # Find missing values in each column print("Missing values per column:") print(titanic.isnull().sum())
copy
Note
Definitie

Imputatie is het proces waarbij ontbrekende waarden worden vervangen door substitutiewaarden, zoals het gemiddelde, de mediaan of de modus, enzovoort. Imputatie helpt om de structuur en omvang van de dataset te behouden voor verdere analyse of modellering.

Typen van Imputatiemethoden

Verschillende gegevenstypen vereisen specifieke imputatiestrategieën om ontbrekende waarden effectief te behandelen:

  • Gemiddelde imputatie: te gebruiken voor numerieke kenmerken; vervangt ontbrekende waarden door het gemiddelde van de waargenomen waarden;
  • Mediaan imputatie: te gebruiken voor numerieke kenmerken, vooral bij scheve data; vervangt ontbrekende waarden door de mediaan;
  • Modus imputatie: te gebruiken voor categorische kenmerken; vervangt ontbrekende waarden door de meest voorkomende categorie of waarde;
  • Constante waarde imputatie: te gebruiken voor zowel numerieke als categorische kenmerken; vult ontbrekende waarden met een vaste waarde zoals 0, -1 of 'unknown';
  • Forward fill (ffill): te gebruiken voor tijdreeksen of geordende data; vult gaten op door de laatst geldige observatie vooruit te propaganderen;
  • Backward fill (bfill): te gebruiken voor tijdreeksen of geordende data; vult gaten op door de eerstvolgende geldige observatie terug te gebruiken;
  • Interpolatie: te gebruiken voor numerieke kenmerken, vooral in tijdreeksen; schat ontbrekende waarden op basis van naburige datapunten met behulp van lineaire of andere wiskundige methoden.

Kies de imputatiemethode die het beste past bij uw gegevenstype en de context van uw analyse.

123456789101112131415161718
import pandas as pd import seaborn as sns # Load Titanic dataset titanic = sns.load_dataset("titanic") # Fill missing values in 'age' (numerical) with the mean titanic['age'] = titanic['age'].fillna(titanic['age'].mean()) # Fill missing values in 'deck' (categorical) with the mode titanic['deck'] = titanic['deck'].fillna(titanic['deck'].mode()[0]) # Drop 'embarked' and 'embark_town' columns (only 2 missing values each) titanic = titanic.drop(['embarked', 'embark_town'], axis=1) # Display the number of missing values after processing print("Missing values after processing:") print(titanic.isnull().sum())
copy
Note
Opmerking

Verwijderen van ontbrekende waarden is snel en eenvoudig, maar kan leiden tot verlies van waardevolle data, vooral wanneer ontbrekende waarden veel voorkomen. Imputatie helpt om meer data te behouden, maar kan bias introduceren als deze niet zorgvuldig wordt gekozen. Overweeg de hoeveelheid en het patroon van ontbrekende waarden, evenals het belang van het kenmerk, voordat u beslist om te verwijderen of te imputeren.

question mark

Welke van de volgende scenario's is het meest geschikt om rijen met ontbrekende waarden te verwijderen in plaats van deze te imputeren?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 2
some-alt