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

bookHåndtering af Dubletter og Outliers

Ved arbejde med virkelige datasæt vil du ofte støde på duplikerede poster og outliers. Begge kan have en betydelig indflydelse på din dataanalyse og ydeevnen af dine maskinlæringsmodeller. Duplikater kan kunstigt forstærke betydningen af visse mønstre, hvilket fører til skæve resultater, mens outliers kan forvride statistiske sammenfatninger og modelprognoser. Korrekt identifikation og håndtering af disse problemer er en central del af datarensning.

1234567891011121314151617
import pandas as pd import seaborn as sns # Load the Titanic dataset from seaborn df = sns.load_dataset("titanic") # Find duplicate rows in the Titanic dataset duplicates = df.duplicated() print("Duplicate row indicators:") print(duplicates.value_counts()) # Show how many duplicates exist # Remove duplicate rows df_no_duplicates = df.drop_duplicates() print("\nNumber of rows before removing duplicates:") print(len(df)) print("Number of rows after removing duplicates:") print(len(df_no_duplicates))
copy
Note
Definition

Outliers er datapunkter, der afviger markant fra størstedelen af et datasæt. Almindelige metoder til at opdage outliers omfatter visualiseringer (såsom box plots), statistiske mål (som Z-score) og interkvartilafstand (IQR)-metoden.

Z-score og interkvartilafstand (IQR) er to almindelige statistiske mål, der anvendes til at identificere outliers i et datasæt:

  • Z-score:
    • Måler hvor mange standardafvigelser et datapunkt er fra gennemsnittet;
    • En Z-score beregnes med formlen: (værdi - gennemsnit) / standardafvigelse;
    • Datapunkter med Z-scores større end 3 eller mindre end -3 betragtes ofte som outliers, da de ligger langt fra gennemsnitsværdien.
  • Interkvartilafstand (IQR):
    • Repræsenterer intervallet mellem første kvartil (Q1, 25. percentil) og tredje kvartil (Q3, 75. percentil);
    • IQR beregnes som Q3 - Q1;
    • Outliers defineres typisk som datapunkter under Q1 - 1,5 * IQR eller over Q3 + 1,5 * IQR, hvilket betyder, at de ligger uden for det typiske spænd af de centrale 50% af dataene.

Begge metoder hjælper med at måle, hvor langt værdier afviger fra det forventede interval. Z-score fokuserer på afstand fra gennemsnittet, mens IQR identificerer værdier uden for den centrale del af datasættet.

12345678910111213141516171819202122
import seaborn as sns import pandas as pd # Load the Titanic dataset from seaborn df = sns.load_dataset("titanic") # Drop rows with missing 'fare' values df_fare = df.dropna(subset=["fare"]) # Calculate Q1 and Q3 for the 'fare' column Q1 = df_fare["fare"].quantile(0.25) Q3 = df_fare["fare"].quantile(0.75) IQR = Q3 - Q1 # Define outlier bounds lower_bound = Q1 - 1.5 * IQR upper_bound = Q3 + 1.5 * IQR # Detect outliers in 'fare' outliers = df_fare[(df_fare["fare"] < lower_bound) | (df_fare["fare"] > upper_bound)] print("Outliers detected in 'fare' using IQR method:") print(outliers[["fare"]])
copy
Note
Bemærk

Ved håndtering af outliers kan du vælge at fjerne dem eller transformere dem (for eksempel ved at begrænse ekstreme værdier eller anvende en log-transformation). Den bedste tilgang afhænger af dit datasæt og målene med din analyse.

question mark

Hvilke af følgende udsagn er sande om håndtering af dubletter og outliers i et datasæt?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 3

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 Dubletter og Outliers

Stryg for at vise menuen

Ved arbejde med virkelige datasæt vil du ofte støde på duplikerede poster og outliers. Begge kan have en betydelig indflydelse på din dataanalyse og ydeevnen af dine maskinlæringsmodeller. Duplikater kan kunstigt forstærke betydningen af visse mønstre, hvilket fører til skæve resultater, mens outliers kan forvride statistiske sammenfatninger og modelprognoser. Korrekt identifikation og håndtering af disse problemer er en central del af datarensning.

1234567891011121314151617
import pandas as pd import seaborn as sns # Load the Titanic dataset from seaborn df = sns.load_dataset("titanic") # Find duplicate rows in the Titanic dataset duplicates = df.duplicated() print("Duplicate row indicators:") print(duplicates.value_counts()) # Show how many duplicates exist # Remove duplicate rows df_no_duplicates = df.drop_duplicates() print("\nNumber of rows before removing duplicates:") print(len(df)) print("Number of rows after removing duplicates:") print(len(df_no_duplicates))
copy
Note
Definition

Outliers er datapunkter, der afviger markant fra størstedelen af et datasæt. Almindelige metoder til at opdage outliers omfatter visualiseringer (såsom box plots), statistiske mål (som Z-score) og interkvartilafstand (IQR)-metoden.

Z-score og interkvartilafstand (IQR) er to almindelige statistiske mål, der anvendes til at identificere outliers i et datasæt:

  • Z-score:
    • Måler hvor mange standardafvigelser et datapunkt er fra gennemsnittet;
    • En Z-score beregnes med formlen: (værdi - gennemsnit) / standardafvigelse;
    • Datapunkter med Z-scores større end 3 eller mindre end -3 betragtes ofte som outliers, da de ligger langt fra gennemsnitsværdien.
  • Interkvartilafstand (IQR):
    • Repræsenterer intervallet mellem første kvartil (Q1, 25. percentil) og tredje kvartil (Q3, 75. percentil);
    • IQR beregnes som Q3 - Q1;
    • Outliers defineres typisk som datapunkter under Q1 - 1,5 * IQR eller over Q3 + 1,5 * IQR, hvilket betyder, at de ligger uden for det typiske spænd af de centrale 50% af dataene.

Begge metoder hjælper med at måle, hvor langt værdier afviger fra det forventede interval. Z-score fokuserer på afstand fra gennemsnittet, mens IQR identificerer værdier uden for den centrale del af datasættet.

12345678910111213141516171819202122
import seaborn as sns import pandas as pd # Load the Titanic dataset from seaborn df = sns.load_dataset("titanic") # Drop rows with missing 'fare' values df_fare = df.dropna(subset=["fare"]) # Calculate Q1 and Q3 for the 'fare' column Q1 = df_fare["fare"].quantile(0.25) Q3 = df_fare["fare"].quantile(0.75) IQR = Q3 - Q1 # Define outlier bounds lower_bound = Q1 - 1.5 * IQR upper_bound = Q3 + 1.5 * IQR # Detect outliers in 'fare' outliers = df_fare[(df_fare["fare"] < lower_bound) | (df_fare["fare"] > upper_bound)] print("Outliers detected in 'fare' using IQR method:") print(outliers[["fare"]])
copy
Note
Bemærk

Ved håndtering af outliers kan du vælge at fjerne dem eller transformere dem (for eksempel ved at begrænse ekstreme værdier eller anvende en log-transformation). Den bedste tilgang afhænger af dit datasæt og målene med din analyse.

question mark

Hvilke af følgende udsagn er sande om håndtering af dubletter og outliers i et datasæt?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 3
some-alt