Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Gestione dei Duplicati e dei Valori Anomali | Fondamenti della Pulizia dei Dati
Preprocessing dei Dati e Feature Engineering

bookGestione dei Duplicati e dei Valori Anomali

Quando si lavora con dataset reali, si incontrano spesso record duplicati e valori anomali. Entrambi possono influenzare in modo significativo l'analisi dei dati e le prestazioni dei modelli di apprendimento automatico. I duplicati possono aumentare artificialmente l'importanza di alcuni pattern, portando a risultati distorti, mentre i valori anomali possono alterare i riepiloghi statistici e le previsioni dei modelli. L'identificazione e la gestione corretta di questi problemi rappresentano una parte fondamentale della pulizia dei dati.

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
Definizione

I valori anomali sono punti dati che si discostano in modo significativo dalla maggior parte di un dataset. I metodi comuni per rilevare i valori anomali includono le visualizzazioni (come i box plot), le misure statistiche (come lo Z-score) e il metodo dell'intervallo interquartile (IQR).

Z-score e intervallo interquartile (IQR) sono due misure statistiche comuni utilizzate per identificare i valori anomali in un dataset:

  • Z-score:
    • Misura di quante deviazioni standard un dato punto si discosta dalla media;
    • Uno Z-score si calcola con la formula: (valore - media) / deviazione standard;
    • I punti dati con Z-score superiori a 3 o inferiori a -3 sono spesso considerati valori anomali, poiché molto distanti dal valore medio.
  • Intervallo Interquartile (IQR):
    • Rappresenta l'intervallo tra il primo quartile (Q1, 25° percentile) e il terzo quartile (Q3, 75° percentile);
    • L'IQR si calcola come Q3 - Q1;
    • I valori anomali sono tipicamente definiti come punti dati inferiori a Q1 - 1.5 * IQR o superiori a Q3 + 1.5 * IQR, cioè al di fuori della distribuzione tipica del 50% centrale dei dati.

Entrambi i metodi permettono di misurare quanto i valori si discostano dall'intervallo atteso. Lo Z-score si concentra sulla distanza dalla media, mentre l'IQR identifica i valori al di fuori della porzione centrale del dataset.

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
Nota

Quando si gestiscono i valori anomali, è possibile scegliere se rimuoverli o trasformarli (ad esempio, limitando i valori estremi o applicando una trasformazione log). L'approccio migliore dipende dal dataset e dagli obiettivi dell'analisi.

question mark

Quali delle seguenti affermazioni sono vere riguardo la gestione di duplicati e valori anomali in un dataset?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 3

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Suggested prompts:

Can you explain how to handle the outliers once they are detected?

What are some other methods for detecting outliers besides IQR and Z-score?

Can you show how to use the Z-score method to detect outliers in the Titanic dataset?

Awesome!

Completion rate improved to 8.33

bookGestione dei Duplicati e dei Valori Anomali

Scorri per mostrare il menu

Quando si lavora con dataset reali, si incontrano spesso record duplicati e valori anomali. Entrambi possono influenzare in modo significativo l'analisi dei dati e le prestazioni dei modelli di apprendimento automatico. I duplicati possono aumentare artificialmente l'importanza di alcuni pattern, portando a risultati distorti, mentre i valori anomali possono alterare i riepiloghi statistici e le previsioni dei modelli. L'identificazione e la gestione corretta di questi problemi rappresentano una parte fondamentale della pulizia dei dati.

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
Definizione

I valori anomali sono punti dati che si discostano in modo significativo dalla maggior parte di un dataset. I metodi comuni per rilevare i valori anomali includono le visualizzazioni (come i box plot), le misure statistiche (come lo Z-score) e il metodo dell'intervallo interquartile (IQR).

Z-score e intervallo interquartile (IQR) sono due misure statistiche comuni utilizzate per identificare i valori anomali in un dataset:

  • Z-score:
    • Misura di quante deviazioni standard un dato punto si discosta dalla media;
    • Uno Z-score si calcola con la formula: (valore - media) / deviazione standard;
    • I punti dati con Z-score superiori a 3 o inferiori a -3 sono spesso considerati valori anomali, poiché molto distanti dal valore medio.
  • Intervallo Interquartile (IQR):
    • Rappresenta l'intervallo tra il primo quartile (Q1, 25° percentile) e il terzo quartile (Q3, 75° percentile);
    • L'IQR si calcola come Q3 - Q1;
    • I valori anomali sono tipicamente definiti come punti dati inferiori a Q1 - 1.5 * IQR o superiori a Q3 + 1.5 * IQR, cioè al di fuori della distribuzione tipica del 50% centrale dei dati.

Entrambi i metodi permettono di misurare quanto i valori si discostano dall'intervallo atteso. Lo Z-score si concentra sulla distanza dalla media, mentre l'IQR identifica i valori al di fuori della porzione centrale del dataset.

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
Nota

Quando si gestiscono i valori anomali, è possibile scegliere se rimuoverli o trasformarli (ad esempio, limitando i valori estremi o applicando una trasformazione log). L'approccio migliore dipende dal dataset e dagli obiettivi dell'analisi.

question mark

Quali delle seguenti affermazioni sono vere riguardo la gestione di duplicati e valori anomali in un dataset?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 3
some-alt