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

bookUitdaging: Imputeren van Ontbrekende Waarden

De klasse SimpleImputer is ontworpen om ontbrekende gegevens te verwerken door automatisch ontbrekende waarden te vervangen.

from sklearn.impute import SimpleImputer
imputer = SimpleImputer()

Bij het initialiseren kan deze ook worden aangepast door de parameters in te stellen:

  • missing_value: specificeert de aanduiding voor de ontbrekende waarden. Standaard is dit np.nan;
  • strategy: de strategie die wordt gebruikt om ontbrekende waarden in te vullen. 'mean' is de standaardwaarde;
  • fill_value: specificeert de waarde die wordt gebruikt om ontbrekende waarden in te vullen wanneer de strategy 'constant' is. Standaard is dit None.

Als transformer beschikt deze over de volgende methoden:

Het is ook noodzakelijk om te bepalen welke waarden gebruikt worden voor imputatie.

Een gangbare aanpak is om ontbrekende numerieke waarden te vervangen door het gemiddelde en ontbrekende categorische waarden door de modus (meest voorkomende waarde), omdat dit de gegevensverdeling minimaal verstoort.

De keuze wordt bepaald door de parameter strategy:

  • strategy='mean': imputeren met het gemiddelde van elke kolom;
  • strategy='median': imputeren met de mediaan van elke kolom;
  • strategy='most_frequent': imputeren met de modus van elke kolom;
  • strategy='constant': imputeren met een constante waarde gespecificeerd in de parameter fill_value.

De parameter missing_values definieert welke waarden als ontbrekend worden beschouwd. Standaard is dit NaN, maar in sommige datasets kan dit een lege string '' of een andere aanduiding zijn.

Note
Opmerking

De SimpleImputer en veel andere transformers werken alleen met DataFrames, niet met pandas Series. Het selecteren van een enkele kolom uit een DataFrame met df['column'] geeft een Series terug. Om dit te voorkomen, kun je dubbele haken df[['column']] gebruiken zodat het resultaat een DataFrame blijft:

imputer.fit_transform(df[['column']])

Wanneer de .fit_transform()-methode van SimpleImputer wordt toegepast, retourneert deze een 2D-array. Het toewijzen van waarden aan een enkele kolom in een pandas DataFrame vereist een 1D-array (of Series).

df['column'] = ...  # Requires 1D array or Series
imputer.fit_transform(df[['column']])  # Produces 2D array

De .ravel()-methode kan worden gebruikt om de array plat te maken naar 1D vóór toewijzing:

df['column'] = imputer.fit_transform(df[['column']]).ravel()

Dit zorgt ervoor dat de geïmputeerde waarden correct worden geformatteerd en opgeslagen in de DataFrame-kolom.

Taak

Swipe to start coding

Imputeer de ontbrekende waarden in de kolom 'sex' met behulp van SimpleImputer. Aangezien dit een categorische kolom is, vervang je de NaN-waarden door de meest voorkomende waarde.

  1. Importeer de SimpleImputer.
  2. Maak een SimpleImputer-object aan met de gewenste strategy.
  3. Imputeer de ontbrekende waarden van de kolom 'sex' met behulp van het imputer-object.

Oplossing

Uitstekend! We hebben het probleem van ontbrekende waarden in onze dataset aangepakt. We hebben de rijen met meer dan één null verwijderd en de kolom 'sex' geïmputeerd met de meest voorkomende waarde – MALE.

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 4
single

single

Vraag AI

expand

Vraag AI

ChatGPT

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

close

Awesome!

Completion rate improved to 3.13

bookUitdaging: Imputeren van Ontbrekende Waarden

Veeg om het menu te tonen

De klasse SimpleImputer is ontworpen om ontbrekende gegevens te verwerken door automatisch ontbrekende waarden te vervangen.

from sklearn.impute import SimpleImputer
imputer = SimpleImputer()

Bij het initialiseren kan deze ook worden aangepast door de parameters in te stellen:

  • missing_value: specificeert de aanduiding voor de ontbrekende waarden. Standaard is dit np.nan;
  • strategy: de strategie die wordt gebruikt om ontbrekende waarden in te vullen. 'mean' is de standaardwaarde;
  • fill_value: specificeert de waarde die wordt gebruikt om ontbrekende waarden in te vullen wanneer de strategy 'constant' is. Standaard is dit None.

Als transformer beschikt deze over de volgende methoden:

Het is ook noodzakelijk om te bepalen welke waarden gebruikt worden voor imputatie.

Een gangbare aanpak is om ontbrekende numerieke waarden te vervangen door het gemiddelde en ontbrekende categorische waarden door de modus (meest voorkomende waarde), omdat dit de gegevensverdeling minimaal verstoort.

De keuze wordt bepaald door de parameter strategy:

  • strategy='mean': imputeren met het gemiddelde van elke kolom;
  • strategy='median': imputeren met de mediaan van elke kolom;
  • strategy='most_frequent': imputeren met de modus van elke kolom;
  • strategy='constant': imputeren met een constante waarde gespecificeerd in de parameter fill_value.

De parameter missing_values definieert welke waarden als ontbrekend worden beschouwd. Standaard is dit NaN, maar in sommige datasets kan dit een lege string '' of een andere aanduiding zijn.

Note
Opmerking

De SimpleImputer en veel andere transformers werken alleen met DataFrames, niet met pandas Series. Het selecteren van een enkele kolom uit een DataFrame met df['column'] geeft een Series terug. Om dit te voorkomen, kun je dubbele haken df[['column']] gebruiken zodat het resultaat een DataFrame blijft:

imputer.fit_transform(df[['column']])

Wanneer de .fit_transform()-methode van SimpleImputer wordt toegepast, retourneert deze een 2D-array. Het toewijzen van waarden aan een enkele kolom in een pandas DataFrame vereist een 1D-array (of Series).

df['column'] = ...  # Requires 1D array or Series
imputer.fit_transform(df[['column']])  # Produces 2D array

De .ravel()-methode kan worden gebruikt om de array plat te maken naar 1D vóór toewijzing:

df['column'] = imputer.fit_transform(df[['column']]).ravel()

Dit zorgt ervoor dat de geïmputeerde waarden correct worden geformatteerd en opgeslagen in de DataFrame-kolom.

Taak

Swipe to start coding

Imputeer de ontbrekende waarden in de kolom 'sex' met behulp van SimpleImputer. Aangezien dit een categorische kolom is, vervang je de NaN-waarden door de meest voorkomende waarde.

  1. Importeer de SimpleImputer.
  2. Maak een SimpleImputer-object aan met de gewenste strategy.
  3. Imputeer de ontbrekende waarden van de kolom 'sex' met behulp van het imputer-object.

Oplossing

Uitstekend! We hebben het probleem van ontbrekende waarden in onze dataset aangepakt. We hebben de rijen met meer dan één null verwijderd en de kolom 'sex' geïmputeerd met de meest voorkomende waarde – MALE.

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

close

Awesome!

Completion rate improved to 3.13
Sectie 2. Hoofdstuk 4
single

single

some-alt