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 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 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 verdeling van de gegevens 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 parameterfill_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.
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'] levert een Series op. 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 naar 1D te flattenen vóór toewijzing:
df['column'] = imputer.fit_transform(df[['column']]).ravel()
Dit zorgt ervoor dat de geïmputeerde waarden correct zijn geformatteerd en opgeslagen in de DataFrame-kolom.
Swipe to start coding
Je krijgt een DataFrame genaamd df met informatie over pinguïns. De kolom 'sex' bevat enkele ontbrekende (NaN) waarden. Je taak is om deze hiaten op te vullen met de meest voorkomende categorie in deze kolom.
- Importeer de klasse
SimpleImputeruitsklearn.impute. - Maak een
SimpleImputer-object aan met de parameterstrategyingesteld op'most_frequent'. - Pas de imputer toe op de kolom
'sex'om alle ontbrekende waarden te vervangen. - Werk de kolom
'sex'in dedfDataFrame bij met de geïmputeerde gegevens.
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.
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 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 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 verdeling van de gegevens 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 parameterfill_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.
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'] levert een Series op. 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 naar 1D te flattenen vóór toewijzing:
df['column'] = imputer.fit_transform(df[['column']]).ravel()
Dit zorgt ervoor dat de geïmputeerde waarden correct zijn geformatteerd en opgeslagen in de DataFrame-kolom.
Swipe to start coding
Je krijgt een DataFrame genaamd df met informatie over pinguïns. De kolom 'sex' bevat enkele ontbrekende (NaN) waarden. Je taak is om deze hiaten op te vullen met de meest voorkomende categorie in deze kolom.
- Importeer de klasse
SimpleImputeruitsklearn.impute. - Maak een
SimpleImputer-object aan met de parameterstrategyingesteld op'most_frequent'. - Pas de imputer toe op de kolom
'sex'om alle ontbrekende waarden te vervangen. - Werk de kolom
'sex'in dedfDataFrame bij met de geïmputeerde gegevens.
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.
Bedankt voor je feedback!
single