Якщо ви хочете, щоб ваша модель машинного навчання працювала належним чином, вам потрібна хороша підготовка даних, а в цьому процесі обробка викидів (outliers) є ключовою.
Що таке викиди?
Викиди — це точки даних, які значно відрізняються від більшості даних. Ці точки знаходяться далеко від інших спостережень і можуть виникати через помилки, варіативність даних або рідкісні випадки.
Чому необхідно обробляти викиди?
- Вплив на моделі машинного навчання:
- Викиди можуть спотворити процес навчання моделі, що призведе до неточних прогнозів.
- Моделі, чутливі до розподілу даних, як-от лінійна регресія, можуть стати викривленими.
2. Вплив на статистичні метрики:
- Викиди можуть збільшити середнє значення та стандартне відхилення, що впливає на інтерпретацію даних.
- Вони також можуть створювати оманливі візуалізації та висновки.
Що станеться, якщо не обробляти викиди?
- Погана продуктивність моделі: Присутність викидів може знизити здатність моделі до узагальнення.
- Невірні метрики: Статистичні підсумки, як середнє значення та стандартне відхилення, можуть не відображати справжній розподіл даних.
- Помилкові висновки: Аналіз може стати упередженим, що призведе до неправильних бізнесових або дослідницьких рішень.
Boxplot: Інструмент для виявлення викидів
Boxplot (або діаграма «ящик з вусами») — це простий і ефективний графічний інструмент для візуалізації розподілу набору даних і виявлення викидів.
Як працює Boxplot?
- Візуальні компоненти:
- Ящик: Означає міжквартильний діапазон (IQR), розподіл середніх 50% даних.
- Медіана (Q2): Лінія всередині ящика позначає медіанне значення набору даних.
- Вуса: Протягуються до найменших і найбільших значень в межах 1,5 рази від IQR від Q1 та Q3.
- Викиди: Точки даних, що знаходяться за межами вусів, показані окремими крапками.
2. Виявлення викидів:
- Нижня межа: Q1−1.5×IQR
- Верхня межа: Q3+1.5×IQR
- Будь-яка точка поза цими межами вважається викидом.
Візуалізація
Як можна обробити викиди?
- Видалити викиди:
- Це підходить, якщо викиди є помилками або не мають значення для аналізу.
- Приклад:
df = df[(df['value'] >= lower_bound) & (df['value'] <= upper_bound)]
2. Обмежити або обмежити значення викидів:
- Замінити викиди на найближче значення, яке не є викидом (наприклад, межі вусів).
df['value'] = df['value'].clip(lower=lower_bound, upper=upper_bound)
3. Залишити викиди:
- Залишити викиди, якщо вони представляють рідкісні, але допустимі події, як-от аномалії при виявленні шахрайства.
4. Застосувати трансформації:
- Використовувати логарифмічні або квадратні корені для зменшення впливу викидів.
5. Використовувати стійкі методи:
- Перейти до алгоритмів, які менш чутливі до викидів, як-от дерева рішень.
Ефективно обробляючи викиди, ви можете забезпечити, щоб ваші дані були чистими, надійними та готовими до створення стійких моделей машинного навчання.
Перекладено з: How to Handle Outliers in Your Data Preparation?