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

bookHåndtering av Duplikater og Uteliggere

Ved arbeid med datasett fra virkeligheten vil du ofte støte på dupliserte poster og avvikere. Begge deler kan ha stor innvirkning på dataanalysen og ytelsen til maskinlæringsmodellene dine. Duplikater kan kunstig forsterke betydningen av visse mønstre, noe som fører til skjevfordelte resultater, mens avvikere kan forvrenge statistiske sammendrag og modellprediksjoner. Korrekt identifisering og håndtering av disse problemene er en sentral del av datarensing.

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
Definisjon

Avvikere er datapunkter som avviker betydelig fra majoriteten i et datasett. Vanlige metoder for å oppdage avvikere inkluderer visualiseringer (som boksplott), statistiske mål (slik som Z-score), og interkvartilavstand (IQR)-metoden.

Z-score og interkvartilavstand (IQR) er to vanlige statistiske mål som brukes for å identifisere uteliggere i et datasett:

  • Z-score:
    • Måler hvor mange standardavvik et datapunkt er fra gjennomsnittet;
    • En Z-score beregnes med formelen: (verdi - gjennomsnitt) / standardavvik;
    • Datapunkter med Z-score større enn 3 eller mindre enn -3 anses ofte som uteliggere, siden de ligger langt fra gjennomsnittsverdien.
  • Interkvartilavstand (IQR):
    • Representerer avstanden mellom første kvartil (Q1, 25. prosentil) og tredje kvartil (Q3, 75. prosentil);
    • IQR beregnes som Q3 - Q1;
    • Uteliggere defineres vanligvis som datapunkter under Q1 - 1.5 * IQR eller over Q3 + 1.5 * IQR, noe som betyr at de faller utenfor det typiske spennet til de sentrale 50 % av dataene.

Begge metodene hjelper deg å måle hvor langt verdier avviker fra forventet område. Z-score fokuserer på avstand fra gjennomsnittet, mens IQR identifiserer verdier utenfor den sentrale delen av datasettet.

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
Merk

Ved håndtering av uteliggere kan du velge å fjerne dem eller transformere dem (for eksempel ved å sette grenseverdier for ekstreme verdier eller bruke en log-transformasjon). Den beste tilnærmingen avhenger av datasettet ditt og målene for analysen.

question mark

Hvilke av følgende påstander er riktige om håndtering av duplikater og uteliggere i et datasett?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 3

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 Duplikater og Uteliggere

Sveip for å vise menyen

Ved arbeid med datasett fra virkeligheten vil du ofte støte på dupliserte poster og avvikere. Begge deler kan ha stor innvirkning på dataanalysen og ytelsen til maskinlæringsmodellene dine. Duplikater kan kunstig forsterke betydningen av visse mønstre, noe som fører til skjevfordelte resultater, mens avvikere kan forvrenge statistiske sammendrag og modellprediksjoner. Korrekt identifisering og håndtering av disse problemene er en sentral del av datarensing.

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
Definisjon

Avvikere er datapunkter som avviker betydelig fra majoriteten i et datasett. Vanlige metoder for å oppdage avvikere inkluderer visualiseringer (som boksplott), statistiske mål (slik som Z-score), og interkvartilavstand (IQR)-metoden.

Z-score og interkvartilavstand (IQR) er to vanlige statistiske mål som brukes for å identifisere uteliggere i et datasett:

  • Z-score:
    • Måler hvor mange standardavvik et datapunkt er fra gjennomsnittet;
    • En Z-score beregnes med formelen: (verdi - gjennomsnitt) / standardavvik;
    • Datapunkter med Z-score større enn 3 eller mindre enn -3 anses ofte som uteliggere, siden de ligger langt fra gjennomsnittsverdien.
  • Interkvartilavstand (IQR):
    • Representerer avstanden mellom første kvartil (Q1, 25. prosentil) og tredje kvartil (Q3, 75. prosentil);
    • IQR beregnes som Q3 - Q1;
    • Uteliggere defineres vanligvis som datapunkter under Q1 - 1.5 * IQR eller over Q3 + 1.5 * IQR, noe som betyr at de faller utenfor det typiske spennet til de sentrale 50 % av dataene.

Begge metodene hjelper deg å måle hvor langt verdier avviker fra forventet område. Z-score fokuserer på avstand fra gjennomsnittet, mens IQR identifiserer verdier utenfor den sentrale delen av datasettet.

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
Merk

Ved håndtering av uteliggere kan du velge å fjerne dem eller transformere dem (for eksempel ved å sette grenseverdier for ekstreme verdier eller bruke en log-transformasjon). Den beste tilnærmingen avhenger av datasettet ditt og målene for analysen.

question mark

Hvilke av følgende påstander er riktige om håndtering av duplikater og uteliggere i et datasett?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 3
some-alt