Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Udfordring: Imputering af Manglende Værdier | Forbehandling af Data med Scikit-learn
ML Introduktion med Scikit-learn

bookUdfordring: 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 dette np.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år strategy er 'constant'. Som standard er dette None.

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 parameteren fill_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.

Opgave

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).

  1. Importér SimpleImputer.
  2. Opret et SimpleImputer-objekt med den ønskede strategy.
  3. Imputer de manglende værdier i kolonnen 'sex' ved hjælp af imputer-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.

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 4
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

close

Awesome!

Completion rate improved to 3.13

bookUdfordring: 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 dette np.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år strategy er 'constant'. Som standard er dette None.

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 parameteren fill_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.

Opgave

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).

  1. Importér SimpleImputer.
  2. Opret et SimpleImputer-objekt med den ønskede strategy.
  3. Imputer de manglende værdier i kolonnen 'sex' ved hjælp af imputer-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.

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

close

Awesome!

Completion rate improved to 3.13
Sektion 2. Kapitel 4
single

single

some-alt