Обробка Дублікатів та Викидів
Під час роботи з реальними наборами даних часто зустрічаються дублікати записів та викиди. Обидва ці фактори можуть суттєво впливати на аналіз даних і ефективність моделей машинного навчання. Дублікати можуть штучно підвищувати значущість певних закономірностей, що призводить до упереджених результатів, тоді як викиди спотворюють статистичні підсумки та прогнози моделей. Коректна ідентифікація та обробка цих проблем є ключовою частиною очищення даних.
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))
Викиди — це точки даних, які суттєво відрізняються від більшості у наборі даних. Поширені методи виявлення викидів включають візуалізації (наприклад, box plot), статистичні показники (такі як Z-score) та метод міжквартильного розмаху (IQR).
Z-оцінка та міжквартильний розмах (IQR) — це два поширені статистичні показники, які використовуються для виявлення викидів у наборі даних:
- Z-оцінка:
- Вимірює, на скільки стандартних відхилень точка даних відрізняється від середнього значення;
- Z-оцінка обчислюється за формулою:
(value - mean) / standard deviation; - Точки даних із Z-оцінками більше 3 або менше -3 часто вважаються викидами, оскільки вони значно віддалені від середнього значення.
- Міжквартильний розмах (IQR):
- Відображає діапазон між першим квартилем (Q1, 25-й перцентиль) і третім квартилем (Q3, 75-й перцентиль);
- IQR обчислюється як
Q3 - Q1; - Викидами зазвичай вважаються точки даних, що знаходяться нижче
Q1 - 1.5 * IQRабо вищеQ3 + 1.5 * IQR, тобто вони виходять за межі типової варіації центральних 50% даних.
Обидва методи допомагають оцінити, наскільки значення відхиляються від очікуваного діапазону. Z-оцінка фокусується на відстані від середнього, а IQR визначає значення поза центральною частиною набору даних.
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"]])
Під час обробки викидів можна обрати їх видалення або трансформацію (наприклад, обмеження екстремальних значень або застосування log-перетворення). Найкращий підхід залежить від вашого набору даних і цілей аналізу.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 8.33
Обробка Дублікатів та Викидів
Свайпніть щоб показати меню
Під час роботи з реальними наборами даних часто зустрічаються дублікати записів та викиди. Обидва ці фактори можуть суттєво впливати на аналіз даних і ефективність моделей машинного навчання. Дублікати можуть штучно підвищувати значущість певних закономірностей, що призводить до упереджених результатів, тоді як викиди спотворюють статистичні підсумки та прогнози моделей. Коректна ідентифікація та обробка цих проблем є ключовою частиною очищення даних.
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))
Викиди — це точки даних, які суттєво відрізняються від більшості у наборі даних. Поширені методи виявлення викидів включають візуалізації (наприклад, box plot), статистичні показники (такі як Z-score) та метод міжквартильного розмаху (IQR).
Z-оцінка та міжквартильний розмах (IQR) — це два поширені статистичні показники, які використовуються для виявлення викидів у наборі даних:
- Z-оцінка:
- Вимірює, на скільки стандартних відхилень точка даних відрізняється від середнього значення;
- Z-оцінка обчислюється за формулою:
(value - mean) / standard deviation; - Точки даних із Z-оцінками більше 3 або менше -3 часто вважаються викидами, оскільки вони значно віддалені від середнього значення.
- Міжквартильний розмах (IQR):
- Відображає діапазон між першим квартилем (Q1, 25-й перцентиль) і третім квартилем (Q3, 75-й перцентиль);
- IQR обчислюється як
Q3 - Q1; - Викидами зазвичай вважаються точки даних, що знаходяться нижче
Q1 - 1.5 * IQRабо вищеQ3 + 1.5 * IQR, тобто вони виходять за межі типової варіації центральних 50% даних.
Обидва методи допомагають оцінити, наскільки значення відхиляються від очікуваного діапазону. Z-оцінка фокусується на відстані від середнього, а IQR визначає значення поза центральною частиною набору даних.
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"]])
Під час обробки викидів можна обрати їх видалення або трансформацію (наприклад, обмеження екстремальних значень або застосування log-перетворення). Найкращий підхід залежить від вашого набору даних і цілей аналізу.
Дякуємо за ваш відгук!