Преобразования данных

Преобразования данных используются, чтобы:

  • подготовить данные для обучения модели;
  • применить импортированную модель в формате TensorFlow или ONNX;
  • обработать данных после передачи через модель.

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

Некоторым преобразованиям данных требуются данные для обучения, чтобы вычислять их параметры. Например, преобразователь NormalizeMeanVariance позволяет вычислить среднее значение и дисперсию данных для обучения при выполнении операции Fit() и использует эти параметры в операции Transform().

Другим преобразованиям данных не требуются данные для обучения. Например, преобразование ConvertToGrayscale позволяет выполнять операцию Transform() без изучения данных для обучения при выполнении операции Fit().

Сопоставление и группирование столбцов

Преобразование Определение Экспортируемый в ONNX
Concatenate Объединение одного или нескольких входных столбцов в новый выходной столбец Да
CopyColumns Копирование и переименование одного или нескольких входных столбцов Да
DropColumns Удаление одного или нескольких входных столбцов Да
SelectColumns Выбор одного или нескольких столбцов для хранения входных данных Да

Нормализация и масштабирование

Преобразование Определение Экспортируемый в ONNX
NormalizeMeanVariance Вычитание среднего значения (данные для обучения) и деление на значение дисперсии (данные для обучения) Да
NormalizeLogMeanVariance Нормализация на основе логарифма данных для обучения Да
NormalizeLpNorm Масштабирование входных векторов на основе lp-norm, где p — 1, 2 или бесконечность. Значение по умолчанию — норма l2 (Евклидово расстояние) Да
NormalizeGlobalContrast Масштабирование каждого значения в строке путем вычитания среднего значения данных в строке и деления либо на стандартное отклонение, либо на норму l2 (данных в строке) и умножения на настраиваемый коэффициент масштабирования (значение по умолчанию — 2) Да
NormalizeBinning Назначение двоичного индекса в качестве входного значения и деление на число ячеек для получения значения с плавающей запятой от 0 до 1. Границы ячеек вычисляются для равномерного распределения между ними данных для обучения Да
NormalizeSupervisedBinning Назначьте входное значение для ячейки в зависимости от корреляции со столбцом меток Да
NormalizeMinMax Масштабирование входных значений на основе разницы между минимальным и максимальным значениями в данных для обучения Да
NormalizeRobustScaling Масштабируйте каждое значение, используя статистику, устойчивую к выбросам, которая центрирует данные вокруг 0 и масштабирует данные в соответствии с диапазоном квантилей. Да

Преобразования между типами данных

Преобразование Определение Экспортируемый в ONNX
ConvertType Преобразование типа входного столбца в новый тип Да
MapValue Сопоставление значений с ключами (категориями) на основе предоставленного словаря сопоставлений No
MapValueToKey Сопоставление значений с ключами (категориями) путем создания сопоставлений на основе входных данных Да
MapKeyToValue Обратное преобразование ключей в исходное значение Да
MapKeyToVector Обратное преобразование ключей в векторы исходных значений Да
MapKeyToBinaryVector Обратное преобразование ключей в двоичный вектор исходных значений No
Hash Хэширование значения во входном столбце Да

Преобразования текста

Преобразование Определение Экспортируемый в ONNX
FeaturizeText Преобразование текстового столбца в массив float счетчиков нормализованных n-грамм и символьных n-грамм No
TokenizeIntoWords Разбиение одного или нескольких текстовых столбцов на отдельные слова Да
TokenizeIntoCharactersAsKeys Разбиение одного или нескольких текстовых столбцов на отдельные массивы float в пределах набора тем Да
NormalizeText Изменение регистра, удаление диакритических знаков, знаков препинания и цифр Да
ProduceNgrams Преобразование текстового столбца в контейнер n-грамм (ряд последовательных слов) Да
ProduceWordBags Преобразование текстового столбца в контейнер векторов n-грамм Да
ProduceHashedNgrams Преобразование текстового столбца в вектор счетчиков хэшированных n-грамм No
ProduceHashedWordBags Преобразование текстового столбца в контейнер счетчиков хэшированных n-грамм Да
RemoveDefaultStopWords Удаление стоп-слов по умолчанию для указанного языка из входных столбцов Да
RemoveStopWords Удаление указанного стоп-слова из входных столбцов Да
LatentDirichletAllocation Преобразование документа (в виде вектора значений с плавающей запятой) в вектор значений с плавающей запятой на основе набора тем Да
ApplyWordEmbedding Преобразование векторов токенов текста в векторы предложений с помощью предварительно обученной модели Да

Преобразование изображений

