Hå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.
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))
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 * IQReller overQ3 + 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.
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 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.
Tak for dine kommentarer!
Spørg AI
Spørg AI
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
Hå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.
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))
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 * IQReller overQ3 + 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.
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 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.
Tak for dine kommentarer!