Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Обробка Дублікатів та Викидів | Основи Очищення Даних
Попередня Обробка Даних та Створення Ознак

bookОбробка Дублікатів та Викидів

Під час роботи з реальними наборами даних часто зустрічаються дублікати записів та викиди. Обидва ці фактори можуть суттєво впливати на аналіз даних і ефективність моделей машинного навчання. Дублікати можуть штучно підвищувати значущість певних закономірностей, що призводить до упереджених результатів, тоді як викиди спотворюють статистичні підсумки та прогнози моделей. Коректна ідентифікація та обробка цих проблем є ключовою частиною очищення даних.

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
Визначення

Викиди — це точки даних, які суттєво відрізняються від більшості у наборі даних. Поширені методи виявлення викидів включають візуалізації (наприклад, 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 визначає значення поза центральною частиною набору даних.

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
Примітка

Під час обробки викидів можна обрати їх видалення або трансформацію (наприклад, обмеження екстремальних значень або застосування log-перетворення). Найкращий підхід залежить від вашого набору даних і цілей аналізу.

question mark

Які з наступних тверджень є правильними щодо обробки дублікатів і викидів у наборі даних?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 3

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Awesome!

Completion rate improved to 8.33

bookОбробка Дублікатів та Викидів

Свайпніть щоб показати меню

Під час роботи з реальними наборами даних часто зустрічаються дублікати записів та викиди. Обидва ці фактори можуть суттєво впливати на аналіз даних і ефективність моделей машинного навчання. Дублікати можуть штучно підвищувати значущість певних закономірностей, що призводить до упереджених результатів, тоді як викиди спотворюють статистичні підсумки та прогнози моделей. Коректна ідентифікація та обробка цих проблем є ключовою частиною очищення даних.

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
Визначення

Викиди — це точки даних, які суттєво відрізняються від більшості у наборі даних. Поширені методи виявлення викидів включають візуалізації (наприклад, 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 визначає значення поза центральною частиною набору даних.

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
Примітка

Під час обробки викидів можна обрати їх видалення або трансформацію (наприклад, обмеження екстремальних значень або застосування log-перетворення). Найкращий підхід залежить від вашого набору даних і цілей аналізу.

question mark

Які з наступних тверджень є правильними щодо обробки дублікатів і викидів у наборі даних?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 3
some-alt