Очистка недостающих данных

Важно!

Поддержка Студии машинного обучения (классической) будет прекращена 31 августа 2024 г. До этой даты рекомендуется перейти на Машинное обучение Azure.

Начиная с 1 декабря 2021 года вы не сможете создавать новые ресурсы Студии машинного обучения (классической). Существующие ресурсы Студии машинного обучения (классическая версия) можно будет использовать до 31 августа 2024 г.

Поддержка документации по ML Studio (классической) прекращается, а сама документация может не обновляться в будущем.

Указывает, как обрабатывать значения, отсутствующие в наборе данных

Категория: Преобразование или управление данными

Примечание

применимо к: только Машинное обучение Studio (классическая модель)

Подобные модули перетаскивания доступны в конструкторе машинного обучения Azure.

Обзор модуля

в этой статье описывается, как использовать модуль Clean missing Data (очистка недостающих данных ) в Машинное обучение Studio (классическая модель) для удаления, замены или выведения отсутствующих значений.

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

Этот модуль поддерживает несколько типов операций для очистки отсутствующих значений, в том числе:

  • замену недостающих значений заполнителем, средним или другим значением;
  • полное удаление строк и столбцов с недостающими значениями;
  • выведение значений на основе статистических методов.

Совет

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

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

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

Использование модуля очистки недостающих данных

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

Важно!

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

