Применение математической операции
В этой статье описывается компонент конструктора Машинного обучения Azure.
Модуль "Применение математической операции" позволяет создавать вычисления, применяемые к числовым столбцам входного набора данных.
Математические операции включают в себя арифметические функции, тригонометрические функции, функции округления и специальные функции, используемые в обработке и анализе данных, например в гамма-функциях и функциях обработки ошибок.
После определения операции и запуска конвейера значения добавляются в набор данных. В зависимости от настройки компонента можно:
- присоединить результаты к набору данных (полезно при проверке результата операции);
- заменить значения столбцов новыми, вычисленными значениями;
- создать новый столбец для результатов без отображения исходных данных.
Найдите необходимую операцию в следующих категориях:
-
Функции из категории Базовые можно использовать для управления одним значением или столбцом значений. Например, можно получить абсолютное значение всех чисел в столбце или вычислить квадратный корень каждого значения в столбце.
-
Функции из категории Сравнение используются для сравнения: можно выполнить попарное сравнение значений в двух столбцах или сравнить каждое значение в столбце с заданной константой. Например, можно сравнить столбцы, чтобы определить, совпадают ли значения в двух наборах данных. Или же для поиска выбросов в числовом столбце можно использовать константу, например максимальное допустимое значение.
-
Категория Операции включает основные математические функции: сложение, вычитание, умножение и деление. Можно работать с любыми столбцами или константами. Например, можно добавить значение столбца A к значению столбца B. Или можно вычесть константу, например ранее вычисленное среднее значение, из каждого значения в столбце A.
-
Категория Округление включает различные функции для выполнения таких операций, как обычное округление, округление до верхней или нижней границы и усечение до различных уровней точности. Можно указать уровень точности как для десятичных, так и для целых чисел.
-
Категория Специальные содержит математические функции, которые особенно используются в обработке и анализе данных, такие как эллиптические интегралы и функция обработки ошибок по Гауссу.
-
Категория Тригонометрические включает в себя все стандартные тригонометрические функции. Например, можно преобразовывать радианы в градусы или вычислять такие функции, как тангенс, в радианах или градусах. Эти функции являются унарными, то есть принимают один столбец значений в качестве входных данных, применяют тригонометрическую функцию и возвращают столбец значений в качестве результата. Убедитесь, что входной столбец имеет соответствующий тип и содержит значения подходящего типа для указанной операции.
Настройка модуля "Применение математической операции"
Компоненту Применение математической операции требуется набор данных, в котором имеется хотя бы один столбец, содержащий только цифры. Числа могут быть дискретными или непрерывными, но должны иметь числовой тип данных, а не тип строки.
Одну и ту же операцию можно применить к нескольким числовым столбцам, но все столбцы должны находиться в одном наборе данных.
Каждый экземпляр этого компонента может выполнять только один тип операции за один раз. Для выполнения сложных математических операций может потребоваться объединить несколько экземпляров компонента Применение математической операции в цепочку.
Добавьте компонент Применение математической операции в конвейер.
Подключите набор данных, содержащий хотя бы один числовой столбец.
Выберите один или несколько исходных столбцов, над которыми необходимо выполнить вычисление.
- Любой выбранный столбец должен иметь числовой тип данных.
- Диапазон данных должен быть допустимым для выбранной математической операции. В противном случае может возникнуть ошибка или результат NaN (не число). Например, Ln(-1.0) является недопустимой операцией и приводит к значению
NaN
.
Выберите категорию, чтобы выбрать тип выполняемой математической операции.
Выберите конкретную операцию из списка в этой категории.
Задайте дополнительные параметры, необходимые для каждого типа операций.
С помощью параметра Режим вывода укажите, как будет создана математическая операция:
- Append. Все столбцы, используемые как входные данные, включаются в выходной набор данных, а также добавляется один дополнительный столбец, содержащий результаты математической операции.
- Inplace (замещение). Значения в столбцах, используемых в качестве входных данных, заменяются новыми вычисляемыми значениями.
- ResultOnly (только результат). Возвращается один столбец, содержащий результаты математической операции.
Отправьте конвейер.
Результаты
При формировании результатов с помощью параметров Append или ResultOnly заголовки столбцов возвращаемого набора данных указывают на операцию и столбцы, которые были использованы. Например, если сравнить два столбца с помощью оператора Equals, результаты будут выглядеть следующим образом:
- Equals(Col2_Col1) указывает на то, что выполнялось сравнение значения Col2 с Col1.
- Equals (Col2_ $10) указывает, что столбец 2 сравнивался с константой 10.
Даже при использовании параметра Inplace исходные данные не удаляются и не изменяются; столбец в исходном наборе данных по-прежнему доступен в конструкторе. Чтобы просмотреть исходные данные, можно подключить компонент Добавление столбцов и присоединить его к выходным данным компонента Применение математической операции.
Базовые математические операции.
Функции категории Базовые обычно принимают одно значение из столбца, выполняют предопределенную операцию и возвращают одно значение. Для некоторых функций можно указать константу или набор столбцов в качестве второго аргумента.
Машинное обучение Azure поддерживает следующие функции в категории Базовые:
Abs
Возвращает абсолютное значение выбранных столбцов.
Atan2
Возвращает четырехквадрантный инверсный тангенс.
Выберите столбцы, содержащие координаты точек. Для второго аргумента, который соответствует координате x, можно также указать константу.
Соответствует функции ATAN2 в MATLAB.
Кондж
Возвращает сопряжение для значений в выбранном столбце.
CubeRoot
Вычисляет кубический корень для значений в выбранном столбце.
DoubleFactorial
Вычисляет двойной факториал для значений в выбранном столбце. Двойной факториал является расширением обычной факториальной функции, и она обозначается как x!!
.
Eps
Возвращает размер интервала между текущим значением и следующим числом двойной точности. Соответствует функции EPS в MATLAB.
Exp
Возвращает значение e, возведенное в степень значения выбранного столбца. Эта функция аналогична функции Excel EXP.
Exp2
Возвращает экспоненту по основанию 2 для аргументов по формуле y = x * 2t, где t — столбец значений, содержащих экспоненты.
В поле Набор столбцов выберите столбец, содержащий значения экспоненты t.
В поле Exp2 можно указать второй аргумент x, который может быть либо константой, либо другим столбцом значений. В поле Тип второго аргумента укажите, будет ли указан множитель x в качестве константы или значения столбца.
Например, если выбрать столбец со значениями {0,1,2,3,4,5} в качестве как множителя, так и экспоненты, функция вернет {0, 2, 8, 24, 64, 160).
ExpMinus1
Возвращает отрицательную экспоненту для значений в выбранном столбце.
Факториал
Возвращает факториал для значений в выбранном столбце.
Гипотенуза
Вычисляет гипотенузу для треугольника, в котором длина одной стороны задается в виде столбца значений, а длина второй стороны указывается либо как константа, либо как два столбца.
Ln
Возвращает натуральный логарифм для значений в выбранном столбце.
LnPlus1
Возвращает натуральный логарифм плюс единицу для значений в выбранном столбце.
Журнал
Возвращает журнал значений в выбранном столбце, учитывая указанную базу.
Можно указать основание (второй аргумент) либо как константу, либо выбрав другой столбец значений.
Log10
Возвращает значения логарифма по основанию 10 для выбранного столбца.
Log2
Возвращает значения логарифма по основанию 2 для выбранного столбца.
NthRoot
Извлекает корень n-й степени из значения, используя в качестве n указанное вами число.
Выберите столбцы, для которых требуется вычислить корень, с помощью параметра ColumnSet.
В поле Тип второго аргумента укажите другой столбец, содержащий корень, или константу, которая будет использоваться в качестве корня.
Если второй аргумент представляет собой столбец, каждое значение в этом столбце используется как значение n для соответствующей строки. Если второй аргумент — константа, введите значение n в текстовом поле Второй аргумент.
Pow
Вычисляет значение X, возведенное в степень Y для каждого из значений в выбранном столбце.
Сначала выберите столбцы, содержащие основание (число с плавающей запятой), с помощью параметра ColumnSet.
В поле Тип второго аргумента укажите столбец, содержащий показатель степени, или константу, которая будет использоваться в качестве показателя.
Если второй аргумент является столбцом, каждое значение в столбце используется в качестве экспонента для соответствующей строки. Если в качестве типа второго аргумента выбрана константа, введите значение для показателя степени в текстовом поле Второй аргумент.
Sqrt
Возвращает квадратный корень значений в выбранном столбце.
SqrtPi
Для каждого значения в выбранном столбце умножает значение на число пи, а затем возвращает квадратный корень результата.
Square
Возводит значения в выбранном столбце в квадрат.
Операции сравнения
Функции сравнения в конструкторе Машинного обучения Azure можно использовать всякий раз, когда необходимо проверить два набора значений по отношению друг к другу. Например, в конвейере может потребоваться выполнить следующие операции сравнения.
- Оценить столбец модели показателей вероятности по пороговому значению.
- Определить, совпадают ли два набора результатов. Для каждой отличающейся строки добавить флаг FALSE, который можно использовать для дальнейшей обработки или фильтрации.
EqualTo
Возвращает значение True, если значения одинаковы.
GreaterThan
Возвращает значение True, если значения в наборе столбцов больше указанной константы или больше соответствующих значений в столбце сравнения.
GreaterThanOrEqualTo
Возвращает значение True, если значения в наборе столбцов больше или равны указанной константе, или же больше или равны соответствующим значениям в столбце сравнения.
LessThan;
Возвращает значение True, если значения в наборе столбцов меньше указанной константы или меньше соответствующих значений в столбце сравнения.
LessThanOrEqualTo
Возвращает значение True, если значения в наборе столбцов меньше или равны указанной константе, или же меньше или равны соответствующим значениям в столбце сравнения.
NotEqualTo
Возвращает значение True, если значения в наборе столбцов не равны константе или столбцу сравнения, и возвращает значение False, если они равны.
PairMax
Возвращает значение, которое больше — значение в наборе столбцов или значении в столбце константы или сравнения.
PairMin
Возвращает меньшее значение: значение в наборе столбцов или значение константы либо столбца сравнения.
Арифметические операции
Включает базовые арифметические операции: сложение и вычитание, деление и умножение. Большинство операций являются бинарными, которым требуются два числа, поэтому сначала следует выбрать операцию, а затем столбец или числа, которые будут использоваться в первом и втором аргументах.
Ниже приведен порядок деления и вычитания:
- Subtract(Arg1_Arg2) = Arg1 - Arg 2
- Divide(Arg1_Arg2) = Arg1 / Arg 2
В следующей таблице приведено несколько примеров.
Операция | Num1 | Num2 | Столбец результатов | Значение результата |
---|---|---|---|---|
Дополнение | 1 | 5 | Add(Num2_Num1) | 6 |
Умножение | 1 | 5 | Multiple(Num2_Num1) | 5 |
Вычитание | 5 | 1 | Subtract(Num2_Num1) | 4 |
Вычитание | 0 | 1 | Subtract(Num2_Num1) | -1 |
Подразделение | 5 | 1 | Divide(Num2_Num1) | 5 |
Подразделение | 1 | 0 | Divide(Num2_Num1) | Infinity |
Добавить
Укажите исходные столбцы в поле Набор столбцов, а затем добавьте к этим значениям число, указанное в поле Второй аргумент.
Чтобы сложить значения двух столбцов, выберите столбец или столбцы в поле Набор столбцов, а затем выберите второй столбец в поле Второй аргумент.
Разделить
Делит значения в поле Набор столбцов на константу или на значения столбца, заданного в поле Второй аргумент. Иными словами, сначала нужно выбрать делитель, а затем делимое. Выходное значение является частным.
Умножение
Умножает значения в столбце, заданные указанными константами или значениями столбца.
Вычитание
Укажите столбец значений, над которыми следует выполнить операцию (уменьшаемое), выбрав другой столбец с помощью параметра Набор столбцов. Затем укажите число для вычитания (вычитаемое) с помощью раскрывающегося списка Второй аргумент. Можно выбрать либо константу, либо столбец значений.
Операции округления
Конструктор Машинного обучения Azure поддерживает различные операции округления. Для многих операций необходимо указать степень точности, используемую при округлении. Можно использовать статический уровень точности, заданный в виде константы, или применить динамическое значение точности, полученное из столбца значений.
При использовании константы задайте Тип точности Константа, а затем введите количество цифр в виде целого числа в текстовом поле Точность константы. Если ввести дробное число, компонент не выдаст ошибку, но результаты могут быть неожиданными.
Чтобы использовать другое значение точности для каждой строки в наборе данных, установите Тип точности ColumnSet, а затем выберите столбец, содержащий соответствующие значения точности.
Ceiling
Возвращает потолок значений в наборе столбцов.
CeilingPower2
Возвращает квадратный потолок для значений в наборе столбцов.
Этаж
Возвращает пол для значений в наборе столбцов до указанной точности.
Mod
Возвращает дробную часть значений в наборе столбцов до указанной точности.
Знаменатель
Возвращает дробную часть значений в наборе столбцов до указанной точности.
Остаток
Возвращает оставшуюся часть значений в наборе столбцов.
RoundDigits
Возвращает значения в наборе столбцов, округляя правилом 4/5 до указанного числа цифр.
RoundDown
Возвращает значения в наборе столбцов, округляя до указанного числа цифр.
RoundUp
Возвращает значения в наборе столбцов, округляя до указанного числа цифр.
ToEven
Возвращает значения в наборе столбцов, округленные до ближайшего целого, четного числа.
ToOdd
Возвращает значения в наборе столбцов, округленные до ближайшего целого, нечетного числа.
Truncate
Усечение значений в столбце путем удаления всех цифр, которые не разрешены указанной точностью.
Специальные математические функции
В эту категорию входят специализированные математические функции, часто используемые в обработке и анализе данных. Если не указано иное, функция является унарной и возвращает заданное вычисление для каждого значения в выбранном столбце или столбцах.
Бета-версия
Возвращает значение бета-функции Эйлера.
EllipticIntegralE
Возвращает значение неполного эллиптического интеграла.
EllipticIntegralK
Возвращает значение полного многоточия (K).
Эрф
Возвращает значение функции ошибки.
Функция ошибки (также называемая функцией ошибки Gauss) — это специальная функция сигмоидной фигуры, которая используется в вероятности для описания диффузии.
Эрфец
Возвращает значение дополнительной функции ошибки.
Erfc
определено как 1 – erf(x).
ErfScaled
Возвращает значение масштабируемой функции ошибки.
Масштабируемую версию функции ошибки можно использовать для предотвращения арифметического переполнения.
ЭрфInverse
Возвращает значение обратной функции erf
.
ExponentialIntegralEin
Возвращает значение интеграла показательной функции Ei.
Гамма
Возвращает значение гамма-функции.
ГаммаЛн
Возвращает естественный логарифм гамма-функции.
ГаммаРегуляризованнаяP
Возвращает значение регулярной неполной гамма-функции.
Эта функция принимает второй аргумент, который можно указать как константу или столбец значений.
ГаммаРегуляризованнаяPInverse
Возвращает значение обратной регулярной неполной гамма-функции.
Эта функция принимает второй аргумент, который можно указать как константу или столбец значений.
ГаммаРегуляризованныйQ
Возвращает значение регулярной неполной гамма-функции.
Эта функция принимает второй аргумент, который можно указать как константу или столбец значений.
GammaRegularizedQInverse
Возвращает значение обратной обобщенной регулярной неполной гамма-функции.
Эта функция принимает второй аргумент, который можно указать как константу или столбец значений.
PolyGamma
Возвращает значение функции polygamma.
Эта функция принимает второй аргумент, который можно указать как константу или столбец значений.
Тригонометрические функции
Эта категория включает в себя большинство тригонометрических и обратных тригонометрических функций. Все тригонометрические функции являются унарными и не требуют дополнительных аргументов.
Acos
Вычисляет арккосинус значений столбца.
AcosDegree
Вычисляет арккосинус значений столбца в градусах.
Acosh
Вычисляет гиперболический арккосинус значений столбца.
Acot
Вычисляет арккотангенс значений столбца.
AcotDegrees
Вычисляет арккотангенс значений столбца в градусах.
Acoth
Вычисляет гиперболический арккотангенс значений столбца.
Acsc
Вычисляет арккосеканс значений столбца.
AcscDegrees
Вычисляет арккосеканс значений столбца в градусах.
Asec
Вычисляет арксеканс значений столбца.
AsecDegrees
Вычисляет арксеканс значений столбца в градусах.
Асех
Вычисляет гиперболический арксеканс значений столбца.
Asin
Вычисляет арксинус значений столбца.
AsinDegrees
Вычисляет арксинус значений столбца в градусах.
Asinh
Вычисляет гиперболический арксинус значений столбца.
Atan
Вычисляет арктангенс значений столбца.
AtanDegrees
Вычисляет арктангенс значений столбца в градусах.
Атанх
Вычисляет гиперболический арктангенс значений столбца.
Cos
Вычисляет косинус значений столбца.
CosDegrees
Вычисляет косинус значений столбца в градусах.
Cosh
Вычисляет гиперболический косинус значений столбца.
Cot
Вычисляет котангенс значений столбца.
CotDegrees
Вычисляет котангенс значений столбца в градусах.
Coth
Вычисляет гиперболический котангенс значений столбца.
Csc
Вычисляет косеканс значений столбца.
CscDegrees
Вычисляет косеканс значений столбца в градусах.
Csch
Вычисляет гиперболический косеканс значений столбца.
DegreesToRadians
Преобразует градусы в радианы.
Сек
Вычисляет секанс значений столбца.
aSecDegrees
Вычисляет секанс значений столбца в градусах.
aSech
Вычисляет гиперболический секанс значений столбца.
Подписание
Возвращает знак значений столбца.
Sin
Вычисляет синус значений столбца.
Синк
Вычисляет значение синус-косинус для значений столбца.
SinDegrees
Вычисляет синус значений столбца в градусах.
Sinh
Вычисляет гиперболический синус значений столбца.
Tan
Вычисляет тангенс значений столбца.
TanDegrees
Вычисляет тангенс аргумента в градусах.
Tanh
Вычисляет гиперболический тангенс значений столбца.
Технические примечания
Будьте внимательны при выборе в качестве второго оператора более чем одного столбца. Результаты легко понять, если операция проста, например, добавление константы ко всем столбцам.
Предположим, что набор данных содержит несколько столбцов, и вы добавляете набор данных к самому себе. В результатах каждый столбец добавляется к самому себе следующим образом:
Num1 | Num2 | Num3 | Add(Num1_Num1) | Add(Num2_Num2) | Add(Num3_Num3) |
---|---|---|---|---|---|
1 | 5 | 2 | 2 | 10 | 4 |
2 | 3 | -1 | 4 | 6 | -2 |
0 | 1 | -1 | 0 | 2 | -2 |
Если необходимо выполнить более сложные вычисления, можно объединить в цепочку несколько экземпляров модуля Применение математической операции. Например, можно добавить два столбца с помощью одного экземпляра операции применения математических операций, а затем использовать другой экземпляр операции Apply Math, чтобы разделить сумму на константу, чтобы получить среднее значение.
Кроме того, можно использовать один из следующих компонентов для выполнения всех вычислений одновременно с помощью сценария SQL, R или Python:
Следующие шаги
Ознакомьтесь с набором доступных компонентов для машинного обучения Azure.