Hå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.
1234567891011121314151617import 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))
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 * IQReller overQ3 + 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.
12345678910111213141516171819202122import 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"]])
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.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
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
Hå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.
1234567891011121314151617import 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))
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 * IQReller overQ3 + 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.
12345678910111213141516171819202122import 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"]])
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.
Takk for tilbakemeldingene dine!