Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Håndtering af Manglende Værdier | Grundlæggende Datarensning
Datapræprocessering og Feature Engineering

bookHåndtering af Manglende Værdier

Manglende data er almindelige i virkelige datasæt og kan påvirke din analyse eller dine modeller. De tre hovedtyper af manglende data er:

  • Missing Completely at Random (MCAR): manglende værdier er ikke relateret til nogen data;
  • Missing at Random (MAR): manglende værdier er kun relateret til observerede data;
  • Missing Not at Random (MNAR): manglende værdier afhænger af de manglende værdier selv.

Valget af den rette strategi til håndtering af manglende værdier afhænger af typen af manglende data. Dårlig håndtering kan føre til skæve resultater, svagere analyser og upålidelige forudsigelser.

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
Definition

Imputation er processen, hvor manglende værdier erstattes med substituerede værdier, såsom gennemsnit, median eller typetal osv. Imputation hjælper med at bevare datasættets struktur og størrelse til videre analyse eller modellering.

Typer af imputationsmetoder

Forskellige datatyper kræver specifikke imputationsstrategier for effektiv håndtering af manglende værdier:

  • Gennemsnitsimputation: anvendes til numeriske variable; erstatter manglende værdier med gennemsnittet af observerede værdier;
  • Medianimputation: anvendes til numeriske variable, især ved skæv fordeling; erstatter manglende værdier med medianen;
  • Mode-imputation: anvendes til kategoriske variable; erstatter manglende værdier med den hyppigste kategori eller værdi;
  • Konstant værdi-imputation: anvendes til både numeriske og kategoriske variable; udfylder manglende værdier med en fast værdi såsom 0, -1 eller 'unknown';
  • Forward fill (ffill): anvendes til tidsserier eller ordnede data; viderefører den seneste gyldige observation fremad for at udfylde huller;
  • Backward fill (bfill): anvendes til tidsserier eller ordnede data; bruger den næste gyldige observation til at udfylde huller bagud;
  • Interpolation: anvendes til numeriske variable, især i tidsserier; estimerer manglende værdier baseret på nærliggende datapunkter ved hjælp af lineære eller andre matematiske metoder.

Vælg den imputationsmetode, der passer bedst til din datatype og konteksten for din analyse.

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
Bemærk

Sletning af manglende værdier er hurtigt og simpelt, men kan føre til tab af værdifulde data, især når manglende værdier er udbredte. Imputation hjælper med at bevare flere data, men kan introducere bias, hvis metoden ikke vælges omhyggeligt. Overvej mængden og mønstret af manglende værdier samt vigtigheden af variablen, før du beslutter, om du vil slette eller imputere.

question mark

Hvilket af følgende scenarier er mest hensigtsmæssigt for at fjerne rækker med manglende værdier i stedet for at imputere dem?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 2

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

Awesome!

Completion rate improved to 8.33

bookHåndtering af Manglende Værdier

Stryg for at vise menuen

Manglende data er almindelige i virkelige datasæt og kan påvirke din analyse eller dine modeller. De tre hovedtyper af manglende data er:

  • Missing Completely at Random (MCAR): manglende værdier er ikke relateret til nogen data;
  • Missing at Random (MAR): manglende værdier er kun relateret til observerede data;
  • Missing Not at Random (MNAR): manglende værdier afhænger af de manglende værdier selv.

Valget af den rette strategi til håndtering af manglende værdier afhænger af typen af manglende data. Dårlig håndtering kan føre til skæve resultater, svagere analyser og upålidelige forudsigelser.

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
Definition

Imputation er processen, hvor manglende værdier erstattes med substituerede værdier, såsom gennemsnit, median eller typetal osv. Imputation hjælper med at bevare datasættets struktur og størrelse til videre analyse eller modellering.

Typer af imputationsmetoder

Forskellige datatyper kræver specifikke imputationsstrategier for effektiv håndtering af manglende værdier:

  • Gennemsnitsimputation: anvendes til numeriske variable; erstatter manglende værdier med gennemsnittet af observerede værdier;
  • Medianimputation: anvendes til numeriske variable, især ved skæv fordeling; erstatter manglende værdier med medianen;
  • Mode-imputation: anvendes til kategoriske variable; erstatter manglende værdier med den hyppigste kategori eller værdi;
  • Konstant værdi-imputation: anvendes til både numeriske og kategoriske variable; udfylder manglende værdier med en fast værdi såsom 0, -1 eller 'unknown';
  • Forward fill (ffill): anvendes til tidsserier eller ordnede data; viderefører den seneste gyldige observation fremad for at udfylde huller;
  • Backward fill (bfill): anvendes til tidsserier eller ordnede data; bruger den næste gyldige observation til at udfylde huller bagud;
  • Interpolation: anvendes til numeriske variable, især i tidsserier; estimerer manglende værdier baseret på nærliggende datapunkter ved hjælp af lineære eller andre matematiske metoder.

Vælg den imputationsmetode, der passer bedst til din datatype og konteksten for din analyse.

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
Bemærk

Sletning af manglende værdier er hurtigt og simpelt, men kan føre til tab af værdifulde data, især når manglende værdier er udbredte. Imputation hjælper med at bevare flere data, men kan introducere bias, hvis metoden ikke vælges omhyggeligt. Overvej mængden og mønstret af manglende værdier samt vigtigheden af variablen, før du beslutter, om du vil slette eller imputere.

question mark

Hvilket af følgende scenarier er mest hensigtsmæssigt for at fjerne rækker med manglende værdier i stedet for at imputere dem?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 2
some-alt