Замените отсутствующие значения

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

  1. Добавьте модуль Clean Missing Data (очистка недостающих данных ) в эксперимент и подключите набор данных, содержащий недостающие значения.

  2. В поле Columns to be cleaned (Столбцы для очистки) выберите столбцы, содержащие недостающие значения, которые необходимо изменить. Можно выбрать несколько столбцов, но необходимо использовать один и тот же метод замены во всех выбранных столбцах. Поэтому обычно строковые и числовые столбцы нужно очищать отдельно.

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

    1. Откройте селектор столбцов и выберите с правилами.

    2. В параметре начать свыберите нет столбцов.

      Также можно начать со всех СТОЛБЦОВ, а затем исключить столбцы. Изначально правила не отображаются, если сначала щелкнуть все столбцы, но можно щелкнуть нет столбцов , а затем снова щелкнуть все столбцы , чтобы начать со всех столбцов, а затем отфильтровать (исключить) столбцы на основе имени, типа данных или индекса столбцов.

    3. В поле включитьвыберите тип столбца из раскрывающегося списка, а затем выберите числовойили более конкретный числовой тип.

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

  3. Для параметра Minimum missing value ratio (Минимальное соотношение недостающих значений) укажите минимальное количество недостающих значений, необходимых для выполнения операции.

    Этот параметр используется вместе с параметром Maximum missing value ratio (Максимальное соотношение недостающих значений) для определения условий, при которых выполняется операция очистки для набора данных. Если строк c недостающими значениями слишком много или слишком мало, операция не может быть выполнена.

    Введенное число представляет соотношение недостающих значений ко всем значениям в столбце. По умолчанию свойство минимального соотношения недостающих значений имеет значение 0. Это означает, что недостающие значения очищаются даже при наличии только одного недостающего значения. Пример использования этого параметра см. в разделе Установка порогового значения для операций очистки.

    Предупреждение

    Это условие должно выполняться в каждом столбце для применения указанной операции. Например, предположим, что вы выбрали три столбца, а затем установили для минимального соотношения недостающих значений значение 2 (20 %), но на самом деле только один столбец имеет 20 % недостающих значений. В этом случае операция очистки будет применена только к столбцу с более чем 20 % недостающих значений. Поэтому другие столбцы останутся неизмененными.

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

  4. Для параметра Maximum missing value ratio (Максимальное соотношение недостающих значений) укажите максимальное число недостающих значений, которые могут присутствовать в операции.

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

    Его следует указать как отношение недостающих значений ко всем значениям в столбце. Для параметра Maximum missing value ratio (Максимальное соотношение недостающих значений) по умолчанию установлено значение 1. Это означает, что недостающие значения очищаются, даже если в столбце 100 % недостающих значений.

    Примечание

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

  5. Для параметра Cleaning Mode (Режим очистки) выберите один из следующих вариантов замены или удаления недостающих значений:

    • Заменить с помощью мышей: для каждого отсутствующего значения этот параметр присваивает новое значение, которое вычисляется с помощью метода, описанного в разделе "Статистическая литература", как "многофакторная добавления отсутствующих using chaining уравнения" или "несколько добавления отсутствующих по цепочке уравнений". При использовании нескольких методов добавления отсутствующихкаждая переменная с отсутствующими данными моделируется условно с помощью других переменных в данных перед заполнением недостающих значений. В отличие от этого, в одном методе добавления отсутствующих (например, при замене отсутствующего значения на значение столбца) для определения значения заливки выполняется отдельный проход по данным.

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

      Общие сведения о методах обработки отсутствующих значений см . в разделе отсутствующие данные: состояние изображения. Счафер и Graham, 2002.

      Предупреждение

      Этот параметр нельзя применить к полностью пустым столбцам. Такие столбцы следует удалять или передавать в выходной набор данных как есть.

    • Настраиваемое заменяющее значение. Этот параметр используется для указания значения заполнителя (например, 0 (ноль) или н/д), который применяется ко всем недостающим значениям. Значение, указанное в качестве замены, должно быть совместимо с типом данных столбца.

    • Заменить на среднее: вычисляет среднее значение столбца и использует среднее в качестве заменяющего значения для каждого отсутствующего значения в столбце.

      Применяется только для столбцов с типами данных Integer, Double или Boolean. Дополнительные сведения см. в разделе Технические примечания .

    • Замена медианным значением. Вычисляет медиану столбца и использует ее в качестве заменяющего значения для каждого недостающего значения в столбце.

      Применяется только для столбцов с типом данных Integer или Double. Дополнительные сведения см. в разделе Технические примечания .

    • Заменить на режим. Метод вычисляет режим столбца и использует его в качестве замены для каждого недостающего значения столбца.

      Применяется только для столбцов с типом данных Integer, Double, Boolean или категориальным типом. Дополнительные сведения см. в разделе Технические примечания .

    • Удалить целую строку. Полностью удаляет любую строку в наборе данных, имеющую одно или несколько недостающих значений. Этот вариант удобно использовать, если недостающее значение может рассматриваться как случайный пропуск.

    • Удалить целый столбец. Полностью удаляет любой столбец в наборе данных, имеющий одно или несколько недостающих значений.

    • Замена с помощью ВЕРОЯТНОСТНАЯ PCA: Заменяет отсутствующие значения с помощью линейной модели, которая анализирует корреляции между столбцами и оценивает нехватку аппроксимации данных, из которых перестроятся полные данные. Лежащее в основе сокращение размерности является вероятностной формой анализа главных компонентов (PCA) и реализует вариант модели, предложенной в работе Типпинга (Tipping) и Бишопа (Bishop), опубликованной в журнале Королевского статистического общества (серия Б 21 (3), с. 611–622).

      Преимущество такого подхода по сравнению с другими вариантами (например, методом многомерного восстановления с помощью связанных уравнений MICE) состоит в том, что он не требует применения предикторов к каждому столбцу. Вместо этого он предусматривает аппроксимацию ковариации полного набора данных. Таким образом, это может обеспечить лучшую производительность для наборов данных, в которых отсутствуют значения во многих столбцах.

      У этого метода есть ряд важных ограничений. При его использовании числовые индикаторы включаются в состав категориальных столбцов и по этим результирующим данным вычисляется плотная ковариационная матрица. Метод также не оптимизирован для разреженных представлений. По этим причинам метод не поддерживает обработку наборов данных с большим количеством столбцов и/или большими категориальными доменами (десятки тысяч значений) из-за чрезмерного потребления пространства.

      Совет

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

  6. Параметр Replacement value (Значение замены) доступен, если уже выбран параметр Custom substitution value (Настраиваемое заменяющее значение). Введите новое значение, которое будет использоваться в качестве замещающего значения для всех недостающих значений в столбце.

    Обратите внимание, что этот параметр можно использовать только в столбцах, имеющих типы данных Integer, Double, Boolean или Date. Для столбцов даты заменяющее значение также можно ввести в виде количества 100-наносекундных тактов с момента 1/1/0001 12:00.

  7. Generate missing value indicator column (). Выберите этот параметр, если необходимо вывести сведения о том, соответствуют ли значения в столбце критериям очистки недостающих значений. Этот параметр особенно полезен, если вы настраиваете новую операцию очистки и хотите убедиться, что она работает так, как нужно.

  8. Запустите эксперимент или выберите модуль очистить недостающие данные и нажмите кнопку Выполнить выбранное.

