Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Håndtering av Manglende Verdier | Grunnleggende Datarensing
Dataprosessering og Feature Engineering

bookHåndtering av Manglende Verdier

Manglende data er vanlig i datasett fra virkeligheten og kan påvirke analysen eller modellene dine. De tre hovedtypene for manglende data er:

  • Missing Completely at Random (MCAR): manglende verdier er ikke relatert til noen data;
  • Missing at Random (MAR): manglende verdier er kun relatert til observerte data;
  • Missing Not at Random (MNAR): manglende verdier avhenger av de manglende verdiene selv.

Valg av riktig strategi for håndtering av manglende verdier avhenger av typen manglende data. Dårlig håndtering kan føre til skjevfordelte resultater, svakere analyser og upålitelige prediksjoner.

12345678
import pandas as pd import seaborn as sns titanic = sns.load_dataset("titanic") # Find missing values in each column print("Missing values per column:") print(titanic.isnull().sum())
copy
Note
Definisjon

Imputering er prosessen med å erstatte manglende verdier med andre verdier, som for eksempel gjennomsnitt, median eller modus. Imputering bidrar til å bevare datasettets struktur og størrelse for videre analyse eller modellering.

Typer av imputasjonsmetoder

Ulike datatyper krever spesifikke imputasjonsstrategier for å håndtere manglende verdier effektivt:

  • Gjennomsnittsimputasjon: brukes for numeriske variabler; erstatter manglende verdier med gjennomsnittet av observerte verdier;
  • Medianimputasjon: brukes for numeriske variabler, spesielt når dataene er skjeve; erstatter manglende verdier med medianen;
  • Modusimputasjon: brukes for kategoriske variabler; erstatter manglende verdier med den mest hyppige kategorien eller verdien;
  • Konstant verdi-imputasjon: brukes for både numeriske og kategoriske variabler; fyller manglende verdier med en fast verdi som 0, -1 eller 'unknown';
  • Forward fill (ffill): brukes for tidsserier eller ordnede data; viderefører siste gyldige observasjon fremover for å fylle hull;
  • Backward fill (bfill): brukes for tidsserier eller ordnede data; bruker neste gyldige observasjon for å fylle hull bakover;
  • Interpolasjon: brukes for numeriske variabler, spesielt i tidsserier; estimerer manglende verdier basert på nærliggende datapunkter ved hjelp av lineære eller andre matematiske metoder.

Velg den imputasjonsmetoden som passer best til din datatype og konteksten for analysen.

123456789101112131415161718
import pandas as pd import seaborn as sns # Load Titanic dataset titanic = sns.load_dataset("titanic") # Fill missing values in 'age' (numerical) with the mean titanic['age'] = titanic['age'].fillna(titanic['age'].mean()) # Fill missing values in 'deck' (categorical) with the mode titanic['deck'] = titanic['deck'].fillna(titanic['deck'].mode()[0]) # Drop 'embarked' and 'embark_town' columns (only 2 missing values each) titanic = titanic.drop(['embarked', 'embark_town'], axis=1) # Display the number of missing values after processing print("Missing values after processing:") print(titanic.isnull().sum())
copy
Note
Merk

Fjerning av manglende verdier er raskt og enkelt, men kan føre til tap av verdifulle data, spesielt når manglende verdier er utbredt. Imputasjon bidrar til å beholde mer data, men kan introdusere skjevhet hvis metoden ikke velges nøye. Vurder mengden og mønsteret av manglende verdier, samt viktigheten av variabelen, før du bestemmer om du skal fjerne eller imputere.

question mark

Hvilket av følgende scenarier er mest hensiktsmessig for å fjerne rader med manglende verdier i stedet for å imputerer dem?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 2

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Awesome!

Completion rate improved to 8.33

bookHåndtering av Manglende Verdier

Sveip for å vise menyen

Manglende data er vanlig i datasett fra virkeligheten og kan påvirke analysen eller modellene dine. De tre hovedtypene for manglende data er:

  • Missing Completely at Random (MCAR): manglende verdier er ikke relatert til noen data;
  • Missing at Random (MAR): manglende verdier er kun relatert til observerte data;
  • Missing Not at Random (MNAR): manglende verdier avhenger av de manglende verdiene selv.

Valg av riktig strategi for håndtering av manglende verdier avhenger av typen manglende data. Dårlig håndtering kan føre til skjevfordelte resultater, svakere analyser og upålitelige prediksjoner.

12345678
import pandas as pd import seaborn as sns titanic = sns.load_dataset("titanic") # Find missing values in each column print("Missing values per column:") print(titanic.isnull().sum())
copy
Note
Definisjon

Imputering er prosessen med å erstatte manglende verdier med andre verdier, som for eksempel gjennomsnitt, median eller modus. Imputering bidrar til å bevare datasettets struktur og størrelse for videre analyse eller modellering.

Typer av imputasjonsmetoder

Ulike datatyper krever spesifikke imputasjonsstrategier for å håndtere manglende verdier effektivt:

  • Gjennomsnittsimputasjon: brukes for numeriske variabler; erstatter manglende verdier med gjennomsnittet av observerte verdier;
  • Medianimputasjon: brukes for numeriske variabler, spesielt når dataene er skjeve; erstatter manglende verdier med medianen;
  • Modusimputasjon: brukes for kategoriske variabler; erstatter manglende verdier med den mest hyppige kategorien eller verdien;
  • Konstant verdi-imputasjon: brukes for både numeriske og kategoriske variabler; fyller manglende verdier med en fast verdi som 0, -1 eller 'unknown';
  • Forward fill (ffill): brukes for tidsserier eller ordnede data; viderefører siste gyldige observasjon fremover for å fylle hull;
  • Backward fill (bfill): brukes for tidsserier eller ordnede data; bruker neste gyldige observasjon for å fylle hull bakover;
  • Interpolasjon: brukes for numeriske variabler, spesielt i tidsserier; estimerer manglende verdier basert på nærliggende datapunkter ved hjelp av lineære eller andre matematiske metoder.

Velg den imputasjonsmetoden som passer best til din datatype og konteksten for analysen.

123456789101112131415161718
import pandas as pd import seaborn as sns # Load Titanic dataset titanic = sns.load_dataset("titanic") # Fill missing values in 'age' (numerical) with the mean titanic['age'] = titanic['age'].fillna(titanic['age'].mean()) # Fill missing values in 'deck' (categorical) with the mode titanic['deck'] = titanic['deck'].fillna(titanic['deck'].mode()[0]) # Drop 'embarked' and 'embark_town' columns (only 2 missing values each) titanic = titanic.drop(['embarked', 'embark_town'], axis=1) # Display the number of missing values after processing print("Missing values after processing:") print(titanic.isnull().sum())
copy
Note
Merk

Fjerning av manglende verdier er raskt og enkelt, men kan føre til tap av verdifulle data, spesielt når manglende verdier er utbredt. Imputasjon bidrar til å beholde mer data, men kan introdusere skjevhet hvis metoden ikke velges nøye. Vurder mengden og mønsteret av manglende verdier, samt viktigheten av variabelen, før du bestemmer om du skal fjerne eller imputere.

question mark

Hvilket av følgende scenarier er mest hensiktsmessig for å fjerne rader med manglende verdier i stedet for å imputerer dem?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 2
some-alt