В машинном обучении определенные точки данных заставляют модель работать так хорошо или так плохо по сравнению с другими точками данных. Такие точки данных при дальнейшем изучении, как правило, оказываются совершенно нереалистичными с точки зрения предметной области данных. Эти точки данных называются выбросами, и в этом блоге мы увидим, как мы можем визуализировать, а затем обнаруживать и удалять выбросы из набора данных.
В статистике выброс – это точка данных, которая значительно отличается от других наблюдений.
Эти выбросы данных могут возникать из-за ряда факторов, таких как экспериментальная ошибка, изменчивость измерения, ошибка документации и т. д.
Сводка по пяти числам и блочная диаграмма
Один из самых популярных способов обнаружения выбросов в наборе данных — использование визуализации блочной диаграммы, и мы будем использовать этот график для обнаружения и удаления, мы будем использовать межквартильный диапазон.
Давайте посмотрим на это с помощью примера:
Предположим, у нас есть распределение, и нам нужно обнаружить и удалить выбросы.
data_distribution = [1, 2, 2, 2, 3, 3, 4, 5, 5, 5, 6, 6, 6, 6, 7, 8, 8, 9,27]
Сначала нам нужно найти пятизначную сводку распределения.
Сводка из 5 чисел, а именно: минимум, первый квартиль, медиана, третий квартиль и максимум, выглядит следующим образом:
- Минимум: представляет собой минимальное значение распределения. В данном случае это 1
- первый квартиль: также известен как 25-й процентиль. Процентиль — это значение, ниже которого находится определенный процент наблюдений. Здесь первый квартиль равен 3, что означает, что 25% наблюдений в распределении лежат ниже значения 3.
- Медиана. Медиана — это среднее число в отсортированном списке чисел. В этом случае медиана составляет 6,5.
- третий квартиль:он также известен как 75 процентиль. Здесь третий квартиль равен 5, что означает, что 75% наблюдений в распределении лежат ниже значения 5.
- Максимум: представляет собой максимальное значение распределения. В данном случае это 27
Поиск приведенных выше значений с помощью кода:

Коробка Сюжет
Коробчатая диаграмма — это тип визуализации, который показывает данные из сводки из пяти чисел, включая один из показателей центральной тенденции. Компоненты ящичной диаграммы показаны ниже:

Как видно из приведенного выше определения ящичной диаграммы, если значение выходит за пределы минимумов и максимумов, оно является выбросом. Итак, теперь давайте визуализируем наше распределение и посмотрим, сможем ли мы его найти.

УХ ТЫ! Мы обнаруживаем наличие выброса в нашем распределении, и нам нужно удалить его, так как это может повлиять на нашу модель, если мы будем обучать ее предсказанию с помощью машинного обучения.
Удаление выбросов с использованием межквартильного диапазона
Разница между верхним и нижним квартилем называется межквартильным диапазоном. Его дают:
Межквартильный диапазон = верхний квартиль — нижний квартиль = Q3 — Q1
Затем нам нужно вычислить lower_boundry и upper_boundry. Это даст нам наименьшее значение из нашего распределения, ниже которого точка данных является выбросом, и самое высокое значение, выше которого наша точка данных является выбросом.
lower_boundry = q1–1,5 * IQR upper_boundry = q3 + 1,5 * IQR
Затем мы получаем диапазон, за пределами которого точки данных являются выбросами:
диапазон = [нижняя_граница, верхняя_граница]
Давайте посмотрим на это в коде:

Теперь, когда мы получили наш диапазон, мы можем проверить, не выходит ли какое-либо значение за пределы этого диапазона, который является выбросом.

Мы видим, что значение 27 является выбросом в этом распределении, и то же самое было указано на визуализации прямоугольной диаграммы. Теперь все, что нам нужно, это удалить этот выброс.

Вола!! Мы успешно удалили выброс.
Заключение
Выбросы присутствуют почти в большинстве реальных наборов данных, и с ними следует обращаться должным образом. Блочные диаграммы — один из самых эффективных и простых способов визуализации выбросов, и я надеюсь, что этот блог смог объяснить всю логику обнаружения и удаления выбросов.
Спасибо за прочтение, продолжайте учиться :)