Отсутствие записи имеет разные причины
В таблице продаж ноль может означать, что за день не продано ни одной единицы. Пустая ячейка может означать, что отчёт ещё не пришёл. Если заменить её нулём, модель получит утверждение об отсутствии продаж, которого в исходных данных не было. Представим три дня: два проданных предмета, четыре и неизвестное количество. Среднее по двум известным наблюдениям равно трём. После подстановки нуля среднее по трём строкам станет равным двум. Арифметика корректна для новой таблицы, но сама таблица уже содержит дополнительное предположение. Поэтому сначала изучают описание полей и источник данных. Пропуск может появляться из-за сбоя, неприменимости вопроса или особенностей сбора. Несколько причин иногда обозначены одинаково, и это полезно выяснить до выбора алгоритма. Сохраняйте исходную версию, чтобы преобразования оставались проверяемыми.
Способ обработки выбирают под задачу
Удаление всех неполных строк уменьшает объём данных и может изменить состав выборки. Например, если сведения чаще отсутствуют у определённого типа объектов, после удаления он окажется представлен хуже. Поэтому удобство команды очистки не является достаточным основанием для её применения. Один из вариантов обработки называется импутацией: пропуски заменяют выбранной константой или оценкой, например медианой известных значений признака. Но подставленное число не превращается в реально измеренное. Полезно сохранять информацию о том, где изначально был пропуск; для этого используют отдельный индикатор. Некоторые модели умеют работать с отсутствующими значениями напрямую. Это не отменяет проверки их смысла и качества данных. Нет универсального правила, что сложное заполнение всегда лучше простого или что заполнение обязательно нужно в каждой задаче. Варианты сравнивают по корректно организованной оценке и требованиям к будущему применению.
Обработку обучают без подсматривания в проверку
Если заменяющее значение вычисляется из данных, его нужно оценивать по обучающей части. Затем то же правило применяют к проверочной части и новым объектам. Среднее или медиана всей таблицы уже учитывают сведения, которые должны были оставаться неизвестными при обучении. В перекрёстной проверке это правило действует внутри каждого разбиения. Последовательность преобразований и модель удобно объединять так, чтобы обучение обработки происходило вместе с обучением модели на соответствующей части. Это уменьшает риск незаметной утечки данных. Также продумайте новые ситуации. Что произойдёт, если в рабочем потоке пропуск появится в поле, где раньше их не было? Как обрабатывается полностью пустой столбец? Не изменяется ли состав признаков? Эти вопросы стоит проверить на небольших искусственных примерах до запуска. Красивая таблица без пустых клеток является лишь внешним результатом; важнее сохранённый смысл и воспроизводимое правило.
Попробуйте на практике
Спланируйте обработку пропусков на маленькой вымышленной таблице продаж.
- Создайте несколько записей с настоящим нулём и отдельным неизвестным значением.
- Объясните смысл обоих случаев и отметьте, какую информацию ещё нужно получить у источника.
- Выберите пробный способ обработки и подпишите внесённое предположение.
- Разделите данные на обучающую и проверочную части, указав, где вычисляются параметры заполнения.
Как проверить результат. Ноль и отсутствие сведений должны оставаться различимыми по смыслу. Проверочная часть не должна участвовать в вычислении заменяющих значений.
Частые вопросы
После заполнения пропусков данные становятся полными?
В техническом смысле пустых ячеек может не остаться, но неизвестные наблюдения не появились заново. Подстановки остаются результатом выбранного правила.
Нужно ли всегда добавлять индикатор пропуска?
Не всегда. Его полезность зависит от данных и модели. Важно проверить вариант и понимать, какую информацию индикатор несёт при дальнейшем применении.
Самостоятельный разбор темы. Содержание конкретной обучающей программы здесь не представлено.