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:
Vi skal dog også vælge værdien, der skal imputes.
En populær tilgang er at imputere manglende numeriske værdier med gennemsnittet og manglende kategoriske værdier med typetallet (den hyppigste værdi), da denne imputering har minimal indflydelse på fordelingen af værdierne.
Tilgangen kan styres ved hjælp af parameteren strategy
:
strategy='mean'
: imputér med gennemsnittet for hver kolonne;strategy='median'
: imputér med medianen for hver kolonne;strategy='most_frequent'
: imputér med typetallet for hver kolonne;strategy='constant'
: imputér med det konstante tal angivet i parameterenfill_value
.
Parameteren missing_values
styrer, hvilke værdier der betragtes som manglende. Som standard er det NaN
, men i forskellige datasæt kan det være en tom streng ''
eller noget andet.
Når du bruger .fit_transform()
-metoden fra SimpleImputer
, produceres der et 2D-array som output. Når du opdaterer en enkelt kolonne i en pandas DataFrame, skal du dog bruge et 1D-array (eller en Series).
df['column'] = ... # 1D array or Series expected
imputer.fit_transform(df[['column']]) # Returns a 2D array
For at konvertere 2D-arrayet til et 1D-array, der passer til tildeling til en DataFrame-kolonne, kan du anvende .ravel()
-metoden. Denne metode flader arrayet ud. Sådan kan du opdatere en kolonne efter imputering:
df['column'] = imputer.fit_transform(df[['column']]).ravel()
Denne tilgang sikrer, at de imputerede værdier er korrekt formateret og tildelt tilbage til DataFrame'en.
Swipe to start coding
Din opgave er at imputere NaN
-værdierne i kolonnen 'sex'
ved hjælp af SimpleImputer
. Da du arbejder med en kategorisk kolonne, skal du erstatte null-værdierne med den mest hyppige værdi (den mest almindelige tilgang).
- 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:
Vi skal dog også vælge værdien, der skal imputes.
En populær tilgang er at imputere manglende numeriske værdier med gennemsnittet og manglende kategoriske værdier med typetallet (den hyppigste værdi), da denne imputering har minimal indflydelse på fordelingen af værdierne.
Tilgangen kan styres ved hjælp af parameteren strategy
:
strategy='mean'
: imputér med gennemsnittet for hver kolonne;strategy='median'
: imputér med medianen for hver kolonne;strategy='most_frequent'
: imputér med typetallet for hver kolonne;strategy='constant'
: imputér med det konstante tal angivet i parameterenfill_value
.
Parameteren missing_values
styrer, hvilke værdier der betragtes som manglende. Som standard er det NaN
, men i forskellige datasæt kan det være en tom streng ''
eller noget andet.
Når du bruger .fit_transform()
-metoden fra SimpleImputer
, produceres der et 2D-array som output. Når du opdaterer en enkelt kolonne i en pandas DataFrame, skal du dog bruge et 1D-array (eller en Series).
df['column'] = ... # 1D array or Series expected
imputer.fit_transform(df[['column']]) # Returns a 2D array
For at konvertere 2D-arrayet til et 1D-array, der passer til tildeling til en DataFrame-kolonne, kan du anvende .ravel()
-metoden. Denne metode flader arrayet ud. Sådan kan du opdatere en kolonne efter imputering:
df['column'] = imputer.fit_transform(df[['column']]).ravel()
Denne tilgang sikrer, at de imputerede værdier er korrekt formateret og tildelt tilbage til DataFrame'en.
Swipe to start coding
Din opgave er at imputere NaN
-værdierne i kolonnen 'sex'
ved hjælp af SimpleImputer
. Da du arbejder med en kategorisk kolonne, skal du erstatte null-værdierne med den mest hyppige værdi (den mest almindelige tilgang).
- 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