Результаты

Модуль возвращает два набора выходных данных:

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

    В него также передаются столбцы, не выбранные для очистки.

  • Преобразование с очисткой. Преобразование данных, используемое для очистки, которое можно сохранить в рабочей области и позже применить к новым данным.

Применение сохраненной операции очистки к новым данным

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

  1. Добавьте модуль Применить преобразование к вашему эксперименту.

  2. Добавьте набор данных, который необходимо очистить, и подключите его к правому порту ввода.

  3. Разверните группу преобразования в левой области Studio (классическая модель). Выделите сохраненное преобразование и перетащите его в эксперимент.

  4. Подключите сохраненное преобразование к левому порту ввода модуля Применение преобразования.

    При применении сохраненного преобразования нельзя выбрать столбцы, к которым применяется преобразование. Это связано с тем, что преобразование уже определено и применяется автоматически к типам данных, указанным в исходной операции.

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

  5. Запустите эксперимент.

Примеры

См. примеры использования этого модуля в Коллекция решений ии Azure.

Технические примечания

В этом разделе содержатся сведения о реализации, а также известные проблемы и часто задаваемые вопросы.

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

  • При замене отсутствующих значений средним значением в столбцах, имеющих типы данных Boolean, Integer, DateTime или TimeSpan, столбец сначала преобразуется в числа с плавающей запятой, вычисляется среднее, а затем результат округляется до ближайшего значения исходного типа данных.

  • Замещающее значение должно быть совместимо с типом данных выбранного столбца.

  • NaNЗначения, Inf и –Inf разрешены для столбцов с типом данных Double.

  • При использовании метода MICE заменяющее значение вычисляется с помощью обученной модели MICE.

  • Использование функции Clean Missing Data может сбросить другие типы столбцов до компонента. Если данные содержат другие типы столбцов, такие как метки, используйте параметр изменить метаданные для исправления типов столбцов.

Ограничения на использование очистки преобразований

При использовании сохраненного преобразования (на основе очистки отсутствующих данных) с новыми данными применяются следующие ограничения.

  • Сохраненное преобразование не может формировать значения индикатора, даже если этот параметр использовался в исходной операции очистки. Рассмотрите значения индикаторов, наиболее полезные при тестировании нового преобразования.

  • Преобразование не вычисляет новые значения на основе нового набора данных. Иными словами, если вы использовали для набора данных a и сформировали среднее значение 0,5, то это же значение будет применяться как среднее для замены отсутствующих значений в наборе данных b, независимо от фактических значений в наборе данных b.

  • Тип данных столбцов в новом наборе данных должен совпадать с типом данных столбцов, в которых было создано преобразование. Если для столбца, который неявно изменяет тип данных, выполняются какие-либо операции, возникает ошибка.

    Например, предположим, что вы создаете среднее для столбца целочисленных данных [col1] и сохраняете преобразование. Теперь необходимо применить преобразование «Очистка» к копии [col1], которая была скорректирована с помощью формулы, например ([col1]/1,5). Чтобы убедиться, что результатом является целое число, необходимо округлить результат, но при применении преобразования по-прежнему возникает ошибка. Однако если изменить значение с помощью формулы, например ([COL 1] * 10), ошибка не возникнет!

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

Установка и интерпретация пороговых значений

Если задать пороговое значение для операций очистки с использованием коэффициента параметров "минимальное значение недостающего значения " или " Максимальное значение недостающего значения", результаты могут быть неожиданными или запутанными. Чтобы продемонстрировать, как работают параметры для максимального и минимального количества отсутствующих значений, мы предоставили несколько примеров из примера набора данных « цены за автомобиль », который содержит много столбцов с отсутствующими значениями.

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

