Выбросы: что значит отличаться

Обнаружение выбросов в машинном обучении

Это не статья по самопомощи. Речь идет об обнаружении выбросов в машинном обучении.

В этой статье мы поговорим о том, что такое выброс, почему он имеет значение и как мы можем обнаружить выбросы и справиться с ними с помощью Python.

Что

выброс - это любое значение, которое значительно отличается от других значений. Очень расплывчато, правда? Но это наиболее подходящий вариант, поскольку нет единого способа указать, что является исключением, а что нет. В основном это зависит от вашего восприятия и сценария, с которым вы имеете дело.

Почему

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

Выбросы увеличивают вариабельность ваших данных, что снижает статистическую мощность. Следовательно, исключение выбросов может привести к тому, что ваши результаты станут статистически значимыми.

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

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

Как

Итак, что вы делаете или как вы справляетесь с выбросами? Есть ли варианты?

  1. Во-первых, НИЧЕГО НЕ ДЕЛАЙТЕ.
  2. Во-вторых, УДАЛИТЬ ИХ.
  3. Последний вариант - ЗАМЕНИТЬ ИХ ЗНАЧЕНИЯ.

Когда вы решите, какой из трех вышеперечисленных вариантов лучше?

  1. НИЧЕГО НЕ ДЕЛАЙТЕ, если у вас небольшой объем данных. В некоторых случаях это нормально.
  2. УДАЛИТЬ, если строки ваших данных содержат выбросы в одном или нескольких столбцах. Это хороший вариант, когда выбросы будут иметь большое влияние на способ обучения вашей модели.
  3. ЗАМЕНИТЕ ИХ ЗНАЧЕНИЯ, когда у вас мало данных и вы хотите сохранить значения и избежать проблем, которые могут вызвать выбросы. Минус этого подхода в том, что вы, по сути, манипулируете самими данными. Обратите внимание, что нет решения в замене значений. Вы можете заменить их средним значением, где вы можете применить метод под названием Winsorizing.

«Winsorizing - это когда вы заменяете выбросы ближайшим значением в ваших данных, которое не считается выбросом».

Реализация на Python

Есть два подхода к работе с выбросами. Один использует подход коробчатой ​​диаграммы, второй - подход стандартного отклонения. См. Ниже, как реализовать это в Python.

Подход к диаграмме

Подход стандартного отклонения

Ссылки:







Больше контента на plainenglish.io