Преобразование Определение Экспортируемый в ONNX
ConvertToGrayscale Преобразование изображения в оттенки серого No
ConvertToImage Преобразование вектора пикселей в ImageDataViewType No
ExtractPixels Преобразование пикселей из входного изображения в вектор чисел No
LoadImages Загрузка изображений из папки в память No
LoadRawImageBytes Загружает изображения необработанных байтов в новый столбец. No
ResizeImages Изменение размеров изображений No
DnnFeaturizeImage Применяет предварительно обученную модель глубокой нейронной сети (DNN) для преобразования входного изображения в вектор признаков. No

Преобразование категориальных данных

Преобразование Определение Экспортируемый в ONNX
OneHotEncoding Преобразование одного или нескольких текстовых столбцов в векторы с использованием прямой кодировки Да
OneHotHashEncoding Преобразование одного или нескольких текстовых столбцов в векторы с использованием прямой кодировки на основе хэша No

Преобразования данных временных рядов

Преобразование Определение Экспортируемый в ONNX
DetectAnomalyBySrCnn Обнаружение аномалий во входных данных временных рядов с помощью алгоритма спектрального остатка (SR) No
DetectChangePointBySsa Обнаружение точек изменений в данных временных рядов с помощью анализа сингулярного спектра (SSA) No
DetectIidChangePoint Обнаружение точек изменения в независимых и одинаково распределенных (IID) данных временных рядов с использованием адаптивных оценок плотности ядра и показателей мартингала No
ForecastBySsa Прогнозирование данных временных рядов с помощью анализа сингулярного спектра (SSA) No
DetectSpikeBySsa Обнаружение пиков данных временных рядов с помощью анализа сингулярного спектра (SSA) No
DetectIidSpike Обнаружение пиков в независимых и одинаково распределенных (IID) данных временных рядов с использованием адаптивных оценок плотности ядра и показателей мартингала No
DetectEntireAnomalyBySrCnn Обнаружение аномалий для всех входных данных с помощью алгоритма SRCNN. No
DetectSeasonality Обнаружение сезонности с помощью анализа Фурье. No
LocalizeRootCause Локализация основной причины на основе входных данных временных рядов с помощью алгоритма дерева принятия решений. No
LocalizeRootCauses Локализация основных причин на основе входных данных рядов. No

Отсутствующие значения

Преобразование Определение Экспортируемый в ONNX
IndicateMissingValues Создание логического выходного столбца, который будет иметь значение true, если во входном столбце не указано значение Да
ReplaceMissingValues Создание выходного столбца, значение которого будет задано по умолчанию, если отсутствует значение из входного столбца. В противном случае по умолчанию будет задано значение из входного столбца. Да

выбор признаков;

Преобразование Определение Экспортируемый в ONNX
SelectFeaturesBasedOnCount Выбор признаков, у которых значения, заданные не по умолчанию, превышают порог Да
SelectFeaturesBasedOnMutualInformation Выбор признаков, от которых больше всего зависят данные в столбце метки Да

Преобразования признаков

Преобразование Определение Экспортируемый в ONNX
ApproximatedKernelMap Сопоставление каждого входного вектора с пространством признаков нижнего измерения, где внутренние продукты приближены к функции ядра, чтобы эти признаки можно было использовать в качестве входных для линейных алгоритмов. No
ProjectToPrincipalComponents Уменьшение измерений входного вектора признаков путем применения алгоритма анализа основных компонентов.

Преобразования объясняемости

Преобразование Определение Экспортируемый в ONNX
CalculateFeatureContribution Вычисление результатов вклада для каждого элемента вектора признаков No

Преобразования калибровки

Преобразование Определение Экспортируемый в ONNX
Platt(String, String, String) Преобразует необработанный показатель двоичного классификатора в вероятность класса с помощью логистической регрессии с параметрами, оцененными с помощью обучающих данных Да
Platt(Double, Double, String) Преобразует необработанный показатель двоичного классификатора в вероятность класса с помощью логистической регрессии с фиксированными параметрами Да
Naive Преобразует необработанный показатель двоичного классификатора в вероятность класса путем назначения оценки ячейкам и вычисления вероятности на основе распределения между ячейками. Да
Isotonic Преобразует необработанную оценку двоичного классификатора в вероятность класса путем назначения оценки ячейкам, где расположение границ и размер ячеек оцениваются с помощью обучающих данных. No

Преобразование глубокого обучения

Преобразование Определение Экспортируемый в ONNX
ApplyOnnxModel Преобразование входных данных в импортированную модель ONNX No
LoadTensorFlowModel Преобразование входных данных в импортированную модель TensorFlow No

Пользовательские преобразования

Преобразование Определение Экспортируемый в ONNX
FilterByCustomPredicate Удаление строк, в которых указанный предикат возвращает значение true. No
FilterByStatefulCustomPredicate Удаление строк, в которых указанный предикат возвращает значение true, но разрешает заданное состояние. No
CustomMapping Преобразование существующих столбцов в новые с помощью пользовательского сопоставления No
Expression Применение выражения для преобразования столбцов в новые. No