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 klasse 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 klasse over de volgende methoden:

Het is echter ook noodzakelijk om de waarde te kiezen waarmee wordt geïmputeerd.

Een gangbare aanpak is om ontbrekende numerieke waarden te imputeren met het gemiddelde en ontbrekende categorische waarden met de modus (de meest voorkomende waarde), omdat deze imputatie de verdeling van de waarden minimaal beïnvloedt.

De aanpak kan worden geregeld met de parameter strategy:

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

De parameter missing_values bepaalt welke waarden als ontbrekend worden beschouwd. Standaard is dit NaN, maar in verschillende datasets kan dit een lege string '' of iets anders zijn.

Wanneer de methode .fit_transform() van de SimpleImputer wordt gebruikt, levert dit een 2D-array als resultaat op. Bij het bijwerken van een enkele kolom in een pandas DataFrame is echter een 1D-array (of een Series) vereist.

df['column'] = ...  # 1D array or Series expected

imputer.fit_transform(df[['column']])  # Returns a 2D array

Om de 2D-array om te zetten naar een 1D-array die geschikt is voor toewijzing aan een DataFrame-kolom, kan de methode .ravel() worden toegepast. Deze methode vlakt de array af. Zo kan een kolom na imputatie worden bijgewerkt:

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

Deze aanpak zorgt ervoor dat de geïmputeerde waarden correct worden geformatteerd en teruggezet in de DataFrame.

Taak

Swipe to start coding

Je taak is om de NaN-waarden in de kolom 'sex' in te vullen met behulp van SimpleImputer. Omdat het om een categorische kolom gaat, vervang je de ontbrekende waarden door de meest voorkomende waarde (de meest gangbare aanpak).

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

Oplossing

Geweldig! 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 klasse 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 klasse over de volgende methoden:

Het is echter ook noodzakelijk om de waarde te kiezen waarmee wordt geïmputeerd.

Een gangbare aanpak is om ontbrekende numerieke waarden te imputeren met het gemiddelde en ontbrekende categorische waarden met de modus (de meest voorkomende waarde), omdat deze imputatie de verdeling van de waarden minimaal beïnvloedt.

De aanpak kan worden geregeld met de parameter strategy:

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

De parameter missing_values bepaalt welke waarden als ontbrekend worden beschouwd. Standaard is dit NaN, maar in verschillende datasets kan dit een lege string '' of iets anders zijn.

Wanneer de methode .fit_transform() van de SimpleImputer wordt gebruikt, levert dit een 2D-array als resultaat op. Bij het bijwerken van een enkele kolom in een pandas DataFrame is echter een 1D-array (of een Series) vereist.

df['column'] = ...  # 1D array or Series expected

imputer.fit_transform(df[['column']])  # Returns a 2D array

Om de 2D-array om te zetten naar een 1D-array die geschikt is voor toewijzing aan een DataFrame-kolom, kan de methode .ravel() worden toegepast. Deze methode vlakt de array af. Zo kan een kolom na imputatie worden bijgewerkt:

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

Deze aanpak zorgt ervoor dat de geïmputeerde waarden correct worden geformatteerd en teruggezet in de DataFrame.

Taak

Swipe to start coding

Je taak is om de NaN-waarden in de kolom 'sex' in te vullen met behulp van SimpleImputer. Omdat het om een categorische kolom gaat, vervang je de ontbrekende waarden door de meest voorkomende waarde (de meest gangbare aanpak).

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

Oplossing

Geweldig! 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