Udfordring: Imputering af Manglende Værdier
Klassen SimpleImputer
er designet til at håndtere manglende data ved automatisk at erstatte manglende værdier.
from sklearn.impute import SimpleImputer
imputer = SimpleImputer()
Ved initialisering kan den også tilpasses ved at angive dens parametre:
missing_value
: angiver pladsholderen for de manglende værdier. Som standard er dettenp.nan
;strategy
: strategien der bruges til at imputere manglende værdier.'mean'
er standardværdien;fill_value
: Angiver værdien, der skal bruges til at udfylde manglende værdier, nårstrategy
er'constant'
. Som standard er detteNone
.
Som transformer har den følgende metoder:
Det er også nødvendigt at beslutte, hvilke værdier der skal bruges til imputering.
En almindelig tilgang er at erstatte manglende numeriske værdier med gennemsnittet og manglende kategoriske værdier med typetallet (mest hyppige værdi), da dette forvrænger datadistributionen minimalt.
Valget styres af parameteren strategy
:
strategy='mean'
: imputering med gennemsnittet af hver kolonne;strategy='median'
: imputering med medianen af hver kolonne;strategy='most_frequent'
: imputering med typetallet af hver kolonne;strategy='constant'
: imputering med en konstant værdi angivet i parameterenfill_value
.
Parameteren missing_values
definerer, hvilke værdier der behandles som manglende. Som standard er dette NaN
, men i nogle datasæt kan det være en tom streng ''
eller en anden pladsholder.
SimpleImputer
og mange andre transformere fungerer kun med DataFrames, ikke med pandas Series. Hvis du vælger en enkelt kolonne fra et DataFrame med df['column']
, returneres en Series. For at undgå dette kan du bruge dobbelte klammer df[['column']]
for at sikre, at det returnerer et DataFrame i stedet:
imputer.fit_transform(df[['column']])
Når .fit_transform()
-metoden fra SimpleImputer
anvendes, returnerer den et 2D-array. Tildeling af værdier til en enkelt kolonne i en pandas DataFrame kræver et 1D-array (eller Series).
df['column'] = ... # Requires 1D array or Series
imputer.fit_transform(df[['column']]) # Produces 2D array
Metoden .ravel()
kan bruges til at flade arrayet ud til 1D før tildeling:
df['column'] = imputer.fit_transform(df[['column']]).ravel()
Dette sikrer, at de imputerede værdier er korrekt formateret og gemt i DataFrame-kolonnen.
Swipe to start coding
Imputer de manglende værdier i kolonnen 'sex'
ved hjælp af SimpleImputer
. Da dette er en kategorisk kolonne, skal NaN
-værdier erstattes med den mest hyppige værdi.
- Importér
SimpleImputer
. - Opret et
SimpleImputer
-objekt med den ønskedestrategy
. - Imputer de manglende værdier i kolonnen
'sex'
ved hjælp afimputer
-objektet.
Løsning
Fremragende! Vi har håndteret problemet med manglende værdier i vores datasæt. Vi fjernede rækkerne med mere end én null og imputerede kolonnen 'sex'
med den mest hyppige værdi – MALE
.
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 3.13
Udfordring: Imputering af Manglende Værdier
Stryg for at vise menuen
Klassen SimpleImputer
er designet til at håndtere manglende data ved automatisk at erstatte manglende værdier.
from sklearn.impute import SimpleImputer
imputer = SimpleImputer()
Ved initialisering kan den også tilpasses ved at angive dens parametre:
missing_value
: angiver pladsholderen for de manglende værdier. Som standard er dettenp.nan
;strategy
: strategien der bruges til at imputere manglende værdier.'mean'
er standardværdien;fill_value
: Angiver værdien, der skal bruges til at udfylde manglende værdier, nårstrategy
er'constant'
. Som standard er detteNone
.
Som transformer har den følgende metoder:
Det er også nødvendigt at beslutte, hvilke værdier der skal bruges til imputering.
En almindelig tilgang er at erstatte manglende numeriske værdier med gennemsnittet og manglende kategoriske værdier med typetallet (mest hyppige værdi), da dette forvrænger datadistributionen minimalt.
Valget styres af parameteren strategy
:
strategy='mean'
: imputering med gennemsnittet af hver kolonne;strategy='median'
: imputering med medianen af hver kolonne;strategy='most_frequent'
: imputering med typetallet af hver kolonne;strategy='constant'
: imputering med en konstant værdi angivet i parameterenfill_value
.
Parameteren missing_values
definerer, hvilke værdier der behandles som manglende. Som standard er dette NaN
, men i nogle datasæt kan det være en tom streng ''
eller en anden pladsholder.
SimpleImputer
og mange andre transformere fungerer kun med DataFrames, ikke med pandas Series. Hvis du vælger en enkelt kolonne fra et DataFrame med df['column']
, returneres en Series. For at undgå dette kan du bruge dobbelte klammer df[['column']]
for at sikre, at det returnerer et DataFrame i stedet:
imputer.fit_transform(df[['column']])
Når .fit_transform()
-metoden fra SimpleImputer
anvendes, returnerer den et 2D-array. Tildeling af værdier til en enkelt kolonne i en pandas DataFrame kræver et 1D-array (eller Series).
df['column'] = ... # Requires 1D array or Series
imputer.fit_transform(df[['column']]) # Produces 2D array
Metoden .ravel()
kan bruges til at flade arrayet ud til 1D før tildeling:
df['column'] = imputer.fit_transform(df[['column']]).ravel()
Dette sikrer, at de imputerede værdier er korrekt formateret og gemt i DataFrame-kolonnen.
Swipe to start coding
Imputer de manglende værdier i kolonnen 'sex'
ved hjælp af SimpleImputer
. Da dette er en kategorisk kolonne, skal NaN
-værdier erstattes med den mest hyppige værdi.
- Importér
SimpleImputer
. - Opret et
SimpleImputer
-objekt med den ønskedestrategy
. - Imputer de manglende værdier i kolonnen
'sex'
ved hjælp afimputer
-objektet.
Løsning
Fremragende! Vi har håndteret problemet med manglende værdier i vores datasæt. Vi fjernede rækkerne med mere end én null og imputerede kolonnen 'sex'
med den mest hyppige værdi – MALE
.
Tak for dine kommentarer!
Awesome!
Completion rate improved to 3.13single