Нормализация компонента данных

В этой статье описывается компонент в конструкторе Машинного обучения Azure.

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

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

Например, предположим, что ваш входной набор данных содержит один столбец со значениями от 0 до 1 и другой столбец со значениями от 10 000 до 100 000. Большая разница в масштабе чисел может вызвать проблемы, когда вы попытаетесь объединить значения как функции во время моделирования.

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

Этот компонент предлагает несколько вариантов преобразования числовых данных:

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

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

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

Настройка нормализации данных

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

  1. Добавьте компонент Нормализация данных в свой конвейер. Вы можете найти компонент в Машинном обучении Azure в разделе Преобразование данных в категории Масштабирование и уменьшение.

  2. Подключите набор данных, содержащий хотя бы один столбец всех чисел.

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

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

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

    Совет

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

  4. Использовать 0 для постоянных столбцов, если этот флажок установлен: выберите этот параметр, если любой числовой столбец содержит одно неизменное значение. Это гарантирует, что такие столбцы не будут использоваться в операциях нормализации.

  5. В раскрывающемся списке Метод преобразования выберите одну математическую функцию, которая будет применяться ко всем выбранным столбцам.

    • Zscore: преобразует все значения в z-оценку.

      Значения в столбце преобразуются по следующей формуле:

      нормализация с помощью стандартизированной величины

      Среднее и стандартное отклонения вычисляются для каждого столбца отдельно. Используется стандартное отклонение совокупности.

    • MinMax: нормализатор min-max линейно изменяет масштаб каждой функции до интервала [0,1].

      Масштабирование в интервале [0,1] осуществляется путем сдвига значений каждого компонента таким образом, чтобы минимальное значение было равно 0, а затем деления на новое максимальное значение (которое представляет собой разницу между первоначальными максимальными и минимальными значениями).

      Значения в столбце преобразуются по следующей формуле:

      нормализация с помощью функции min-max

    • Логистика: значения в столбце преобразуются по следующей формуле:

      формула нормализации по логистической функции

    • LogNormal: значения в столбце преобразуются по следующей формуле.

      Значения в столбце преобразуются по следующей формуле:

      логнормальноеAML_normalization

      Здесь μ и σ — параметры распределения, вычисленные эмпирически на основе данных как оценки максимального правдоподобия для каждого столбца отдельно.

    • TanH: все значения преобразуются в гиперболический тангенс.

      Значения в столбце преобразуются по следующей формуле:

      нормализация с помощью функции tanh

  6. Отправьте конвейер или дважды щелкните компонент Нормализовать данные и выберите Выполнить выбранное.

Результаты

Компонент Нормализации данных генерирует два вывода:

  • Чтобы просмотреть преобразованные значения, щелкните компонент правой кнопкой мыши и выберите Визуализировать.

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

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

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

Дальнейшие действия

Ознакомьтесь с набором доступных компонентов для Машинного обучения Azure.