NormalizingEstimator Класс

Определение

public sealed class NormalizingEstimator : Microsoft.ML.IEstimator<Microsoft.ML.Transforms.NormalizingTransformer>
type NormalizingEstimator = class
    interface IEstimator<NormalizingTransformer>
Public NotInheritable Class NormalizingEstimator
Implements IEstimator(Of NormalizingTransformer)
Наследование
NormalizingEstimator
Реализации

Комментарии

Характеристики оценщика

Нужно ли этому оценщику просмотреть данные для обучения параметров? Да
Тип данных входного столбца Single или Double известный вектор размера этих типов.
Тип данных выходного столбца Тот же тип данных, что и входной столбец
Экспортируемый в ONNX Да

Результирующий оценщик нормализации нормализует данные одним из следующих способов в зависимости от того, как он был создан:

  • Min Max — линейное масштабирование, основанное на минимальных и максимальных значениях для каждой строки.
  • Среднее отклонение — перемасштабирование каждой строки до дисперсии единиц и, при необходимости, нулевое среднее значение.
  • Среднее отклонение журнала — повторное масштабирование каждой строки до дисперсии единиц, при необходимости нулевое среднее значение на основе вычислений в масштабе журнала.
  • Binning — сегментирует данные в каждой строке и выполняет линейное масштабирование на основе вычисляемых ячеек.
  • Контролируемое биннирование — сегментирование данных в каждой строке и выполнение линейного масштабирования на основе вычисляемых ячеек. Вычисление ячейки основано на корреляции столбца Label.
  • Надежное масштабирование . При необходимости центрирует данные и масштабы на основе диапазона данных и квантильного минимального и максимального значений. Этот метод более надежный для выбросов.

Сведения о оценщике

Интервал нормализованных данных зависит от того, задано ли исправлениеZero. fixZero по умолчанию имеет значение true. Если значение fixZero равно false, нормализованный интервал составляет $[0,1]$, а распределение нормализованных значений зависит от режима нормализации. Например, при значении Min Max минимальное и максимальное значения сопоставляются с 0 и 1 соответственно, а остальные значения находятся между ними. При установке fixZero нормализованный интервал составляет $[-1,1]$ с распределением нормализованных значений в зависимости от режима нормализации, но поведение отличается. При значении Min Max распределение зависит от того, насколько далеко число от 0, что приводит к числу с наибольшим расстоянием, сопоставленным с 1, если это положительное число или -1, если это отрицательное число. Расстояние от 0 повлияет на распределение с большинством чисел, которые ближе друг к другу нормализуются в сторону 0. Надежное масштабирование не использует fixZero, и его значения не ограничены $[0,1]$ или $[-1,1]$. Его масштабирование основано на диапазоне данных и квантильном минимальном и максимальном значении.

Уравнение для выходных данных $y$ применения среднего дисперсии и среднего отклонения журнала для входных $x$ без использования параметра CDF: $y = (x - \text{offset}) \text{scale}$. Где смещение и масштабирование вычисляются во время обучения.

Используйте параметр CDF: $y = 0,5 * (1 + \text{ERF}((x - \text{mean}) / (\text{стандартное отклонение} * sqrt(2)))$. Где ERF — это функция ошибок , используемая для приближения CDF случайной переменной, предполагаемой обычно распределенной. Среднее и стандартное отклонение вычисляются во время обучения.

Чтобы создать этот оценщик, используйте один из следующих способов:

Ознакомьтесь с приведенными выше ссылками, чтобы ознакомиться с примерами использования.

Методы

Fit(IDataView)

Поезда и возвращается NormalizingTransformer.

GetOutputSchema(SchemaShape)

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

Методы расширения

AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment)

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

WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>)

Учитывая оценщик, возвращает объект-оболочку, который будет вызывать делегат один раз Fit(IDataView) . Часто важно, чтобы оценщик возвращал сведения о том, что было в форме, поэтому Fit(IDataView) метод возвращает специально типизированный объект, а не просто общий ITransformer. Однако, в то же время, IEstimator<TTransformer> часто формируются в конвейеры со многими объектами, поэтому нам может потребоваться построить цепочку оценщиков, где EstimatorChain<TLastTransformer> оценщик, для которого мы хотим получить преобразователь, похоронен где-то в этой цепочке. В этом сценарии мы можем подключить делегат, который будет вызываться после вызова соответствия.

Применяется к