Предположим, что для параметра Minimum Missing value установлено значение 0,019, а для параметра максимальный отсутствующий показатель — значение 0,020. Учитывая приведенную ниже таблицу значений, некоторые столбцы соответствуют критериям порогового значения, а некоторые — нет.

  • Столбцы bore и stroke удовлетворяют критериям порога.
  • Столбцы normalized-losses и compression-ratio не соответствуют критериям порога.
Имя столбца Количество недостающих значений Коэффициент содержания недостающих значений
Нормализованные потери 41 0,2
Bore 4 0,019512195
Stroke 4 0,019512195
Коэффициент сжатия 0 0

Поскольку некоторые столбцы в выделенном фрагменте не соответствуют заданным критериям, операции очистки для какого-либо столбца не выполнялись. Чтобы понять, что произошло, модуль возвращает значение false в двух столбцах bore_IsMissing индикаторов и stroke_IsMissing .

Однако при изменении порогового значения по умолчанию на 0 для минимального соотношения значений недостающего значения и 1 для максимального коэффициента отсутствующих значенийстолбец индикатора возвращается для всех выбранных столбцов и выполняется указанная операция.

Совет

Если вы не уверены, работает ли очистка отсутствующих значений, установите флажок создать столбец индикатора отсутствующих значений .

Известные проблемы

При использовании метода мыши для очистки данных и последующей обработки набора данных, содержащего отсутствующие значения, может возникнуть следующая ошибка: "Библиотека библиотек AFx: исключение. модель не обучена. (Ошибка 1000) "

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

Ожидаемые входные данные

Имя Тип Описание
Dataset Таблица данных Набор данных для очистки

Параметры модуля

Имя Диапазон Тип По умолчанию Описание
Столбцы для очистки Любой Выбор столбцов Все Выберите столбцы для недостающих значений операции очистки.
Минимальный коэффициент содержания недостающих значений [0.0;1.0] Float 0,0 Очистить только столбец с соотношением отсутствующих значений, превышающим заданное значение, из набора всех выбранных столбцов.
Максимальный коэффициент содержания недостающих значений [0.0;1.0] Float 1,0 Очистка только столбцов с коэффициентом содержания недостающих значений менее указанного значения из набора всех выделенных столбцов.
Режим очистки Список Политика обработки Настраиваемое заменяющее значение Задайте алгоритм очистки недостающих значений.
Заменяющее значение Любой Строка "0" Введите значение, заменяющее недостающие значения.

Это необязательное значение.
Столбцы со всеми недостающими значениями Любой ColumnsWithAllValuesMissing Удалить Укажите, должны ли столбцы со всеми недостающими значениями сохраняться в выходных данных.
Создать столбец индикации недостающих значений Любой Логическое значение false Создание столбца, который указывает, какие строки были очищены.
Число итераций [1;10] Целочисленный тип 5 Укажите количество итераций при использовании метода MICE.
Количество итераций для прогноза PCA [1; 50] Целое число 10 Укажите количество итераций при использовании прогноза PCA.

Выходные данные

Имя Тип Описание
Очищенный набор данных Таблица данных Очищенный набор данных
Преобразование очистки Интерфейс ITransform Преобразование, передаваемое в модуль Применение преобразования для очистки новых данных.

Исключения

Исключение Описание
Ошибка 0002 Исключение возникает, если один или несколько параметров не удалось проанализировать или преобразовать из заданного типа в необходимый для целевого метода тип.
Ошибка 0003 Исключение возникает, если один или несколько входных наборов данных имеют значение NULL или пусты.
Ошибка 0008 Исключение возникает, если параметр находится за пределами диапазона.
Ошибка 0013 Исключение возникает при передаче в модуль неверного типа ученика.
Ошибка 0018 Исключение возникает, если входной набор данных недопустим.
Ошибка 0039 Исключение возникает, если не удалось выполнить операцию.

список ошибок, относящихся к модулям студии (классическая версия), см. в разделе Машинное обучение коды ошибок.

список исключений API см. в разделе Машинное обучение REST API коды ошибок.

См. также раздел

Оперирование
Преобразование данных
Список модулей в алфавитном порядке