Преобразования данных используются, чтобы:
- Подготовка данных для обучения модели.
- Примените импортированную модель в формате 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 |
Сопоставление значений с ключами (категориями) на основе предоставленного словаря сопоставлений |
нет |
MapValueToKey |
Сопоставление значений с ключами (категориями) путем создания сопоставлений на основе входных данных |
Да |
MapKeyToValue |
Обратное преобразование ключей в исходное значение |
Да |
MapKeyToVector |
Обратное преобразование ключей в векторы исходных значений |
Да |
MapKeyToBinaryVector |
Обратное преобразование ключей в двоичный вектор исходных значений |
нет |
Hash |
Хэширование значения во входном столбце |
Да |
Преобразования текста
Преобразование |
Определение |
Экспортируемый в ONNX |
FeaturizeText |
Преобразование текстового столбца в массив float счетчиков нормализованных n-грамм и символьных n-грамм |
нет |
TokenizeIntoWords |
Разбиение одного или нескольких текстовых столбцов на отдельные слова |
Да |
TokenizeIntoCharactersAsKeys |
Разбиение одного или нескольких текстовых столбцов на отдельные массивы float в пределах набора тем |
Да |
NormalizeText |
Изменение регистра, удаление диакритических знаков, знаков препинания и цифр |
Да |
ProduceNgrams |
Преобразование текстового столбца в контейнер n-грамм (ряд последовательных слов) |
Да |
ProduceWordBags |
Преобразование текстового столбца в контейнер векторов n-грамм |
Да |
ProduceHashedNgrams |
Преобразование текстового столбца в вектор счетчиков хэшированных n-грамм |
нет |
ProduceHashedWordBags |
Преобразование текстового столбца в контейнер счетчиков хэшированных n-грамм |
Да |
RemoveDefaultStopWords |
Удаление стоп-слов по умолчанию для указанного языка из входных столбцов |
Да |
RemoveStopWords |
Удаление указанного стоп-слова из входных столбцов |
Да |
LatentDirichletAllocation |
Преобразование документа (в виде вектора значений с плавающей запятой) в вектор значений с плавающей запятой на основе набора тем |
Да |
ApplyWordEmbedding |
Преобразование векторов текстовых маркеров в векторы предложений с помощью предварительно обученной модели |
Да |
Преобразование |
Определение |
Экспортируемый в ONNX |
ConvertToGrayscale |
Преобразование изображения в оттенки серого |
нет |
ConvertToImage |
Преобразование вектора пикселей в ImageDataViewType |
нет |
ExtractPixels |
Преобразование пикселей из входного изображения в вектор чисел |
нет |
LoadImages |
Загрузка изображений из папки в память |
нет |
LoadRawImageBytes |
Загружает изображения необработанных байтов в новый столбец. |
нет |
ResizeImages |
Изменение размеров изображений |
нет |
DnnFeaturizeImage |
Применяет предварительно обученную модель глубокой нейронной сети (DNN) для преобразования входного изображения в вектор признаков |
нет |
Преобразование |
Определение |
Экспортируемый в ONNX |
OneHotEncoding |
Преобразование одного или нескольких текстовых столбцов в векторы с использованием прямой кодировки |
Да |
OneHotHashEncoding |
Преобразование одного или нескольких текстовых столбцов в векторы с использованием прямой кодировки на основе хэша |
нет |
Преобразование |
Определение |
Экспортируемый в ONNX |
DetectAnomalyBySrCnn |
Обнаружение аномалий во входных данных временных рядов с помощью алгоритма спектрального остатка (SR) |
нет |
DetectChangePointBySsa |
Обнаружение точек изменений в данных временных рядов с помощью анализа сингулярного спектра (SSA) |
нет |
DetectIidChangePoint |
Обнаружение точек изменения в независимых и одинаково распределенных (IID) данных временных рядов с использованием адаптивных оценок плотности ядра и показателей мартингала |
нет |
ForecastBySsa |
Прогнозирование данных временных рядов с помощью анализа сингулярного спектра (SSA) |
нет |
DetectSpikeBySsa |
Обнаружение пиков данных временных рядов с помощью анализа сингулярного спектра (SSA) |
нет |
DetectIidSpike |
Обнаружение пиков в независимых и одинаково распределенных (IID) данных временных рядов с использованием адаптивных оценок плотности ядра и показателей мартингала |
нет |
DetectEntireAnomalyBySrCnn |
Обнаружение аномалий для всех входных данных с помощью алгоритма SRCNN. |
нет |
DetectSeasonality |
Обнаружение сезонности с помощью анализа Фурье. |
нет |
LocalizeRootCause |
Локализация основной причины на основе входных данных временных рядов с помощью алгоритма дерева принятия решений. |
нет |
LocalizeRootCauses |
Локализация основных причин на основе входных данных рядов. |
нет |
Отсутствующие значения
Преобразование |
Определение |
Экспортируемый в ONNX |
IndicateMissingValues |
Создание логического выходного столбца, который будет иметь значение true, если во входном столбце не указано значение |
Да |
ReplaceMissingValues |
Создание выходного столбца, значение которого будет задано по умолчанию, если отсутствует значение из входного столбца. В противном случае по умолчанию будет задано значение из входного столбца. |
Да |
выбор признаков;
Преобразование |
Определение |
Экспортируемый в ONNX |
ApproximatedKernelMap |
Сопоставление каждого входного вектора с пространством признаков нижнего измерения, где внутренние продукты приближены к функции ядра, чтобы эти признаки можно было использовать в качестве входных для линейных алгоритмов. |
нет |
ProjectToPrincipalComponents |
Уменьшение измерений входного вектора признаков путем применения алгоритма анализа основных компонентов. |
|
Преобразование |
Определение |
Экспортируемый в ONNX |
CalculateFeatureContribution |
Вычисление результатов вклада для каждого элемента вектора признаков |
нет |
Преобразование |
Определение |
Экспортируемый в ONNX |
Platt(String, String, String) |
Преобразует необработанный показатель двоичного классификатора в вероятность класса с помощью логистической регрессии с параметрами, оцененными с помощью обучающих данных |
Да |
Platt(Double, Double, String) |
Преобразует необработанный показатель двоичного классификатора в вероятность класса с помощью логистической регрессии с фиксированными параметрами |
Да |
Naive |
Преобразует необработанный показатель двоичного классификатора в вероятность класса путем назначения оценки ячейкам и вычисления вероятности на основе распределения между ячейками. |
Да |
Isotonic |
Преобразует необработанную оценку двоичного классификатора в вероятность класса путем назначения оценки ячейкам, где расположение границ и размер ячеек оцениваются с помощью обучающих данных. |
нет |
Преобразование |
Определение |
Экспортируемый в ONNX |
ApplyOnnxModel |
Преобразование входных данных в импортированную модель ONNX |
нет |
LoadTensorFlowModel |
Преобразование входных данных в импортированную модель TensorFlow |
нет |
Преобразование |
Определение |
Экспортируемый в ONNX |
FilterByCustomPredicate |
Удаление строк, в которых указанный предикат возвращает значение true. |
нет |
FilterByStatefulCustomPredicate |
Удаление строк, в которых указанный предикат возвращает значение true, но разрешает заданное состояние. |
нет |
CustomMapping |
Преобразование существующих столбцов в новые с помощью пользовательского сопоставления |
нет |
Expression |
Применение выражения для преобразования столбцов в новые. |
нет |