Числовые данные: Очистка

Яблони дают смесь великолепных фруктов и червивых гадостей. Тем не менее, яблоки в дорогих продуктовых магазинах представляют собой 100% идеальные плоды. Между садом и продуктовым магазином кто-то тратит много времени на удаление испорченных яблок или распыление небольшого количества воска на те, которые можно спасти. Как инженер ML, вы потратите огромное количество времени, отбрасывая плохие примеры и исправляя те, которые можно спасти. Даже несколько плохих парней могут испортить большой набор данных.

Многие примеры в наборах данных ненадежны из-за одной или нескольких из следующих проблем:

Категория проблемы Пример
Пропущенные значения Переписчик не фиксирует возраст жителя.
Повторяющиеся примеры Сервер загружает одни и те же журналы дважды.
Значения функции вне диапазона. Человек случайно вводит лишнюю цифру.
Плохие этикетки Человек-оценщик ошибочно принимает изображение дуба за клен.

Вы можете написать программу или сценарий для обнаружения любой из следующих проблем:

  • Пропущенные значения
  • Повторяющиеся примеры
  • Значения функций вне диапазона

Например, следующий набор данных содержит шесть повторяющихся значений:

Рисунок 15. Первые шесть значений повторяются. Последние восемь значений — нет.
Рисунок 15. Первые шесть значений повторяются.

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

Рисунок 16. Девятнадцать значений в пределах диапазона и одно значение вне диапазона.
Рисунок 16. Значение вне диапазона.

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

После обнаружения вы обычно «исправляете» примеры, содержащие неправильные объекты или неверные метки, удаляя их из набора данных или вменяя их значения. Подробности см. в разделе «Характеристики данных» модуля «Наборы данных, обобщение и переобучение» .