Lidando com Duplicatas e Outliers
Ao trabalhar com conjuntos de dados do mundo real, é comum encontrar registros duplicados e outliers. Ambos podem impactar significativamente a análise de dados e o desempenho dos modelos de aprendizado de máquina. Duplicatas podem aumentar artificialmente a importância de certos padrões, levando a resultados tendenciosos, enquanto outliers podem distorcer resumos estatísticos e previsões de modelos. Identificar e tratar adequadamente essas questões é uma parte fundamental da limpeza de dados.
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 são pontos de dados que se desviam significativamente da maioria de um conjunto de dados. Métodos comuns para detectar outliers incluem visualizações (como boxplots), medidas estatísticas (como o Z-score) e o método do intervalo interquartil (IQR).
Z-score e intervalo interquartil (IQR) são duas medidas estatísticas comuns utilizadas para identificar outliers em um conjunto de dados:
- Z-score:
- Mede quantos desvios padrão um ponto de dado está distante da média;
- Um Z-score é calculado usando a fórmula:
(valor - média) / desvio padrão; - Pontos de dados com Z-scores maiores que 3 ou menores que -3 geralmente são considerados outliers, pois estão distantes do valor médio.
- Intervalo Interquartil (IQR):
- Representa o intervalo entre o primeiro quartil (Q1, 25º percentil) e o terceiro quartil (Q3, 75º percentil);
- O IQR é calculado como
Q3 - Q1; - Outliers são tipicamente definidos como pontos de dados abaixo de
Q1 - 1.5 * IQRou acima deQ3 + 1.5 * IQR, o que significa que estão fora da dispersão típica dos 50% centrais dos dados.
Ambos os métodos ajudam a medir o quanto os valores se desviam do intervalo esperado. O Z-score foca na distância em relação à média, enquanto o IQR identifica valores fora da porção central do conjunto de dados.
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"]])
Ao lidar com outliers, é possível optar por removê-los ou transformá-los (por exemplo, limitando valores extremos ou aplicando uma transformação log). A melhor abordagem depende do seu conjunto de dados e dos objetivos da análise.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 8.33
Lidando com Duplicatas e Outliers
Deslize para mostrar o menu
Ao trabalhar com conjuntos de dados do mundo real, é comum encontrar registros duplicados e outliers. Ambos podem impactar significativamente a análise de dados e o desempenho dos modelos de aprendizado de máquina. Duplicatas podem aumentar artificialmente a importância de certos padrões, levando a resultados tendenciosos, enquanto outliers podem distorcer resumos estatísticos e previsões de modelos. Identificar e tratar adequadamente essas questões é uma parte fundamental da limpeza de dados.
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 são pontos de dados que se desviam significativamente da maioria de um conjunto de dados. Métodos comuns para detectar outliers incluem visualizações (como boxplots), medidas estatísticas (como o Z-score) e o método do intervalo interquartil (IQR).
Z-score e intervalo interquartil (IQR) são duas medidas estatísticas comuns utilizadas para identificar outliers em um conjunto de dados:
- Z-score:
- Mede quantos desvios padrão um ponto de dado está distante da média;
- Um Z-score é calculado usando a fórmula:
(valor - média) / desvio padrão; - Pontos de dados com Z-scores maiores que 3 ou menores que -3 geralmente são considerados outliers, pois estão distantes do valor médio.
- Intervalo Interquartil (IQR):
- Representa o intervalo entre o primeiro quartil (Q1, 25º percentil) e o terceiro quartil (Q3, 75º percentil);
- O IQR é calculado como
Q3 - Q1; - Outliers são tipicamente definidos como pontos de dados abaixo de
Q1 - 1.5 * IQRou acima deQ3 + 1.5 * IQR, o que significa que estão fora da dispersão típica dos 50% centrais dos dados.
Ambos os métodos ajudam a medir o quanto os valores se desviam do intervalo esperado. O Z-score foca na distância em relação à média, enquanto o IQR identifica valores fora da porção central do conjunto de dados.
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"]])
Ao lidar com outliers, é possível optar por removê-los ou transformá-los (por exemplo, limitando valores extremos ou aplicando uma transformação log). A melhor abordagem depende do seu conjunto de dados e dos objetivos da análise.
Obrigado pelo seu feedback!