ПочатиПочніть безкоштовно

Вилучення статистичних викидів

Хоча видалення верхніх N% даних корисне, щоб прибрати явно хибні точки, воно має недолік: завжди вилучається однакова частка точок, навіть якщо дані коректні. Поширена альтернатива — видаляти дані, що лежать далі ніж на три стандартні відхилення від середнього. Це можна реалізувати, спершу обчисливши середнє та стандартне відхилення відповідного стовпця, щоб знайти верхню та нижню межі, і застосувавши ці межі як маску до датафрейму. Такий підхід гарантує, що буде вилучено лише справді нетипові дані, і він прибере менше точок, якщо дані щільно згруповані.

Ця вправа є частиною курсу

Feature Engineering для машинного навчання в Python

Переглянути курс

Інструкції до вправи

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

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Find the mean and standard dev
std = so_numeric_df['ConvertedSalary'].____
mean = so_numeric_df['ConvertedSalary'].____

# Calculate the cutoff
cut_off = std * 3
lower, upper = mean - cut_off, ____

# Trim the outliers
trimmed_df = so_numeric_df[(so_numeric_df['ConvertedSalary'] < ____) \ 
                           & (so_numeric_df['ConvertedSalary'] > ____)]

# The trimmed box plot
trimmed_df[['ConvertedSalary']].boxplot()
plt.show()
Редагувати та запускати код