Uitdaging: 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 ditnp.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 destrategy
'constant'
is. Standaard is ditNone
.
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 parameterfill_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.
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).
- Importeer de
SimpleImputer
. - Maak een
SimpleImputer
-object aan met de gewenstestrategy
. - Imputeer de ontbrekende waarden in de kolom
'sex'
met behulp van hetimputer
-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
.
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Awesome!
Completion rate improved to 3.13
Uitdaging: 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 ditnp.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 destrategy
'constant'
is. Standaard is ditNone
.
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 parameterfill_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.
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).
- Importeer de
SimpleImputer
. - Maak een
SimpleImputer
-object aan met de gewenstestrategy
. - Imputeer de ontbrekende waarden in de kolom
'sex'
met behulp van hetimputer
-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
.
Bedankt voor je feedback!
Awesome!
Completion rate improved to 3.13single